src/utils_threshold.c: Added creation of a notification.
src/utils_threshold.[ch]: Added `ut_check_threshold' to check values against the configures thesholds.
This function is called from `plugin_dispatch_values' and prints a warning when
the values is outside of the configured threshold.
This function is called from `plugin_dispatch_values' and prints a warning when
the values is outside of the configured threshold.
src/configfile.c: Handle the `<Threshold>' block correctly.
I. e. pass it to `ut_config'.
I. e. pass it to `ut_config'.
src/utils_threshold.[ch]: Added the header file and initialize the AVL tree.
Merge branch 'collectd-4.2'
Merge branch 'collectd-4.1' into collectd-4.2
Conflicts:
src/collectd-snmp.pod
Conflicts:
src/collectd-snmp.pod
types.db: Fix a typo: s/humitidy/humidity/
rrdtool plugin: Wait for the ``queue thread'' to exit _after_ signaling it to exit..
collectd-snmp(5): Fix typos.
src/utils_threshold.c: Added configuration code for threshold values.
The new module `utils_threshold' is supposed to check values and create and
dispatch a notification when the value is not within the threshold.
So far the code is only able to parse a configuration - and even that is
untested so far. It compiles, though ;)
The new module `utils_threshold' is supposed to check values and create and
dispatch a notification when the value is not within the threshold.
So far the code is only able to parse a configuration - and even that is
untested so far. It compiles, though ;)
src/utils_cache.c: Initialize the mutex correctly.
src/plugin.[ch]: Added a notification type and auxiliary functions.
src/utils_cache.c: Detect when a counter wraps around
and calculate the difference correctly.
and calculate the difference correctly.
collectd.conf: Added nginx module.
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>
src/utils_cache.[ch]: Added a global cache for all values that are dispatched.
The cache translates counter values to gauge values using the last counter
value available. This can then be used to check against threshold values, as
we'll need to do for monitoring functionality.
Right now the cache doesn't do much: It sits there and caches the values, but
is not yet ever queried. The already implemented (but so far unused) function
`uc_get_rate' returns an array of gauge_t values.
The longterm goal is to have the network, rrdtool and unixsock plugins use this
cache, too. This will require some `plugin specific' data with appropriate
control structures and, which is likely the hardest part, some clever locking
for all that.
The cache translates counter values to gauge values using the last counter
value available. This can then be used to check against threshold values, as
we'll need to do for monitoring functionality.
Right now the cache doesn't do much: It sits there and caches the values, but
is not yet ever queried. The already implemented (but so far unused) function
`uc_get_rate' returns an array of gauge_t values.
The longterm goal is to have the network, rrdtool and unixsock plugins use this
cache, too. This will require some `plugin specific' data with appropriate
control structures and, which is likely the hardest part, some clever locking
for all that.
perl plugin: Set $0 to "collectd".
perl_parse() has to set it to "-e" which is not very meaningful. It would
be even nicer to set it to argv[0] but this is not available from inside
the plugin.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl_parse() has to set it to "-e" which is not very meaningful. It would
be even nicer to set it to argv[0] but this is not available from inside
the plugin.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd.h: Removed legacy definition of operation modes.
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>
plugin.h: Make DEBUG() a noop when compiling without debugging support.
This saves a couple of useless calls to plugin_log() which the compiler
does not detect and remove itself.
A couple of DEBUG()'s in the apcups, hddtemp, mbmon and ntpd plugins have
been upgraded to INFO()'s. All of them provide error messages of failed
system / libc calls which should be available to the user somehow.
Besides, they use a local string buffer which generates an "unused
variable" warning if DEBUG() expands to a noop.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This saves a couple of useless calls to plugin_log() which the compiler
does not detect and remove itself.
A couple of DEBUG()'s in the apcups, hddtemp, mbmon and ntpd plugins have
been upgraded to INFO()'s. All of them provide error messages of failed
system / libc calls which should be available to the user somehow.
Besides, they use a local string buffer which generates an "unused
variable" warning if DEBUG() expands to a noop.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ChangeLog: Fix some spelling errors.
Build system: Removed the check for `libm'.
It didn't work (there's no `ext' function) and wasn't used anywhere..
It didn't work (there's no `ext' function) and wasn't used anywhere..
Merge branch 'collectd-4.1'
Bumped version to 4.2.0; Updated ChangeLog.
17 years agoBuild system: Changed the detection of the sensors library to work like other libraries.
Build system: Changed the detection of the sensors library to work like other libraries.
README: Added section about configuring, building and installing collectd.
This section contains basic information about the "--enabled-<plugin>"
configuration option as well as adopting the installation target.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This section contains basic information about the "--enabled-<plugin>"
configuration option as well as adopting the installation target.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd.conf(5): Fix a typo.
ChangeLog: Added a note about the new nginx plugin.
src/common.c: Serialize access to `strerror' if `strerror_r' doesn't exist.
Apparently this is a problem under Solaris 9..
Apparently this is a problem under Solaris 9..
Build system: Fixed a bug in the detection of the snmp library.
Hello,
During the creation of a rpm on Mandriva 2007.1 from tar.bz2 sources, and by
activate almost all options, I found something that seems a bug to me in the
configure file, line 33251 (concerning the snmp plugin)
Hello,
During the creation of a rpm on Mandriva 2007.1 from tar.bz2 sources, and by
activate almost all options, I found something that seems a bug to me in the
configure file, line 33251 (concerning the snmp plugin)
Merge branch 'collectd-4.1'
logfile plugin: Implemented an option to prefix logged lines with a timestamp.
Build system: Set the appropriate CPPFLAGS and LDFLAGS when checking for librrd and it's header.
rrdtool plugin: Include the `rrd.h' header file in `rrdtool.c', not `collectd.h'.
This caused an error when --with-rrdtool was used to have the header file in a
non-standard directory, because the appropriate CFLAGS were not passed to all
plugins.
This caused an error when --with-rrdtool was used to have the header file in a
non-standard directory, because the appropriate CFLAGS were not passed to all
plugins.
types.db: Raise the maximum value of `ps_cputime' from 1s/1s to 16s/1s..
This should work with machines with up to 16 processors..
This should work with machines with up to 16 processors..
ChangeLog: Documented the new tcpconns plugin and the changes to the snmp plugin.
README: Improved the dependency list a little.
ChangeLog: Fixed many many typos.
Fixed some typos in the manpages.
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.1'
Conflicts:
ChangeLog
contrib/PerlLib/Collectd.pm
Conflicts:
ChangeLog
contrib/PerlLib/Collectd.pm
Bumped version to 4.1.3; Updated ChangeLog.
contrib/PerlLib/Collectd.pm: Bumped version to 4.1.3.
Merge branch 'collectd-4.1'
configure.in: Added "rrdtool" to the module summary.
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>
collectd-perl(5): Added note about multi-threading.
A new section "BUGS" has been added to the manpage with a short note about
Perl and multithreading.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
A new section "BUGS" has been added to the manpage with a short note about
Perl and multithreading.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl plugin: Improved value list conversion.
The perl plugin used to store an internal list of data-source types for
each data-set registered by Perl plugins to get fast access to this
information (which is required to correctly convert a Perl data-set to a
data_set_t struct). However, this prevented Perl plugins to use data-sets
defined in types.db. This patch fixes this issue by requesting the
data-set definition from collectd.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The perl plugin used to store an internal list of data-source types for
each data-set registered by Perl plugins to get fast access to this
information (which is required to correctly convert a Perl data-set to a
data_set_t struct). However, this prevented Perl plugins to use data-sets
defined in types.db. This patch fixes this issue by requesting the
data-set definition from collectd.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl plugin: Fixed handling of erroneous configuration options.
An empty block was used instead of returning from the perl_config_*()
functions in case of an error. I wonder how that has happened... :-/
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
An empty block was used instead of returning from the perl_config_*()
functions in case of an error. I wonder how that has happened... :-/
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl plugin: Improved "IncludeDir" configuration option.
The "Do not initialize the Perl interpreter until loading a module."
commit removed support for adding include directories after the Perl
interpreter has been initialized. This patch re-enables it.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The "Do not initialize the Perl interpreter until loading a module."
commit removed support for adding include directories after the Perl
interpreter has been initialized. This patch re-enables it.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd-perl(5): Updated documentation.
* moved configuration documentation from collectd.conf(5) to
collectd-perl(5)
* added documentation for the EnableDebugger configuration option
* added documentation about how to write own plugins
* added exports and examples section
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
* moved configuration documentation from collectd.conf(5) to
collectd-perl(5)
* added documentation for the EnableDebugger configuration option
* added documentation about how to write own plugins
* added exports and examples section
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd.conf.in: Fixed some missing quotes and words..
Merge branch 'ad/memcached'
AUTHORS, ChangeLog: Added notes about the memcached plugin.
collectd.conf.in: Added the `memcached' plugin.
Merge branch 'pull/master'
collectd.conf(5): Documented the new memcached plugin.
Merge branch 'master' into ad/memcached
Conflicts:
src/types.db
Conflicts:
src/types.db
collectd.conf(5): Documented the new nginx plugin.
memcached plugin: Corrected the copyright notice and removed unnecessary header files.
email plugin: Include `stddef.h' which defines the `offsetof' macro.
memcached plugin: Some of the data definitions have been torn appart.
memcached plugin: Added a plugin to query stats from memcached servers.
nginx plugin: Changed to the version 4 plugin infrastructure.
Merge branch 'ff/nginx'
Conflicts:
configure.in
src/Makefile.am
Conflicts:
configure.in
src/Makefile.am
tcpconns plugin: Added support for Mac OS X (and possibly FreeBSD).
nginx plugin: Added a plugin to collect `nginx' statistics.
nginx is a lightweight webserver and (reverse) proxy and apparently very
popular in Russia. This plugin queries it's status page, parses it and submits
it to collectd, very similar to the apache plugin.
nginx is a lightweight webserver and (reverse) proxy and apparently very
popular in Russia. This plugin queries it's status page, parses it and submits
it to collectd, very similar to the apache plugin.
Merge branch 'pull/master'
contrib/README: Documented the exec script and the SNMP config.
contrib/exec-smartctl: Added documentation to the script.
Merge branch 'pull/master'
contrib/exec-smartctl: Added a sample exec script which parses the hdd temperature using smartctl.
rrdtool plugin: Add a debugging message into the `queue thread'..
rrdtool plugin: Wait for the ``queue thread'' to exit _after_ signaling it to exit..
Merge branch 'pull/master'
contrib/snmp-data.conf: Added a sample data configuration for the SNMP plugin.
ipvs plugin: Fix a feaking stupid typo..
Merge branch 'collectd-4.1'
Conflicts:
ChangeLog
Conflicts:
ChangeLog
Merge branch 'ff/tcpconns'
collectd.conf.in: Added sample configuration for the tcpconns plugin.
ipvs plugin: Assurd that `sockfd >= 0'.
The init-function should return non-zero in that case and the plugin should be
disabled, but I'd rather not rely on such conventions too much..
The init-function should return non-zero in that case and the plugin should be
disabled, but I'd rather not rely on such conventions too much..
Added documentation about ipvs to README, ChangeLog and collectd.conf.in.
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>
ipvs plugin: Check for correct IPVS version in cipvs_init().
I took over the required minimum version (1.1.4) as used in ipvsadm 1.24
for Linux kernels >= 2.6.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
I took over the required minimum version (1.1.4) as used in ipvsadm 1.24
for Linux kernels >= 2.6.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ipvs plugin: Replaced ipvs_strerror() with sstrerror().
ipvs_strerror() handles a few special cases in libipvs which are not
relevant in this plugin.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ipvs_strerror() handles a few special cases in libipvs which are not
relevant in this plugin.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ipvs plugin: Get IP_VS_SO_GET_INFO in ip_vs_get_services().
IP_VS_SO_GET_INFO also provides the number of services which might change after
initializing the plugin. Also, the globale variable ipvs_info could be removed
as ip_vs_get_services() is the only function using these information.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
IP_VS_SO_GET_INFO also provides the number of services which might change after
initializing the plugin. Also, the globale variable ipvs_info could be removed
as ip_vs_get_services() is the only function using these information.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ipvs plugin: Fixed a memory leak in cipvs_submit_services().
The ip_vs_get_dests pointer has not been freed... :-/
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The ip_vs_get_dests pointer has not been freed... :-/
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ipvs plugin: Use sstrerror() instead of strerror().
D'oh...
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
D'oh...
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure, ipvs plugin: Check for ip_vs.h.
Disable the ipvs module, if neither net/ip_vs.h nor ip_vs.h could be
found. Added HAVE_*_H checks for each included system header in ipvs.c.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Disable the ipvs module, if neither net/ip_vs.h nor ip_vs.h could be
found. Added HAVE_*_H checks for each included system header in ipvs.c.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ipvs: Added plugin to collect IPVS connection statistics.
This plugin collects detailed statistics for each IPVS service and it's
destinations. It is based on ipvsadm and libipvs by Wensong Zhang and
Peter Kese. The plugin requires a Linux (>= 2.6) kernel.
See http://www.linuxvirtualserver.org/software/index.html for more details
about IPVS.
A new DS type "connections" (value:COUNTER:0:U) has been added to
types.db.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This plugin collects detailed statistics for each IPVS service and it's
destinations. It is based on ipvsadm and libipvs by Wensong Zhang and
Peter Kese. The plugin requires a Linux (>= 2.6) kernel.
See http://www.linuxvirtualserver.org/software/index.html for more details
about IPVS.
A new DS type "connections" (value:COUNTER:0:U) has been added to
types.db.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Beautifying some more debug messages..
Merge branch 'collectd-4.0' into collectd-4.1
Conflicts:
src/rrdtool.c
Conflicts:
src/rrdtool.c
Beautifying many debug messages..
rrdtool plugin: Wait for the `queue thread' to exit..
..before returning from the shutdown function.
..before returning from the shutdown function.
network plugin: Flush the buffer in the `shutdown' function..
xmms plugin: Return `-1' when values could be read but are weird.
src/Makefile.am: Make manpage creation fail-safe.
Since Sebastian's patch ships the .pod files in the distribution, this may not
fail when perl-doc is not installed.
Since Sebastian's patch ships the .pod files in the distribution, this may not
fail when perl-doc is not installed.
src/Makefile.am: Added all POD files to EXTRA_DIST.
Those files are basically the "sources" for the manpages and as such
should be included in a distribution.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Those files are basically the "sources" for the manpages and as such
should be included in a distribution.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
tcpconns plugin: Changed the plugin to collect all TCP states, nut just `established'.
Also the contrib/collection.cgi script has been updated.
Also the contrib/collection.cgi script has been updated.
ChangeLog: Documented the changes to the perl plugin..
..a little
..a little
perl plugin: Converted to use "complex" configuration.
The parsing of the syntax tree of the "Plugin perl" section is now done in
perl_config() allowing more flexible setups like passing configuration
options to Perl plugins.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The parsing of the syntax tree of the "Plugin perl" section is now done in
perl_config() allowing more flexible setups like passing configuration
options to Perl plugins.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl plugin: Added "EnableDebugger" config option.
This config option will pass control to the Perl debugger after the
interpreter has been initialized. This is exactly the same as invoking perl
with the "-d" command line switch.
Just as with perl's "-d" command line option you can supply an alternative
debugger. Pass the package name as an argument to the "EnableDebugger" option
See perldebug(1) for more details.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This config option will pass control to the Perl debugger after the
interpreter has been initialized. This is exactly the same as invoking perl
with the "-d" command line switch.
Just as with perl's "-d" command line option you can supply an alternative
debugger. Pass the package name as an argument to the "EnableDebugger" option
See perldebug(1) for more details.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl plugin: Fixed an "unused variable" warning.
When compiling with debugging disabled, gcc complained about an unused
variable in init_pi(). -Werror thus caused the build to fail.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
When compiling with debugging disabled, gcc complained about an unused
variable in init_pi(). -Werror thus caused the build to fail.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
README: Improved formatting.
Indent all paragraphs by two spaces and break lines after 79 characters.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Indent all paragraphs by two spaces and break lines after 79 characters.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
README: Added a note about collectd and chkrootkit.
chkrootkit reports collectd as a packet sniffer, which most probably is a
false positive if using the "dns" plugin.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
chkrootkit reports collectd as a packet sniffer, which most probably is a
false positive if using the "dns" plugin.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>