build system: Fixed indentation and unconditionally declare CFLAGS and LIBADD.
users plugin: Add support for the statgrab library.
Merge branch 'ok/disk' into collectd-4.4
Conflicts:
configure.in
Conflicts:
configure.in
cpu plugin: Account wait-IO, system and swap separately when using libstatgrab.
disk plugin: Use the DATA_MAX_NAME_LEN define for a fixed-sized buffer.
disk plugin: Add support for the statgrab library.
cpu plugin: Add support for the statgrab library.
powerdns plugin: Replace the `Command' option with the `Collect' option.
The original code let the user define the command to use when querying the
server. This commit changes that and lets the user select the _values_ he's
interested in. Depending on whether an authorative server or a recursor is
collected this
- issues a `SHOW *' and manually greps the interesting pieces, or
- builds a command that requests only the interesting values.
Code compiles but it untested. Manpage not yet updated.
The original code let the user define the command to use when querying the
server. This commit changes that and lets the user select the _values_ he's
interested in. Depending on whether an authorative server or a recursor is
collected this
- issues a `SHOW *' and manually greps the interesting pieces, or
- builds a command that requests only the interesting values.
Code compiles but it untested. Manpage not yet updated.
powerdns plugin: Completed the list of values for the authorative server.
Also added a TODO comment that should be resolved before releasing 4.4.
Also added a TODO comment that should be resolved before releasing 4.4.
Merge branch 'collectd-4.3' into collectd-4.4
Merge branch 'collectd-4.2' into collectd-4.3
Conflicts:
configure.in
src/perl.c
Conflicts:
configure.in
src/perl.c
load plugin: Use #if rather than #ifdef.
build system: Remove the COLLECT_LIBIOKIT define.
It isn't used anywhere, so remove it.
It isn't used anywhere, so remove it.
build system: Define HAVE_LIBSTATGRAB if the statgrab library is available.
This define is used in some plugins. Thanks to Oleg King for noticing and
pointing this out and thanks to Sebastian Harl for a first patch which,
unfortunately, doesn't work anymore after changing the configure script.
This define is used in some plugins. Thanks to Oleg King for noticing and
pointing this out and thanks to Sebastian Harl for a first patch which,
unfortunately, doesn't work anymore after changing the configure script.
perl plugin: Work around a compiler warning on FreeBSD.
On FreeBSD, PERL_SYS_INIT3 expands to some expression which triggers a "value
computed is not used" warning by gcc. By telling the compiler to ignore this
value, we can work around this issue. In the long run, this should imho be
fixed in Perl though.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
On FreeBSD, PERL_SYS_INIT3 expands to some expression which triggers a "value
computed is not used" warning by gcc. By telling the compiler to ignore this
value, we can work around this issue. In the long run, this should imho be
fixed in Perl though.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
email plugin: Simplified code.
While looking at the code for some reason, I decided to simplify and
improve large parts of it. Most notably, standard IO streams are now used
to read from the socket. This allowed to remove large parts of the code
which were used to read and buffer data from the socket so far.
Also among the changes:
* free any allocated memory
* added / improved log messages
* do not require euid == 0 to chown() the socket
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
While looking at the code for some reason, I decided to simplify and
improve large parts of it. Most notably, standard IO streams are now used
to read from the socket. This allowed to remove large parts of the code
which were used to read and buffer data from the socket so far.
Also among the changes:
* free any allocated memory
* added / improved log messages
* do not require euid == 0 to chown() the socket
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd-perl(5): Documented the support for flush callbacks.
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.pm: Renamed the plugin_flush() "name" parameter to "plugins".
This is more consistent with Collectd::Unixsock.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This is more consistent with Collectd::Unixsock.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl plugin: Exported plugin_flush*() to Perl.
This adds the following functions to collectd's Perl API which flush the
given plugins using the given interval.
* Collectd::plugin_flush:
This function is a frontend to _flush_one() and _flush_all() and
expects up to two named parameters:
- timeout => $timeout
- name => $name or [ $name1, $name2, ... ]
* Collectd::plugin_flush_one:
This function expects exactly two parameters, namely the timeout and
the plugin name.
* Collectd::plugin_flush_all:
This function expects a single parameter, namely the timeout.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This adds the following functions to collectd's Perl API which flush the
given plugins using the given interval.
* Collectd::plugin_flush:
This function is a frontend to _flush_one() and _flush_all() and
expects up to two named parameters:
- timeout => $timeout
- name => $name or [ $name1, $name2, ... ]
* Collectd::plugin_flush_one:
This function expects exactly two parameters, namely the timeout and
the plugin name.
* Collectd::plugin_flush_all:
This function expects a single parameter, namely the timeout.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl plugin, Collectd.pm: Added support to flush Perl plugins.
Perl plugins may now register a callback of type Collectd::TYPE_FLUSH. A
single integer argument, representing the timeout in seconds, will be
passed to such callbacks.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Perl plugins may now register a callback of type Collectd::TYPE_FLUSH. A
single integer argument, representing the timeout in seconds, will be
passed to such callbacks.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Collectd.pm: Fixed the check for complete function names in plugin_register.
plugin_register() checks if the registered function includes the plugin's
package name. Up to now, this check would also have succeeded if the
function name itself would be prepended by the package name. Now, the
check looks for the separator "::".
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
plugin_register() checks if the registered function includes the plugin's
package name. Up to now, this check would also have succeeded if the
function name itself would be prepended by the package name. Now, the
check looks for the separator "::".
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.2' into collectd-4.3
Moved <statgrab.h> out of "collectd.h" and into the plugins that actually use the library.
The libstatgrab specific CFLAGS are only passed to these plugins, so that other
plugins may fail if libstatgrab is in a non-standard path.
The libstatgrab specific CFLAGS are only passed to these plugins, so that other
plugins may fail if libstatgrab is in a non-standard path.
Merge branch 'collectd-4.2' into collectd-4.3
Merge branch 'collectd-4.2' of /var/lib/git/collectd into collectd-4.2
build system: Fix another bug in the detection of the statgrab library.
Merge branch 'collectd-4.3' into collectd-4.4
Merge branch 'collectd-4.2' into collectd-4.3
Merge branch 'collectd-4.2' of git://git.verplant.org/collectd into collectd-4.2
Merge branch 'collectd-4.3' of git://git.verplant.org/collectd into collectd-4.3
Merge branch 'collectd-4.2' into collectd-4.3
Conflicts:
src/Makefile.am
Conflicts:
src/Makefile.am
build system: Use pkg-config to determine flags for the statgrab library.
build system: Don't (accidentally) clear the LDFLAGS when checking for libxml2 or libvirt.
Bumped version to 4.3.3; Updated ChangeLog.
Merge branch 'collectd-4.2' into collectd-4.3
ChangeLog: Add missing notes about _REENTRANT and the sensors plugin.
Merge branch 'collectd-4.2' into collectd-4.3
Conflicts:
ChangeLog
version-gen.sh
Conflicts:
ChangeLog
version-gen.sh
Bumped version to 4.2.7; Updated ChangeLog.
migrate-3-4.px: Rename vs_processes's data source from "total" to "value".
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@verplant.org>
collection.cgi: Updated "vserver" graph definitions to version 4.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@verplant.org>
teamspeak2 plugin: Remove some debug messages.
teamspeak2 plugin: Be case-insensitive when checking for errors.
Apparently the error and okay messages may have different cases..
Apparently the error and okay messages may have different cases..
teamspeak2 plugin: Collect `servers' and `channels', too.
sensors plugin: Fix the return status of `sensors_snprintf_chip_name'.
The function should return <0 only if an error occured, but in two out of three
branches the initial status of -1 was not modified. This may have rendered the
sensors plugin unusable for some people.
The function should return <0 only if an error occured, but in two out of three
branches the initial status of -1 was not modified. This may have rendered the
sensors plugin unusable for some people.
configure: Build perl bindings only if a perl interpreter is available.
For this purpose a check for the perl interpreter has been added. As the
check for libperl requires a perl interpreter as well (to get the compiler
and linker flags) the perl module will be disabled as well if a perl
interpreter is not available.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@verplant.org>
For this purpose a check for the perl interpreter has been added. As the
check for libperl requires a perl interpreter as well (to get the compiler
and linker flags) the perl module will be disabled as well if a perl
interpreter is not available.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@verplant.org>
collectd.conf(5): Document the `DataSource' option.
src/utils_threshold.c: Fix a simple typo.
Merge branch 'collectd-4.3'
Merge branch 'collectd-4.2' into collectd-4.3
src/utils_threshold.c: Check all matching thresholds and respect the data source setting.
This commit breaks up the original `ut_check_threshold' function into some
smaller functions which is much easier to read. Also adds some (hopefully)
informative comments that explain what the functions do.
The changes compile but have not yet been tested! Also, the
collectd.conf(5) manpage needs to be updated.
References: #11
This commit breaks up the original `ut_check_threshold' function into some
smaller functions which is much easier to read. Also adds some (hopefully)
informative comments that explain what the functions do.
The changes compile but have not yet been tested! Also, the
collectd.conf(5) manpage needs to be updated.
References: #11
src/utils_threshold.c: Implement configuration of multiple data sources per type.
This is the first part that implements the configuration of multiple data
sources. The part that implements matching will be added later.
This is the first part that implements the configuration of multiple data
sources. The part that implements matching will be added later.
build system: Check if strtok_r needs _REENTRANT
Resolves: #8
Resolves: #8
Merge branch 'sh/teamspeak2'
teamspeak2 plugin: Call `tss2_vserver_gapl' from `tss2_read_vserver'.
This way the file descriptors can be reused and we can assure that the vserver
has been selected.
This way the file descriptors can be reused and we can assure that the vserver
has been selected.
teamspeak2 plugin: Add collection of packet loss.
I added another interesting gauge to the sets of values which get fetched. The
average package loss in percent. I used the percent type from types.db...not
really intuitive when looking at the folders but it works. I also tried to add
something to the manpage...but I wasn't able to test it because the manpages
just don't install with make install...
I added another interesting gauge to the sets of values which get fetched. The
average package loss in percent. I used the percent type from types.db...not
really intuitive when looking at the folders but it works. I also tried to add
something to the manpage...but I wasn't able to test it because the manpages
just don't install with make install...
16 years agoMerge branch 'collectd-4.2' of octo@verplant.org:/var/lib/git/collectd into collectd-4.2
Merge branch 'collectd-4.2' of octo@verplant.org:/var/lib/git/collectd into collectd-4.2
Merge branch 'sh/teamspeak2'
AUTHORS: Added Stefan Hacker.
teamspeak2 plugin: Inform about unknown fields.
Known but uninteresting fields are ignored.
Known but uninteresting fields are ignored.
collectd.conf(5): teamspeak2/Port needs to be a string.
Also corrected a typo in src/collectd.conf.in.
Also corrected a typo in src/collectd.conf.in.
teamspeak2 plugin: Added comments.
I added a few more comments so I could understand it better ;-)
I added a few more comments so I could understand it better ;-)
teamspeak2 plugin: Flush the sending filehandle after writing to it.
The only real Problem I found is that you forgot to flush the outgoing buffer
after using fputs so nothing got sent. I added the fflush but now I'm not
really sure what would happen if sending failed....
The only real Problem I found is that you forgot to flush the outgoing buffer
after using fputs so nothing got sent. I added the fflush but now I'm not
really sure what would happen if sending failed....
collectd.conf(5): Added documentation for the TeamSpeak2 plugin.
teamspeak2 plugin: Introduce and use the `io_octets' and `io_packets' types.
teamspeak2 plugin: Code cleanup.
The changes include:
- Use the ``tss2_'' prefix for all functions.
- Manage the global connection in two central functions rather than distribute
connection handling all over the place.
- Handle ``global'' and ``per server'' statistics in one function.
- Using `getaddrinfo' rather than `inet_addr' to allow for IPv6 connections.
- Some formatting.
The changes include:
- Use the ``tss2_'' prefix for all functions.
- Manage the global connection in two central functions rather than distribute
connection handling all over the place.
- Handle ``global'' and ``per server'' statistics in one function.
- Using `getaddrinfo' rather than `inet_addr' to allow for IPv6 connections.
- Some formatting.
apache, nginx plugins: Added "Verify{Peer,Host}" configuration options.
"VerifyPeer" may be used to disable peer SSL certificate verification and
"VerifyHost" may be used to disable peer host name (as provided by the SSL
certificate's CA or SAN fields) verification.
Using both options is similar to curl's "--insecure" command line
option.
As requested by Joerg Jaspert.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
"VerifyPeer" may be used to disable peer SSL certificate verification and
"VerifyHost" may be used to disable peer host name (as provided by the SSL
certificate's CA or SAN fields) verification.
Using both options is similar to curl's "--insecure" command line
option.
As requested by Joerg Jaspert.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.3'
Conflicts:
src/exec.c
Conflicts:
src/exec.c
Merge branch 'collectd-4.2' into collectd-4.3
Conflicts:
src/exec.c
Conflicts:
src/exec.c
exec plugin: Close all file descriptors but the one connected to the pipe.
powerdns plugin: Don't include <malloc.h>.
It isn't necessary and doesn't exist on some systems.
It isn't necessary and doesn't exist on some systems.
teamspeak2 plugin: Renamed some types and variables.
And beautyfied the error and debug messages.
And beautyfied the error and debug messages.
teamspeak2 plugin: Renamed the `tss2' plugin to `teamspeak2' and fixed warnings.
tss2 plugin: Add a plugin to query statistics from a TeamSpeak2 server.
Merge branch 'ff/ascent'
collectd.conf(5): Documented the `ascent' plugin.
Also updated the `README' file and the sample configuration.
Also updated the `README' file and the sample configuration.
ascent plugin: Store latency in seconds, not milli seconds.
ascent plugin: Fix classes/races and ignore unhandled tags.
Classes and races were exchanged, this was fixed.
Classes and races were exchanged, this was fixed.
migrate-3-4.px: Use 'rrdtool tune' instead of 'sed' to rename DS's.
Either the output format of 'rrdtool dump' has changed or there was an
error in the regex used with sed in the first place. Anyway, in some cases
the 'if_octects' DS's did not get translated. 'rrdtool tune' should be
able to handle it correctly in any case.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Either the output format of 'rrdtool dump' has changed or there was an
error in the regex used with sed in the first place. Anyway, in some cases
the 'if_octects' DS's did not get translated. 'rrdtool tune' should be
able to handle it correctly in any case.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
exec plugin: Removed whitespaces at EOL.
exec plugin: Separate stdout and stderr.
Hi!
Digitemp sends errors to stderr, but collectd handles stdout and stderr
as the same and reports parsing errors.
My idea is to seperate stdout and stderr.
I also removed the special pipe handling checking for stdin...
because exec plugin will alway have a fd > 2 for pipes !!
(fd 0,1 and 2 (stdin, stdout, stderr) are used by collectd with /dev/null if demonized)
now strings from stderr will be reportet by ERROR
cu Peter
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hi!
Digitemp sends errors to stderr, but collectd handles stdout and stderr
as the same and reports parsing errors.
My idea is to seperate stdout and stderr.
I also removed the special pipe handling checking for stdin...
because exec plugin will alway have a fd > 2 for pipes !!
(fd 0,1 and 2 (stdin, stdout, stderr) are used by collectd with /dev/null if demonized)
now strings from stderr will be reportet by ERROR
cu Peter
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ascent plugin: Added handling of `sessions'.
I. e. per-player information.
I. e. per-player information.
ascent plugin: New plugin to collect AscentEmu server statistics.
ipmi plugin: Add ignorelist functionality.
ipmi plugin: Improve error messages when removing a sensor.
Don't tell the user to file a bug report, when a sensor is removed because IPMI
reported an error. Tell him to file a bug report, though, if collectd doesn't
know how to handle the value.
Don't tell the user to file a bug report, when a sensor is removed because IPMI
reported an error. Tell him to file a bug report, though, if collectd doesn't
know how to handle the value.
16 years agoipmi plugin: Add a stupi bug which prevented basically all sensors from being collected.
ipmi plugin: Add a stupi bug which prevented basically all sensors from being collected.
src/collectd.conf.in: Added a `LoadPlugin' line for the ipmi plugin.
configure.in: Add the OpenIPMI library to the status output.
COPYING: Switched to a version with the new address of the FSF.
Merge branch 'collectd-4.3'
Merge branch 'collectd-4.2' into collectd-4.3
COPYING: Added the file (including the GPLv2).
Newer versions of automake copy the GPLv3 when invoked with ``--add-missing''
which is not what we want.
Newer versions of automake copy the GPLv3 when invoked with ``--add-missing''
which is not what we want.
ipmi plugin: Add a plugin to read sensor values via IPMI.
The plugin is very basic and still basically alpha quality. You cannot
configure anything yet, neither where to connect to (the local, SMI connection
is used right now) nor what sensors to collect (collects all it can make sense
of). I hope to be able to do that on friday or some other workday in the near
future.
The plugin is very basic and still basically alpha quality. You cannot
configure anything yet, neither where to connect to (the local, SMI connection
is used right now) nor what sensors to collect (collects all it can make sense
of). I hope to be able to do that on friday or some other workday in the near
future.
Merge branch 'collectd-4.3'
Merge branch 'collectd-4.2' into collectd-4.3
Conflicts:
configure.in
src/plugin.c
Conflicts:
configure.in
src/plugin.c
unixsock plugin: Do not unregister a write-callback in us_shutdown().
The unixsock plugin no longer registers a write-callback. Basically,
unregistering a non-existent callback does not do any harm, However, if no
write-callback has been registered at all, the appropriate linked list has
never been created and the process will segfault when trying to access it.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The unixsock plugin no longer registers a write-callback. Basically,
unregistering a non-existent callback does not do any harm, However, if no
write-callback has been registered at all, the appropriate linked list has
never been created and the process will segfault when trying to access it.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in: Set CPPFLAGS when checking headers.
When checking for <upsclient.h> (and the headers of a few other libraries) the
library specific CFLAGS were added to the global CFLAGS variable. This variable
is used when checking for ``header usability'', but not when checking for
``header presence'' for some reason.
This commit uses the global CPPFLAGS variable instead, which is used in both
checks. Libraries that benefit from this commit are:
- libcurl,
- libmysql(client),
- libnetsnmp,
- libupsclient.
Resolves #6
When checking for <upsclient.h> (and the headers of a few other libraries) the
library specific CFLAGS were added to the global CFLAGS variable. This variable
is used when checking for ``header usability'', but not when checking for
``header presence'' for some reason.
This commit uses the global CPPFLAGS variable instead, which is used in both
checks. Libraries that benefit from this commit are:
- libcurl,
- libmysql(client),
- libnetsnmp,
- libupsclient.
Resolves #6
apache plugin: Increase the size of the read-buffer dynamically.
Why guess the size if you can just adapt to whatever comes in? The memory isn't
freed ever, though.
Why guess the size if you can just adapt to whatever comes in? The memory isn't
freed ever, though.
src/plugin.c: plugin_dispatch_values: Improve the error messages.
If no write plugin was loaded or no DS was defined, the
`plugin_dispatch_values' used to fail silently. This is of course not good, so
this commit introduces error messages for this case, so that users can see why
their setup is not working properly.
Also, the ``no such DS type'' message was promoted from DEBUG to INFO.
If no write plugin was loaded or no DS was defined, the
`plugin_dispatch_values' used to fail silently. This is of course not good, so
this commit introduces error messages for this case, so that users can see why
their setup is not working properly.
Also, the ``no such DS type'' message was promoted from DEBUG to INFO.
src/common.c: Make really sure BYTE_ORDER and BIG_ENDIAN are defined.
If both, BYTE_ORDER and BIG_ENDIAN, are undefined, the statement
#if BYTE_ORDER == BIG_ENDIAN
will be evaluated to `true', which may cause `ntohll' and `htonll' to behave
weird.
If both, BYTE_ORDER and BIG_ENDIAN, are undefined, the statement
#if BYTE_ORDER == BIG_ENDIAN
will be evaluated to `true', which may cause `ntohll' and `htonll' to behave
weird.
src/utils_tail.c: Call `stat' after reading till the end of file.
The old code used stat(2) to determine if the file was moved and reopened the
file before reading anything. This way lines, that were added to the file
before it was moved, would have been missed. This commit changes that behavior
so that the file is read until EOF and _then_ stat(2) is used to check if the
file has been moved away.
The old code used stat(2) to determine if the file was moved and reopened the
file before reading anything. This way lines, that were added to the file
before it was moved, would have been missed. This commit changes that behavior
so that the file is read until EOF and _then_ stat(2) is used to check if the
file has been moved away.