Varnish plugin: Added missing comments
Varnish plugin: Added backend monitoring
Varnish plugin: Add a new plugin for reading values from Varnish, a web proxy server.
Hi list,
I created a new plugin to monitor a Varnish [1] instance.
So far the plugin monitor statistics about cache (hit/misses) and
connections but could monitor more in the future.
The patch is attached to this message, it has been generated against
the master branch of my local collectd copy.
Any feedback welcome
Have a nice day :)
Best Regards
1. http://varnish-software.com/
--
Jérôme
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Hi list,
I created a new plugin to monitor a Varnish [1] instance.
So far the plugin monitor statistics about cache (hit/misses) and
connections but could monitor more in the future.
The patch is attached to this message, it has been generated against
the master branch of my local collectd copy.
Any feedback welcome
Have a nice day :)
Best Regards
1. http://varnish-software.com/
--
Jérôme
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
collectd.conf(5): Minor markup cleanup.
libvirt plugin: Use "sfree" rather than "free".
libvirt plugin: Don't copy a string if it is not necessary.
Add InterfaceFormat setting to libvirt plugin
Since the interface path changes between reboots of a
virtual machine, each reboot generates a new instance in collectd.
So let's introduce the InterfaceFormat setting
When set to 'address' it uses the mac address of
the interface instead of the path.
Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Since the interface path changes between reboots of a
virtual machine, each reboot generates a new instance in collectd.
So let's introduce the InterfaceFormat setting
When set to 'address' it uses the mac address of
the interface instead of the path.
Signed-off-by: Ruben Kerkhof <ruben@rubenkerkhof.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
swap plugin: Add a missing "free" in an error case.
Also fixes a minor format string problem.
Also fixes a minor format string problem.
Add support for Solaris/HP-UX versions of swapctl in swap plugin
This patch adds support for the Solaris/HP-UX version of swapctl(),
which takes two arguments instead of three in the BSD version.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This patch adds support for the Solaris/HP-UX version of swapctl(),
which takes two arguments instead of three in the BSD version.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Check for different versions of swapctl() in configure.in
The swapctl() function comes in two flavors. Depending on the OS,
it can take two or three arguments with the following prototypes:
swapctl (int cmd, void *arg, int misc); (BSD version)
or
swapctl (int cmd, void *arg); (HP-UX or Solaris version)
This patch adds support for detecting the right version of swapctl()
at configure time.
In addition to HAVE_SWAPCTL, HAVE_SWAPCTL_TWO_ARGS and/or
HAVE_SWAPCTL_THREE_ARGS are defined to reflect the result of the
check.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The swapctl() function comes in two flavors. Depending on the OS,
it can take two or three arguments with the following prototypes:
swapctl (int cmd, void *arg, int misc); (BSD version)
or
swapctl (int cmd, void *arg); (HP-UX or Solaris version)
This patch adds support for detecting the right version of swapctl()
at configure time.
In addition to HAVE_SWAPCTL, HAVE_SWAPCTL_TWO_ARGS and/or
HAVE_SWAPCTL_THREE_ARGS are defined to reflect the result of the
check.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.10'
src/Makefile.am: Fix building / packaging without the Pinba plugin.
Getting the dependency right on generated sources wasn't quite as easy as I
hoped.
Getting the dependency right on generated sources wasn't quite as easy as I
hoped.
collectd-python(5): Fix POD syntax error.
Merge branch 'collectd-4.10'
rrdtool plugin: Degrade a less than helpful warning to a debug message.
python plugin: Disable strict aliasing.
"Py_True" and "Py_False" have some weird implementation that GCC can't cope
with. Disable strict aliasing (and warnings relating to it) in order to avoid
those problems at the cost of optimization.
"Py_True" and "Py_False" have some weird implementation that GCC can't cope
with. Disable strict aliasing (and warnings relating to it) in order to avoid
those problems at the cost of optimization.
python plugin: Remove "const" of usage strings.
The struct member isn't const, resulting in a warning.
The struct member isn't const, resulting in a warning.
df plugin: Make the "ReportReserved" behavior the default behavior.
The "v5upgrade" target has been updated, too.
The "v5upgrade" target has been updated, too.
interface plugin: Set the plugin instance rather than the type instance.
This has been a long standing annoyance.
This has been a long standing annoyance.
v5upgrade target: This new target can be used to fix some "legacy" identifiers …
… on the fly. Just put it into the pre-cache chain to fix up some of the
most common changes from 4.* to 5.*. This hopefully makes migration
easier.
… on the fly. Just put it into the pre-cache chain to fix up some of the
most common changes from 4.* to 5.*. This hopefully makes migration
easier.
FQDNLookup: Enable this option by default.
ChangeLog: Add attribution for the Pinba plugin.
src/Makefile.am: Fix build-dependencies for the pinba plugin.
Using BUILT_SOURCES, pinba.pb-c.[ch] are built *before* the regular
build step.
Using BUILT_SOURCES, pinba.pb-c.[ch] are built *before* the regular
build step.
version-gen.sh: Bump version to 4.10.0.
Merge remote branch 'powdahound/master'
Merge branch 'collectd-4.9'
Merge branch 'collectd-4.8' into collectd-4.9
ChangeLog: Add the pinba plugin.
README: Added the pinba plugin and its dependency.
AUTHORS: Added "Phoenix Kayo".
Merge branch 'ka/pinba'
ChangeLog: Updated for version 4.10.0.
routeros plugin: Removed some "FIXME"s that no longer need fixing.
rrdcached.c needs to include rrd.h
Build system: Check for "strtok_r" availability with "-Wall -Werror" when using GCC.
Previously, the check was done without "-Werror" which resulted in a
warning and success. When the daemon was later built with "-Werror" set,
that warning would result in an error and abort the build.
Thanks to Aurélien Reynaud for reporting the problem.
Previously, the check was done without "-Werror" which resulted in a
warning and success. When the daemon was later built with "-Werror" set,
that warning would result in an error and abort the build.
Thanks to Aurélien Reynaud for reporting the problem.
Merge branch 'collectd-4.9'
Conflicts:
configure.in
Conflicts:
configure.in
Merge branch 'collectd-4.8' into collectd-4.9
configure.in: Put conditionals around <inttypes.h>, too, for consistency's sake.
Solaris 8 fixes: Check for <stdint.h> before inclusion.
Solaris 8 fixes: Fall back to putenv(3).
collectd-nagios.c: Output performance data with the "%f" format string.
Apparently the parser used by nagios is dumb as bread. Thanks to Lao Wai
for pointing this out. For more information, see:
<http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201>
Apparently the parser used by nagios is dumb as bread. Thanks to Lao Wai
for pointing this out. For more information, see:
<http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201>
src/collectd.c: Fix initialization of the "timeout_g" variable.
The default value is "2", not "10".
The default value is "2", not "10".
collectd.conf(5): Document the "Timeout" option.
Timeout for missing values
Hi!
I attach here a patch which adds Timeout option in configuration file.
This option is global (i.e. at the same level as Interval) and it's
the max number of intervals that a package can be missed before a
missing notification would be raised. By dafault collectd wait 2
intervals and it's a hardcoded value AFAIK, if plugin cannot get data
for more than 2 intervals, then (if it's an interesting value),
collectd send a missing notification. Setting Timeout to an high value
you can be more tolerant with that missing.
It's usefull on large networks. In my case, the company LAN is
distributed on distant locations and sometimes (due to network issues)
UDP packages are lost, I use the Timeout to be more tolerant to this
networks fails. For example setting Internval to 10 and Timeout to 6,
a missing notification will be raised only if none data was reported
in last 60s.
I hope that things explained well enough, and (who knows!) maybe this
could be usefull to anybody ;)
Regards,
Andrés
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hi!
I attach here a patch which adds Timeout option in configuration file.
This option is global (i.e. at the same level as Interval) and it's
the max number of intervals that a package can be missed before a
missing notification would be raised. By dafault collectd wait 2
intervals and it's a hardcoded value AFAIK, if plugin cannot get data
for more than 2 intervals, then (if it's an interesting value),
collectd send a missing notification. Setting Timeout to an high value
you can be more tolerant with that missing.
It's usefull on large networks. In my case, the company LAN is
distributed on distant locations and sometimes (due to network issues)
UDP packages are lost, I use the Timeout to be more tolerant to this
networks fails. For example setting Internval to 10 and Timeout to 6,
a missing notification will be raised only if none data was reported
in last 60s.
I hope that things explained well enough, and (who knows!) maybe this
could be usefull to anybody ;)
Regards,
Andrés
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
python plugin: Try to work around a "dereferencing type-punned pointer" warning.
Merge branch 'collectd-4.9'
Bumped version to 4.9.2; Updated ChangeLog.
Merge branch 'collectd-4.8' into collectd-4.9
Conflicts:
ChangeLog
Conflicts:
ChangeLog
Bumped version to 4.8.5; Updated ChangeLog.
Merge remote branch 'trenkel/st/python'
Merge branch 'collectd-4.9'
Merge branch 'collectd-4.8' into collectd-4.9
Conflicts:
ChangeLog
Conflicts:
ChangeLog
python: Added documentation and an example on how to handle SIGCHLD.
python: Fix a metadata memleak and a missing include (for some versions of python)
src/plugin.c: plugin_log: Append newline to message …
… even when no log-plugin was loaded.
… even when no log-plugin was loaded.
modbus plugin: Adapt for the new "plugin_register_complex_read" interface.
network plugin: Don't access values in an already freed array.
contrib/exec-nagios.px: Whitespace and POD fixes.
pinba plugin: Fix the "request" type and dispatch the document size data.
pinba plugin: Multiply the derive data sources by a factor.
Otherwise the change is too slow to be really useful.
Otherwise the change is too slow to be really useful.
pinba plugin: Fix a sever typo.
src/collectd.conf.in: Add the Pinba plugin.
Build system: Link the pinba plugin with "protobuf-c".
Configure checks are still missing.
Configure checks are still missing.
pinba plugin: Looked up the default port on the Pinba homepage.
pinba plugin: Coding style changes.
pinba plugin: Remove unused type definitions.
pinba plugin: Fix a folding marker.
pinba plugin: Make the config parsing easier to read ...
... by using "cf_util_get_string".
... by using "cf_util_get_string".
pinba plugin: Turn most metrics into DERIVEs.
This way we don't need to keep track of the time ourselves. The new type
"float_counter_t" is used to convert floats into derive_ts.
This way we don't need to keep track of the time ourselves. The new type
"float_counter_t" is used to convert floats into derive_ts.
pinba plugin: Remove the "NI_MAXSERV" define.
pinba plugin: Turn the "Port" config option into a string.
This way service names can be used, too.
This way service names can be used, too.
pinba plugin: Added folding markers to all functions.
pinba plugin: Removed the dependency to libevent.
The filedescriptors are now watched using poll(2).
The filedescriptors are now watched using poll(2).
pinba plugin: Use mutexes rather than R/W-locks.
Mutexes are more portable and since only write locks were used they
act exactly the same way.
Mutexes are more portable and since only write locks were used they
act exactly the same way.
pinba plugin: pinba_socket_open: Rewrote the function ...
... with protocol independence (IPv6 support).
... with protocol independence (IPv6 support).
pinba plugin: Rename custom types to follow the "*_t" convention.
pinba plugin: pinba_udp_read_callback_fn: Streamlined the function a bit.
pinba plugin: service_statnode_collect: Coding style changes.
pinba plugin: Add temporary defines for default address and port.
Pinba plugin: Add Antony Dovgal as copyright holder.
A note stating where the original code was taken from has been added,
too.
A note stating where the original code was taken from has been added,
too.
Pinba plugin: Reorder the functions to get the callgraph right.
This fixes build issues introduced by removing the forward declarations.
This fixes build issues introduced by removing the forward declarations.
Pinba plugin: Picked some low-hanging fruit.
Removed includes already included via "collectd.h", moved variable
declarations before function declarations, fixed missing return
statements, and removed void statements.
Removed includes already included via "collectd.h", moved variable
declarations before function declarations, fixed missing return
statements, and removed void statements.
Build system: Make it possible to (conditionally) build the protobuf stuff.
The dependency for the module is still missing, but I don't know how to
specify that from the top of my head.
The dependency for the module is still missing, but I don't know how to
specify that from the top of my head.
src/Makefile.am: Order the plugins alphabetically.
And add "pinba.proto" to the distribution.
And add "pinba.proto" to the distribution.
Build system: Check for protoc-c and enable the Pinba plugin if it is found.
network plugin: Add the "network:username" meta data.
Writing autotools rules for pinba.
Add pinba plugin.
Bumped version to 4.8.2; Updated ChangeLog.
Merge branch 'collectd-4.9'
Merge branch 'collectd-4.8' into collectd-4.9
network plugin: Fix a severe memory leak.
A couple of bytes were leaked with every encrypted packet received.
A couple of bytes were leaked with every encrypted packet received.
rrdtool plugin: Correctly free the cache when shutting down.
network plugin: Be more strict when checking the return value of "setsockopt".
network plugin: Be more strict when checking the return value of "setsockopt".
network plugin: Print a warning when setting the interface on a unicast socket is not possible.
Build system: Check for the "if_indextoname" function.
Use this information rather than hard-coding "if Linux …"
Use this information rather than hard-coding "if Linux …"
Build system: Check for "struct ip_mreqn".
Use this rather than hard-coding "if Linux …"
Use this rather than hard-coding "if Linux …"
network plugin: Interface option moved to Server/Listen block
Hello list!
On Tue, Mar 09, 2010 at 06:17:35PM +0100, Florian Forster wrote:
[...]
> On Fri, Feb 26, 2010 at 12:49:02PM +0100, Max Henkel wrote:
[...]
> > @@ -2842,6 +2929,8 @@ static int network_config (oconfig_item_t *ci) /* {{{ */
> > network_config_add_server (child);
> > else if (strcasecmp ("TimeToLive", child->key) == 0)
> > network_config_set_ttl (child);
> > + else if (strcasecmp ("Interface", child->key) == 0)
> > + network_config_set_interface (child);
> > else if (strcasecmp ("MaxPacketSize", child->key) == 0)
> > network_config_set_buffer_size (child);
> > else if (strcasecmp ("Forward", child->key) == 0)
>
> Starting with the signing and encryption option, we have <Server> and
> <Listen> blocks that take socket specific options. It'd be kind of
> inconsistent with the "TimeToLive" and other options, but maybe adding
> this to those blocks would be even better. It would enable to forward
> data from one multicast group on interface-0 to the *same* multicast
> group on interface-1, which I guess could be useful. But maybe it's an
> academic case, I dunno.. Thoughts, anyone?
[...]
This patch provides the configuration possibility inside the
Server/Listen-block, but I'm unsure if the "int interface" is
located properly inside the sockent_t.
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hello list!
On Tue, Mar 09, 2010 at 06:17:35PM +0100, Florian Forster wrote:
[...]
> On Fri, Feb 26, 2010 at 12:49:02PM +0100, Max Henkel wrote:
[...]
> > @@ -2842,6 +2929,8 @@ static int network_config (oconfig_item_t *ci) /* {{{ */
> > network_config_add_server (child);
> > else if (strcasecmp ("TimeToLive", child->key) == 0)
> > network_config_set_ttl (child);
> > + else if (strcasecmp ("Interface", child->key) == 0)
> > + network_config_set_interface (child);
> > else if (strcasecmp ("MaxPacketSize", child->key) == 0)
> > network_config_set_buffer_size (child);
> > else if (strcasecmp ("Forward", child->key) == 0)
>
> Starting with the signing and encryption option, we have <Server> and
> <Listen> blocks that take socket specific options. It'd be kind of
> inconsistent with the "TimeToLive" and other options, but maybe adding
> this to those blocks would be even better. It would enable to forward
> data from one multicast group on interface-0 to the *same* multicast
> group on interface-1, which I guess could be useful. But maybe it's an
> academic case, I dunno.. Thoughts, anyone?
[...]
This patch provides the configuration possibility inside the
Server/Listen-block, but I'm unsure if the "int interface" is
located properly inside the sockent_t.
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
network plugin: Bind to device for unicast
Hello list!
On Tue, Mar 09, 2010 at 06:17:35PM +0100, Florian Forster wrote:
[...]
> On Fri, Feb 26, 2010 at 12:49:02PM +0100, Max Henkel wrote:
[...]
> > + if (! IN_MULTICAST (ntohl (addr->sin_addr.s_addr)))
> > + return (0);
>
> Doesn't it make sense to be able to set the interface in unicast mode,
> too? For example if the host has multiple default gateways. The
> socket(7) option "SO_BINDTODEVICE" could be used for this I guess.
[...]
Thus this patch binds the socket to a specific interface for unicast
traffic, too. But, as Sebastian already mentioned, the behaviour is
Linux specific.
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hello list!
On Tue, Mar 09, 2010 at 06:17:35PM +0100, Florian Forster wrote:
[...]
> On Fri, Feb 26, 2010 at 12:49:02PM +0100, Max Henkel wrote:
[...]
> > + if (! IN_MULTICAST (ntohl (addr->sin_addr.s_addr)))
> > + return (0);
>
> Doesn't it make sense to be able to set the interface in unicast mode,
> too? For example if the host has multiple default gateways. The
> socket(7) option "SO_BINDTODEVICE" could be used for this I guess.
[...]
Thus this patch binds the socket to a specific interface for unicast
traffic, too. But, as Sebastian already mentioned, the behaviour is
Linux specific.
Best regards,
Max
Signed-off-by: Florian Forster <octo@huhu.verplant.org>