Collectd.pm: Use $interval_g instead of a hard-coded value.
The hard-coded value was still legacy code from the time before the global
variables have been exported to Perl.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The hard-coded value was still legacy code from the time before the global
variables have been exported to Perl.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl.c: Unregister notifications in perl_shutdown().
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl plugin: Fixed a bug in Collectd::plugin_unregister_data_set().
The function tried to access a nonexistent second argument.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The function tried to access a nonexistent second argument.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd-perl(5): Added documentation for the notification support.
Some minor errors have been fixed as well and the ChangeLog has been updated.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Some minor errors have been fixed as well and the ChangeLog has been updated.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
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>
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>
perl plugin: Added support to dispatch notifications to Perl plugins.
Perl plugin may now register a callback of type Collectd::TYPE_NOTIF which
accepts a single hash argument with the following members:
severity
time
message
host
plugin
plugin_instance
type
type_instance
Severity may be any of the following values (exported by the "notif" tag):
Collectd::NOTIF_FAILURE
Collectd::NOTIF_WARNING
Collectd::NOTIF_OKAY
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Perl plugin may now register a callback of type Collectd::TYPE_NOTIF which
accepts a single hash argument with the following members:
severity
time
message
host
plugin
plugin_instance
type
type_instance
Severity may be any of the following values (exported by the "notif" tag):
Collectd::NOTIF_FAILURE
Collectd::NOTIF_WARNING
Collectd::NOTIF_OKAY
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ChangeLog: Describe changes to the perl plugin in more detail.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.2'
Merge branch 'collectd-4.1' into collectd-4.2
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.
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.
Collectd::Unixsock: Added license information.
The copyright information in some changed files has been updated, too.
The copyright information in some changed files has been updated, too.
TODO: Removed the remark about the `libvirt' plugin.
Now it builds flawlessly. Apparently it was some leftover file in my build tree
that caused this weird problem.
Now it builds flawlessly. Apparently it was some leftover file in my build tree
that caused this weird problem.
TODO: Updated the todo file.
src/utils_threshold.c: Implemented `warning' and `failure' thresholds.
The options `Min' and `Max' have been renamed to `FailureMin', `FailureMax',
`WarningMin', and `WarningMax'.
The options `Min' and `Max' have been renamed to `FailureMin', `FailureMax',
`WarningMin', and `WarningMax'.
logfile plugin: Only print the host field (and other fields) of a notification if they hold any information.
exec plugin: Implemented the `PUTNOTIF' command for external applications, too.
Also changed the manpage so that lines without the `PUTVAL' are mentioned as
being deprecated.
Also changed the manpage so that lines without the `PUTVAL' are mentioned as
being deprecated.
Collectd::Unixsock: Added the `putnotif' method to dispatch notifications.
Merge branch 'collectd-4.2'
Merge branch 'collectd-4.1' into collectd-4.2
collectd-unixsock(5): Copied Sebastian's additions from collectd-exec(5).
collectd-unixsock(5): Documented the PUTNOTIF command.
16 years agoMerge branch 'collectd-4.1' of octo@verplant.org:/var/lib/git/collectd into collectd-4.1
Merge branch 'collectd-4.1' of octo@verplant.org:/var/lib/git/collectd into collectd-4.1
src/common.h: Fixed many typos in the header file.
unixsock plugin: Imported the new `putnotif' command from the appropriate module.
16 years agosrc/utils_cmd_putnotif.[ch]: Added a new module which handles parsing of notification...
src/utils_cmd_putnotif.[ch]: Added a new module which handles parsing of notifications from some command line or similar.
Of course, this is similar to the `utils_cmd_putval' module.
Of course, this is similar to the `utils_cmd_putval' module.
TODO: Updated the todo file.
Added the goal to remove the cache from the unixsock plugin.
Added the goal to remove the cache from the unixsock plugin.
src/liboconfig/parser.y: Updated copyright information.
src/{common,network}.[ch]: Updated copyright information.
TODO: Adjusted todo list.
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.
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.
src/utils_threshold.c: Check that the <Threshold> block does not have any arguments.
liboconfig: Allow the argument list of blocks to be empty.
This way the `<Threshold>' block doesn't need a bogus argument just to make the
parser happy.
This way the `<Threshold>' block doesn't need a bogus argument just to make the
parser happy.
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.
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.
16 years agocollectd.conf(5), collectd-exec(5): Documented the `NotificationExec' and `NagiosExec...
collectd.conf(5), collectd-exec(5): Documented the `NotificationExec' and `NagiosExec' options.
ChangeLog: Documented the new features in the master branch so far.
Also extended the TODO list a bit more, as things came to mind.
Also extended the TODO list a bit more, as things came to mind.
AUTHORS: Added Richard Jones.
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>
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>
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.
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.
apache plugin: Do not initialize the plugin if no URL has been specified.
There is no need to initialize curl, if the plugin will not be used anyway.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
There is no need to initialize curl, if the plugin will not be used anyway.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'pull/master'
Merge branch 'collectd-4.2'
Merge branch 'pull/collectd-4.2' into collectd-4.2
Merge branch 'ff/manpage'
types.db(5): Added a manpage documenting the format of the TypesDB file.
Appropriate pointers have been added to other manpages where appropriate.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Appropriate pointers have been added to other manpages where appropriate.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.2'
Merge branch 'collectd-4.1' into collectd-4.2
collectd-exec(5): Improved description of the value-list identifier.
A short note about valid values for the plugin and type names and the
respective instance names as well as a pointer to types.db has been added.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
A short note about valid values for the plugin and type names and the
respective instance names as well as a pointer to types.db has been added.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
TODO: Added some notes on what needs to be done before 4.3
It's only what I had in mind right now and not a complete list.
It's only what I had in mind right now and not a complete list.
collectd-exec(5): Documented the changes due to notifications and the Nagios plugin support.
Added support for more than one TypesDB file.
The "TypesDB" config option now accepts more than one filename. Each file will
be read in the specified order. If no filename has been given, the default
file will _not_ be read (I doubt this is a useful feature but it's imho the
most reasonable behavior).
This may, for example, be used to specify an additional file containing custom
data-set definitions. See the thread "Thought about exec and types.db" on the
mailing-list ([1]).
[1] http://mailman.verplant.org/pipermail/collectd/2008-January/001450.html
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The "TypesDB" config option now accepts more than one filename. Each file will
be read in the specified order. If no filename has been given, the default
file will _not_ be read (I doubt this is a useful feature but it's imho the
most reasonable behavior).
This may, for example, be used to specify an additional file containing custom
data-set definitions. See the thread "Thought about exec and types.db" on the
mailing-list ([1]).
[1] http://mailman.verplant.org/pipermail/collectd/2008-January/001450.html
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'pull/master'
Merge branch 'collectd-4.2'
Merge branch 'collectd-4.1' into collectd-4.2
network plugin: Made network_receive() static.
This function is not exported to any other module.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This function is not exported to any other module.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
logfile plugin: Added Florian to the list of copyright holders.
Most of the current version has been written by him.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Most of the current version has been written by him.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd-perl(5): Added a note about submitting plugins.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Bumped version to 4.2.4; Updated ChangeLog.
Merge branch 'collectd-4.1' into collectd-4.2
Conflicts:
ChangeLog
Conflicts:
ChangeLog
ChangeLog: Fixed the date of the 4.1.6 release.
Merge branch 'collectd-4.1' into collectd-4.2
Conflicts:
ChangeLog
version-gen.sh
Conflicts:
ChangeLog
version-gen.sh
Bumped version to 4.1.6; Updated ChangeLog.
Merge branch 'collectd-4.2'
Merge branch 'collectd-4.1' into collectd-4.2
src/configfile.c: Updated the copyright notice for 2008.
libvirt plugin: Updated the copyright notice for 2008.
libvirt plugin: Fix the HostnameFormat option.
The attached patch fixes HostnameFormat in libvirt driver.
The intended use for this was:
HostnameFormat "name"
generating hostnames like "<guestname>" (the default case), and:
HostnameFormat "hostname name"
generating hostnames like "<hostname>:<guestname>".
Somewhere along the way, however, that code got broken so it always adds a ":"
before the name, and doesn't concatenate any more, so you'd get weird hostnames
appearing like ":guest" which was supposed to be "hostname:guest".
The patch just reverts back to my original code.
Rich.
The attached patch fixes HostnameFormat in libvirt driver.
The intended use for this was:
HostnameFormat "name"
generating hostnames like "<guestname>" (the default case), and:
HostnameFormat "hostname name"
generating hostnames like "<hostname>:<guestname>".
Somewhere along the way, however, that code got broken so it always adds a ":"
before the name, and doesn't concatenate any more, so you'd get weird hostnames
appearing like ":guest" which was supposed to be "hostname:guest".
The patch just reverts back to my original code.
Rich.
bindings/Makefile.am: Replaced "make -C" with "cd && make".
BSD make does not support "make -C".
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
BSD make does not support "make -C".
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
bindings/Makefile.am: Removed a bashism.
Brace expansion using { and } is not defined by POSIX but rather a bash
extension and should thus not be used for portability reasons.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Brace expansion using { and } is not defined by POSIX but rather a bash
extension and should thus not be used for portability reasons.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd.conf(5): Added a note about the availability of the "debug" loglevel.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.2'
collectd.conf(5): Fix a messed up merge.
Merge branch 'collectd-4.2'
Merge branch 'collectd-4.1' into collectd-4.2
Conflicts:
src/collectd.conf.pod
Conflicts:
src/collectd.conf.pod
collectd.conf(5): Documented the fact that the configuration is processes from top to bottom.
collectd.conf(5): Added a note about plugin loading order.
src/configfile.c: Improve the "Plugin `%s' did not register a callback." warning.
unixsock plugin: Actually set the permissions for the socket.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/utils_cache.c: Call `ut_check_interesting' before sending OKAY notifications, too.
exec plugin: The execution of notification handling programs seems to work now.
src/utils_{cache,threshold}.c: Adapted to the new AVL interface.
Merge branch 'collectd-4.2'
Conflicts:
bindings/Makefile.am
Conflicts:
bindings/Makefile.am
Bumped version to 4.2.3; Updated ChangeLog.
build system: Yet another way to solve the src-dir vs. build-dir issue.
configure.in: Copy sources of the Perl bindings to the build directory.
As the Perl build system around ExtUtils::MakeMaker doesn't know how to
separate source and build directories, all relevant source files have to be
available in the build directory.
This is an alternative patch for the problem reported by Michael Tiernan.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
As the Perl build system around ExtUtils::MakeMaker doesn't know how to
separate source and build directories, all relevant source files have to be
available in the build directory.
This is an alternative patch for the problem reported by Michael Tiernan.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Revert "bindings/Makefile.am: Fix a bug that happened when src and build directory are not the same."
This reverts commit 61f5c1a972626212aab60c4d50f45097485b8e51 which had the
following problems:
* parts of the build process took place in the source directory (which should
be read-only though)
* the "perl" target should not be renamed - the name is used in
@PERL_BINDINGS@ to identify the bindings that are supposed to be built
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This reverts commit 61f5c1a972626212aab60c4d50f45097485b8e51 which had the
following problems:
* parts of the build process took place in the source directory (which should
be read-only though)
* the "perl" target should not be renamed - the name is used in
@PERL_BINDINGS@ to identify the bindings that are supposed to be built
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
utils_mount.c: Fixed an unused variable warning on some systems.
This warning appeared on systems using listmntent() or getv?fsstat() when
compiling with debugging disabled only. It was caused by the declaration of a
character array for use with sstrerror() inside a call to DEBUG().
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This warning appeared on systems using listmntent() or getv?fsstat() when
compiling with debugging disabled only. It was caused by the declaration of a
character array for use with sstrerror() inside a call to DEBUG().
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/Makefile.am: Use curl CFLAGS when building the nginx plugin.
Else curl/curl.h cannot be found in non-standard places at build time.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Else curl/curl.h cannot be found in non-standard places at build time.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Updated the changelog.
Merge branch 'collectd-4.1' into collectd-4.2
Conflicts:
ChangeLog
version-gen.sh
Conflicts:
ChangeLog
version-gen.sh
Bumped version to 4.1.5; Updated ChangeLog.
sensors plugin: While I was at it I reorganized the code a little so it's easier to read.
For instance I moved the name to type conversion out of the main loop and into
a separate function, likewise the chip to string representation conversion. The
`submit' function is now very careful that all strings are null terminated and
that no buffer overflow may occur.
For instance I moved the name to type conversion out of the main loop and into
a separate function, likewise the chip to string representation conversion. The
`submit' function is now very careful that all strings are null terminated and
that no buffer overflow may occur.
sensors plugin: Implemented support for libsensors3.
16 years agoexec plugin: Added the possibility to execute programs upon notifications (EXPERIMENTAL)
exec plugin: Added the possibility to execute programs upon notifications (EXPERIMENTAL)
src/utils_cache.c: Added the creation of an `OKAY' notification.
It is generated when a value was missing and is received again.
It is generated when a value was missing and is received again.
logfile plugin: Added a notification plugin.
src/plugin.c: Notification callbacks were added to the wrong linked list.
src/utils_cache.[ch]: Implemented uc_[gs]et_state to receive and set the state of a value.
This is most likely very buggy. The intention is that this is used in the
threshold module to decide wether or not so send a notification, i. e. if the
problem existed before or not.
This is most likely very buggy. The intention is that this is used in the
threshold module to decide wether or not so send a notification, i. e. if the
problem existed before or not.
src/utils_threshold.h: Documented the public functions.
src/utils_threshold.c: Implemented the new `Persist' option.
The idea is that, if the option is set to `true', many notifications will be
sent, until the problem vanishes again. If set to `false' only one notification
will be sent upon a state change.
This, however, is not implemented yet.
The idea is that, if the option is set to `true', many notifications will be
sent, until the problem vanishes again. If set to `false' only one notification
will be sent upon a state change.
This, however, is not implemented yet.
bindings/Makefile.am: Fix a bug that happened when src and build directory are not the same.
Thanks to Michael Tiernan for reporting this bug.
Thanks to Michael Tiernan for reporting this bug.