contrib/extractDS.px: Allow extration of multiple DSes into one file with multiple DSes.
This is needed to migrate the old disk-RRD-files.
This is needed to migrate the old disk-RRD-files.
collectd(1): Changed plugin information for v4.
Also removed information about the `modes' and RRD-file definitions.
Also removed information about the `modes' and RRD-file definitions.
Include `config.h' from all files.
Either directly or indirectly via `collectd.h'.
Either directly or indirectly via `collectd.h'.
Merge branch 'pull/collectd-4' into collectd-4
Merge branch 'master' into collectd-4
Conflicts:
src/multimeter.c
src/network.c
src/utils_debug.c
Conflicts:
src/multimeter.c
src/network.c
src/utils_debug.c
Merge branch 'collectd-3.11'
Include "config.h" rather than <config.h>.
[PATCH] Added large file support ("backported" to collectd-3).
This adds large file support to collectd by using the AC_SYS_LARGEFILE macro
in configure.in. In order to apply any necessary options to all parts of
collectd, we have to make sure config.h is included in all source files
(either directly or by including collectd.h) and before any other header files
are included.
This should fix http://bugs.debian.org/422212.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
This adds large file support to collectd by using the AC_SYS_LARGEFILE macro
in configure.in. In order to apply any necessary options to all parts of
collectd, we have to make sure config.h is included in all source files
(either directly or by including collectd.h) and before any other header files
are included.
This should fix http://bugs.debian.org/422212.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
src/plugin.c: assert (ds->ds_num == vl->values_len); when debug is enabled.
configure.in: Don't check for grp.h twice.
perl plugin: Work around a redefinition of DEBUG in perl.h.
Some versions of Perl define their own verion of DEBUG in perl.h overwriting
the definition found in plugin.h. This works around this issue.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Some versions of Perl define their own verion of DEBUG in perl.h overwriting
the definition found in plugin.h. This works around this issue.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
unixsock plugin: Don't assert that `ds->ds_num == vl->values_num' when not built with debugging enabled.
disk plugin: Correct the collection of {read,write}-time.
It's actually `average time an IO-operation needs'.
It's actually `average time an IO-operation needs'.
Merge branch 'pull/collectd-4' into collectd-4
unixsock plugin: Don't include <sys/poll.h> since it's not used.
email plugin: Include <sys/un.h> rather than <linux/un.h>.
apple_sensors plugin: Fix the `module_register' function.
configure.in: Bumped version to 4.0.0-rc9
unixsock plugin: Remove the socket-file after closing the socket.
iptables plugin: Fix a segfault in the shutdown code.
That's the problem with macros: `for (...) sfree (ptr);' doesn't work.
That's the problem with macros: `for (...) sfree (ptr);' doesn't work.
src/types_list.c: Strip newlines from the end of the line.
memory plugin: Bugfix: values_len is one now, not four.
memory plugin: Fix the Linux-code: It submitted the same value for all RRD-files.
src/plugin.c: Check `list_data_set' to be non-NULL before querying it.
configure.in: Bumped version to 4.0.0-rc8
src/Makefile.am: Include `types.db' in the tarballs.
types.db: Reverse the order of the `df'-DSes.
memory plugin: Fix the `sysctl'-code which submitted the same values for all instances.
src/plugin.c: Copy the data-sets before inserting them in the list.
Thus memory management is done by `plugin.c' and overwritten DSes can be freed.
Thus memory management is done by `plugin.c' and overwritten DSes can be freed.
configure.in: Bumped version to 4.0.0-rc7
Merge branch 'ff/types' into collectd-4
src/configfile.c: s/TypesDS/TypesDB/;
17 years agoRemoved the config-option `LoadDS' and the passing of the `modreg_e' enum to `module_...
Removed the config-option `LoadDS' and the passing of the `modreg_e' enum to `module_register' again.
17 years agotypes_list: Do not free `ds' and `dsrc' because it's not copied in `plugin_register_d...
types_list: Do not free `ds' and `dsrc' because it's not copied in `plugin_register_data_set'.
This is a TODO.
This is a TODO.
types_list: More error-messages when something cannot be parsed.
types_list: Added `types.db'.
src/types_list.c: Added a function to parse a generic list of `types'.
It's not yet tested, but it compiles ;)
It's not yet tested, but it compiles ;)
liboconfig/Makefile.am: Don't remove `parser.[ch]' and `scanner.c' when making `clean'.
Fixed Shebang line in contrib/iptables/accounting.sh.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
configure.in: Check for `libgen.h'.
rrdtool plugin: Updated copyright notice.
configure.in: Bumped version to 4.0.0-rc6
liboconfig, liboping: Set version information.
Link against liboconfig statically or use external shared library.
There is no point in linking against liboconfig dynamically if it is only used
in one place.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
There is no point in linking against liboconfig dynamically if it is only used
in one place.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
perl plugin: Added the "IncludeDir" config option.
"IncludeDir <Dir>" adds <Dir> to the @INC array.
A segfault when parsing unknown config options has been fixed and documentation
about the perl plugin has been added to collectd.conf.pod.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
"IncludeDir <Dir>" adds <Dir> to the @INC array.
A segfault when parsing unknown config options has been fixed and documentation
about the perl plugin has been added to collectd.conf.pod.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
perl plugin: Respect the modreg flags in module_register ().
TODO: Pass on MR_DATASETS to perl plugins.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
TODO: Pass on MR_DATASETS to perl plugins.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
src/Makefile.am: Define `PREFIX' for the unixsock plugin.
migrate-3-4.px: Split up the memory.rrd file.
memory plugin: Split up the memory data-sources into several data-sets.
src/liboconfig: Imported liboconfig 0.1.2.
Merge branch 'pull/collectd-4' into collectd-4
email plugin: Fix a segfault in the shutdown routine.
It was only caused when run in DS-only-mode.
It was only caused when run in DS-only-mode.
email plugin: Only kill threads/close sockets that exist/are opened.
collectd.conf.in: Added the `Hostname' option to the sample config file.
Merge branch 'pull/collectd-4' into collectd-4
contrib: Collectd::Unixsock: Added inline-documentation.
17 years agounixsock plugin: Don't add values to the cache that are older or as old as the values...
unixsock plugin: Don't add values to the cache that are older or as old as the values in the cache.
perl plugin: Use `Perl_newSVpv' rather than `newSVpv'
..cause Sebastian said to do so ;)
..cause Sebastian said to do so ;)
rrdtool plugin: config: Copy `value' before modifying it.
Merge branch 'pull/collectd-4'
build system: Use the prefix given to --with-libperl to set the path to the perl interpreter.
cpu plugin: Return an integer even under FreeBSD.
rrdtool plugin: Add a config option to configure the RRA-timespans at runtime.
configure.in: Bumped version to 4.0.0-rc5
Merge branch 'sh/perl' into collectd-4
configure.in: Print the Perl-version in the configure-summary.
collectd-nagios(1): Added manpage for the Nagios-glue.
ChangeLog: Added a note about the perl plugin.
perl plugin: Use the `BaseName' only if it is non-empty.
configure.in: Bumped version to 4.0.0-rc4
Merge branch 'pull/collectd-4' into collectd-4
ping plugin: Improved error and debug messages.
ping plugin: Fail if no hosts was pinged.
Merge branch 'pull/collectd-4' into collectd-4
perl plugin: Exported plugin_log() to Perl.
This adds the following function to collectd's Perl API:
Collectd::plugin_log:
pass a message to collectd's logging mechanism
arguments:
level - log level
message - log message
The log level should be any of the Collectd::LOG_* constants.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
This adds the following function to collectd's Perl API:
Collectd::plugin_log:
pass a message to collectd's logging mechanism
arguments:
level - log level
message - log message
The log level should be any of the Collectd::LOG_* constants.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
perl plugin: Exported plugin_log() to Perl.
This adds the following function to collectd's Perl API:
Collectd::plugin_log:
pass a message to collectd's logging mechanism
arguments:
level - log level
message - log message
The log level should be any of the Collectd::LOG_* constants.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
This adds the following function to collectd's Perl API:
Collectd::plugin_log:
pass a message to collectd's logging mechanism
arguments:
level - log level
message - log message
The log level should be any of the Collectd::LOG_* constants.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
perl plugin: Added "BaseName" config option.
This option sets the basename of a Perl plugin, i.e. the prefix to its name
when loading the module. It defaults to "Collectd::Plugin".
Signed-off-by: Sebastian Harl <sh@tokkee.org>
This option sets the basename of a Perl plugin, i.e. the prefix to its name
when loading the module. It defaults to "Collectd::Plugin".
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Merge branch 'master' into collectd-4
Conflicts:
configure.in
Conflicts:
configure.in
Merge branch 'collectd-3.11'
Conflicts:
ChangeLog
Conflicts:
ChangeLog
Bumped version to 3.11.4; Updated ChangeLog.
src/utils_dns.c: Include `sys/socket.h' before `net/if_arp.h'.
configure.in: Improved the checks for `net/if_arp.h' and `netinet/if_ether.h'.
configure.in: Added check for `libperl'.
collectd(1): Added documentation for the `perl' plugin.
perl plugin: Added a plugin to embed a Perl interpreter into collectd.
This is the long awaited plugin that makes it possible to write plugins in
plain Perl. This is my first glance at using Perl's C API, so I'm pretty sure
there are some things that could habe been done better. Much of the plugin
could have been written in Perl as well, but I decided not to do so mainly for
exercise reasons ;-)
This plugin still needs a lot of testing. Also comments on the API, code, etc.
are very welcome.
Basically, the plugin is just the glue that's required for Perl plugins to
access collectd's internals. The following API is currently available:
Collectd::plugin_register:
register working functions or data sets with collectd
arguments:
type - type of the registered data
name - name of the plugin
data - reference to the plugin's working subroutine or the data set
Collectd::plugin_unregister:
unregister working functions or data sets from collectd
arguments:
type - type of the data to be unregistered
name - name of the plugin
Collectd::plugin_dispatch_values:
dispatch the collected values to the write functions
arguments:
name - name of the plugin
values - list of values to submit
The plugin type may be any of the following:
Collectd::TYPE_INIT
Collectd::TYPE_READ
Collectd::TYPE_WRITE
Collectd::TYPE_LOG
Collectd::TYPE_SHUTDOWN
Collectd::TYPE_DATASET
A data set is represented as a reference to an array containing hashes with the
following elements:
name => $ds_name (required)
type => $ds_type (default: COUNTER)
min => $ds_min (default: NAN)
max => $ds_max (default: NAN)
A value list is represented as a reference to a hash with the following
elements:
values => [ @values ] (required)
time => $time (default: time(NULL))
host => $hostname (default: hostname_g)
plugin => $plugin (default: "")
plugin_instance => $plugin_instance (default: "")
type_instance => $type_instance (default: "")
The default value is used whenever the element is not defined.
Three arguments are passed to write functions: the plugin's type, the plugin's
data set and the value list.
Two arguments are passed to log functions: the log level and the log message.
In case a function returns false (as interpreted by Perl) the following actions
are taken depending on the function type:
read: the function will be disabled for an increasing amount of time
init: the plugin will be disabled completely
anything else: a warning is logged
In addition to the ones listed above the following constants are also exported:
Collectd::DS_TYPE_COUNTER
Collectd::DS_TYPE_GAUGE
Collectd::LOG_ERR
Collectd::LOG_WARNING
Collectd::LOG_NOTICE
Collectd::LOG_INFO
Collectd::LOG_DEBUG
There is no need to load any Collectd modules - everything is completely
integrated into collectd.
TODO:
add support for accessing the config file
write documentation
add checks for perl to configure
Signed-off-by: Sebastian Harl <sh@tokkee.org>
This is the long awaited plugin that makes it possible to write plugins in
plain Perl. This is my first glance at using Perl's C API, so I'm pretty sure
there are some things that could habe been done better. Much of the plugin
could have been written in Perl as well, but I decided not to do so mainly for
exercise reasons ;-)
This plugin still needs a lot of testing. Also comments on the API, code, etc.
are very welcome.
Basically, the plugin is just the glue that's required for Perl plugins to
access collectd's internals. The following API is currently available:
Collectd::plugin_register:
register working functions or data sets with collectd
arguments:
type - type of the registered data
name - name of the plugin
data - reference to the plugin's working subroutine or the data set
Collectd::plugin_unregister:
unregister working functions or data sets from collectd
arguments:
type - type of the data to be unregistered
name - name of the plugin
Collectd::plugin_dispatch_values:
dispatch the collected values to the write functions
arguments:
name - name of the plugin
values - list of values to submit
The plugin type may be any of the following:
Collectd::TYPE_INIT
Collectd::TYPE_READ
Collectd::TYPE_WRITE
Collectd::TYPE_LOG
Collectd::TYPE_SHUTDOWN
Collectd::TYPE_DATASET
A data set is represented as a reference to an array containing hashes with the
following elements:
name => $ds_name (required)
type => $ds_type (default: COUNTER)
min => $ds_min (default: NAN)
max => $ds_max (default: NAN)
A value list is represented as a reference to a hash with the following
elements:
values => [ @values ] (required)
time => $time (default: time(NULL))
host => $hostname (default: hostname_g)
plugin => $plugin (default: "")
plugin_instance => $plugin_instance (default: "")
type_instance => $type_instance (default: "")
The default value is used whenever the element is not defined.
Three arguments are passed to write functions: the plugin's type, the plugin's
data set and the value list.
Two arguments are passed to log functions: the log level and the log message.
In case a function returns false (as interpreted by Perl) the following actions
are taken depending on the function type:
read: the function will be disabled for an increasing amount of time
init: the plugin will be disabled completely
anything else: a warning is logged
In addition to the ones listed above the following constants are also exported:
Collectd::DS_TYPE_COUNTER
Collectd::DS_TYPE_GAUGE
Collectd::LOG_ERR
Collectd::LOG_WARNING
Collectd::LOG_NOTICE
Collectd::LOG_INFO
Collectd::LOG_DEBUG
There is no need to load any Collectd modules - everything is completely
integrated into collectd.
TODO:
add support for accessing the config file
write documentation
add checks for perl to configure
Signed-off-by: Sebastian Harl <sh@tokkee.org>
README: Updated list of plugins and requirements.
contrib/: Updated the `README' file.
contrib/: Moved the SLES 10.1 files into a seperate subdirectory.
contrib/: Added `init.d-sles10.1' and `spec.sles10.1'.
contrib/: Added `extractDS.px' and `migrate-3-4.px'
src/plugin.c: Ensure that `wait_time' is at least `interval_g'.
nut plugin: Reconnect to the server if the connection is lost.
configure.in: Bumped version to 4.0.0-rc3.
src/plugin.c: Fix compiler-warnings for the Sun CC.
Assigning a (void *) to a function-pointer issues a warning with the Sun CC.
Assigning a (void *) to a function-pointer issues a warning with the Sun CC.
disk, tape plugin: Handle different `kstat_io_t' correctly.
configure.in: Many fixes for Solaris. Especially check the `kstat_io_t'-type for it's members.
Also changed `src/Makefile.am' to link `collectd-nagios' with `libsocket' if needed.
Also changed `src/Makefile.am' to link `collectd-nagios' with `libsocket' if needed.
disk plugin: The member-names of the `kstat_io_t'-struct were fixed.
cpu plugin: Don't use `COLLECT_STEP' anymore.
plugin.c: Take in account that `pthread_t' is a pointer under Darwin.
src/Makefile.am: Added `network.h' to the dependencies for the network plugin.