Sebastian Harl [Sun, 24 Feb 2008 17:25:14 +0000 (18:25 +0100)]
ping plugin: Fixed a typo when setting the TTL.
PING_DEF_TIMEOUT used to be used instead of PING_OPT_TTL as option
argument of ping_setopt(). This caused really strange effects when pinging
hosts, like a failed assertion in ping_timeval_sub() in liboping
indicating a latency <= 0.
Thanks to Romain Francoise for pointing this out and a lot of helpful
debugging information.
Signed-off-by: Sebastian Harl <sh@tokkee.org> Signed-off-by: Florian Forster <octo@huhu.verplant.org>
If enabled, translate the disk names to major/minor device numbers. For
backwards compatibility this defaults to true but it it recommended to disable
it as it will probably be removed in the next major version. Any other parts
of collectd have changed in a similar way with version 4.0, so hddtemp should
do so as well.
This option is disabled in new versions of the config file.
Signed-off-by: Sebastian Harl <sh@tokkee.org> Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Florian Forster [Sun, 10 Feb 2008 15:40:58 +0000 (16:40 +0100)]
contrib/exec-nagios.px: Added a Perl script which handles Nagios plugins.
It handles most of the Nagios plugin API, including multi-line output (a
Nagios 3 feature) and performance data. It's basic on purpose so that easy
stuff is possible but complex stuff is about as hard as rewriting the plugin ;)
Sebastian Harl [Tue, 5 Feb 2008 23:00:49 +0000 (00:00 +0100)]
configure: Correctly handle all cases when using AC_ARG_WITH().
In a lot of cases only "$withval" != "yes" and "no" had been handled when the
option had been given. Therefore, the option had been ignored if no argument
had been passed to the option, making --with-<option> and / or
--without-<option> a no-op. This patch fixes this issue.
Signed-off-by: Sebastian Harl <sh@tokkee.org> Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Florian Forster [Sat, 9 Feb 2008 16:44:34 +0000 (17:44 +0100)]
src/configfile.c: Extend the `Include' statement to handle directories, too.
Directories are included recursively. Files and directories begnning with a dot
are ignored. Symlinks are followed. You can crash collectd by looping the
symlinks.
Sebastian Harl [Tue, 29 Jan 2008 01:14:33 +0000 (02:14 +0100)]
plugin.c: Use an AVL tree to store the data sets.
The list of data sets is queried quite frequently but hardly ever modified.
Using an AVL tree instead of a linked list improves the search time from O(n)
to O(log n).
Signed-off-by: Sebastian Harl <sh@tokkee.org> Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Sebastian Harl [Mon, 28 Jan 2008 11:23:10 +0000 (12:23 +0100)]
perl plugin: Exported plugin_dispatch_notification() to Perl.
This adds the following function to collectd's Perl API:
Collectd::plugin_dispatch_notification:
submit a notification to collectd's notification mechanism
arguments:
notif - notification
A notification is a reference to a hash with the following members:
severity => $severity (default: NOTIF_FAILURE)
time => $time (default: time (NULL))
message => $msg
host => $host (default: hostname_g)
plugin => $plugin
type => $type
plugin_instance => $instance
type_instance => $type_instance
The severity should be any of the Collectd::NOTIF_* constants.
Signed-off-by: Sebastian Harl <sh@tokkee.org> Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Florian Forster [Wed, 23 Jan 2008 19:30:06 +0000 (20:30 +0100)]
network plugin: Have two different threads for handling incoming packets.
One that only receives and enqueues packets and one which parses the packets
and dispatches them to the daemon. This should solve problems with (too) short
socket buffers and (very) heavy load.
Florian Forster [Wed, 23 Jan 2008 11:40:24 +0000 (12:40 +0100)]
network plugin: Added support for sending and receiving notifications.
Notifications are sent ``out of band'', i. e. each notification is one packet
and they are not mixed with performance data values.
Right now there is no configuration option to prevent listening sockets from
receiving notifications nor to prevent sending sockets from sending
notifications. This may be an option for the future, though.
Florian Forster [Wed, 23 Jan 2008 09:40:14 +0000 (10:40 +0100)]
collectd: Added ``associative'' members to the notification_t structure.
A notification does not need to be related to any performance data collected by
collectd, but now it *may* be related. This is used in the threshold stuff
already and passed via ExecNotification in the exec plugin, too.
The new `notification_init' function in `src/common.c' and the
`NOTIFICATION_INIT_VL' macro simplify the initialization of these new fields.
Sebastian Harl [Tue, 22 Jan 2008 18:11:00 +0000 (19:11 +0100)]
Fixed some compiler warnings identified by gcc's -Wextra option.
The following issues have been addressed:
* comparison between signed and unsigned - this was found in several places
throughout the code and has been fixed in various ways
* missing initializer - an incomplete initializer has been used for two
struct instances in perl.c
* unused parameter - when applicable, the parameter has been removed; in
thirteen cases the parameter is required by different library API's and in
two cases the parameter was left in place to retain a consistent interface
within the affected modules; as __attribute__((unused)) is a GNU extension,
it has not been used to document those exceptions
Signed-off-by: Sebastian Harl <sh@tokkee.org> Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Florian Forster [Tue, 22 Jan 2008 10:06:15 +0000 (11:06 +0100)]
apache plugin: Improved some error messages and fixed-buffer string copying.
Return an error when initialization fails. This includes the case when no URL
is configured. The user is informed about this as clear as possible.
Also, `strncpy' and `snprintf' now are followed by a forced NULL-termination of
the strings to be on the save side. This also changes the plugin to look more
like the other plugins which mostly do this already.