src/plugin.[ch]: Add `log' callbacks.
collectd-nagios, rrdtool plugin, unixsock plugin: Use `isnan' rather than `==' or `!='.
src/collectd.h: Define a useable `NAN', based on `configure's findings.
configure.in: Added checks that find out how to include/define `NAN'.
email plugin: Converted to the new plugin interface.
Merge branch 'pull/collectd-4' into collectd-4
unixsock plugin: Replace `getgrnam' with `getgrnam_r'.
exec plugin: Replace `getpwnam' with `getpwnam_r'.
csv plugin: Replace `localtime' with `localtime_r'.
Replace all occurrences of `strtok' with `strtok_r'.
irq plugin: Fix for non-Linux systems.
src/common.c: Allow `check_create_dir' to create absolute directories.
Since the `DataDir' of the `csv' and `rrdtool' plugins are seperate from the
`BaseDir' setting, it makes sense to allow absolute directories here. The
(possibly more secure) alternative would be to disallow absolute directories
and force the user to create SymLinks instead.
Since the `DataDir' of the `csv' and `rrdtool' plugins are seperate from the
`BaseDir' setting, it makes sense to allow absolute directories here. The
(possibly more secure) alternative would be to disallow absolute directories
and force the user to create SymLinks instead.
src/collectd.conf.in: Added default entries for the `csv' and `rrdtool' plugins
.. and their options.
.. and their options.
csv plugin: Add a `DataDir' option.
Since the `rrdtool' and `csv' plugins may be loaded at the same time, one may
want to configure another path for this plugin, too.
Since the `rrdtool' and `csv' plugins may be loaded at the same time, one may
want to configure another path for this plugin, too.
Merge branch 'ff/vserver' into collectd-4
users plugin: Remove old `DBG' statement.
load plugin: Use `gauge_t' rather than `double'.
vserver plugin: Converted to the new plugin interface.
users plugin: Converted to the new plugin interface.
rrdtool plugin: Implemented the settings `StepSize', `HeartBeat', `RRARows', and `XFF'.
The documentation has been updated, too.
The documentation has been updated, too.
Introduce two global variables: `hostname_g' and `interval_g'.
hostname_g: Hostname we're running on. May be set in the configfile with the
`Hostname'-option. This replaces the global `hostname'-variable exported by
`plugin.c'.
interval_g: Interval in which we query the read plugins. This replaces the
`COLLECTD_STEP'-define and is configurable using the `Interval'-option.
hostname_g: Hostname we're running on. May be set in the configfile with the
`Hostname'-option. This replaces the global `hostname'-variable exported by
`plugin.c'.
interval_g: Interval in which we query the read plugins. This replaces the
`COLLECTD_STEP'-define and is configurable using the `Interval'-option.
irq plugin: Converted to the new plugin interface.
Merge branch 'master' into merge/collectd-4
Conflicts:
src/apache.c
Conflicts:
src/apache.c
Merge branch 'ph/irq'
irq plugin: Fixed some issues, renamed RRD-files.
I've looked into your plugin in more detail just now and fixed the
following issues:
- Moved the RRD-files into a subdirectory called `irq'. That's how it's
going to be done in the next major version.
- Renamed the DS to `value' and set the maximum value to 65535. I'm not
sure if this maximum value is big enough..?
- Don't use `LOG_EMERG' when config-problems are found. Rather, print to
`STDERR' since it's still available during configuration.
- Use `strsplit' when parsing `/proc/interrupts'. This makes much of the
pointer-arithmetic obsolete and the code much more readable.
- The device names are not used in the filename, though I'm not certain
if that's the way to go here.. On my workstation there is a line like
this:
193: 28492 IO-APIC-level uhci_hcd, uhci_hcd, uhci_hcd, ehci_hcd
Apparently the interrupt is shared among several USB-controllers. My
problem here is, that as soon as one device is deactivated or the
order changes, so does the filename. Besides, a filename along the
lines of `irq-193-uhci_hcd-ehci_hcd.rrd' would be nice.
On another machine I have this line:
217: 50173955 0 IO-APIC-level 3ware Storage Controller
Where one device somehow manages to write a _description_ in there.
This makes detection of such shared interrupts as above tricky.
If anyone has a good idea how to use the last part of the lines for a
filename, please let me know.
I've looked into your plugin in more detail just now and fixed the
following issues:
- Moved the RRD-files into a subdirectory called `irq'. That's how it's
going to be done in the next major version.
- Renamed the DS to `value' and set the maximum value to 65535. I'm not
sure if this maximum value is big enough..?
- Don't use `LOG_EMERG' when config-problems are found. Rather, print to
`STDERR' since it's still available during configuration.
- Use `strsplit' when parsing `/proc/interrupts'. This makes much of the
pointer-arithmetic obsolete and the code much more readable.
- The device names are not used in the filename, though I'm not certain
if that's the way to go here.. On my workstation there is a line like
this:
193: 28492 IO-APIC-level uhci_hcd, uhci_hcd, uhci_hcd, ehci_hcd
Apparently the interrupt is shared among several USB-controllers. My
problem here is, that as soon as one device is deactivated or the
order changes, so does the filename. Besides, a filename along the
lines of `irq-193-uhci_hcd-ehci_hcd.rrd' would be nice.
On another machine I have this line:
217: 50173955 0 IO-APIC-level 3ware Storage Controller
Where one device somehow manages to write a _description_ in there.
This makes detection of such shared interrupts as above tricky.
If anyone has a good idea how to use the last part of the lines for a
filename, please let me know.
rrdtool plugin: Updated the documentation in `collectd.conf(5)'
.. and the sample config file.
.. and the sample config file.
src/configfile.c: Actually set the `BaseDir' option.
irq plugin: Added plugin to collect interrupt counters.
-- 8< --
Hi!
This plugin collects interrupts from /proc/interrupts
Usually all interrupts are collected but
you can configure what interruptnumbers are collected or not.
Example:
collect only wanted irqs:
<Plugin irq>
Irq 0
Irq 14
IgnoreSelected false
</Plugin>
collect all but no these irqs:
<Plugin irq>
Irq 7
Irq 8
Irq 9
IgnoreSelected true
</Plugin>
cu Peter
-- >8 --
-- 8< --
Hi!
This plugin collects interrupts from /proc/interrupts
Usually all interrupts are collected but
you can configure what interruptnumbers are collected or not.
Example:
collect only wanted irqs:
<Plugin irq>
Irq 0
Irq 14
IgnoreSelected false
</Plugin>
collect all but no these irqs:
<Plugin irq>
Irq 7
Irq 8
Irq 9
IgnoreSelected true
</Plugin>
cu Peter
-- >8 --
exec plugin: Implemented a first version.
liboconfig: Import version 0.1.1.
rrdtool plugin: Fix another memory leak..
..or, possibly, fixed the first one correctly. It's kind of hard to tell with
that caching code :/
..or, possibly, fixed the first one correctly. It's kind of hard to tell with
that caching code :/
rrdtool plugin: Fix a memory leak.
rrdtool plugin: Use the AVL-tree to implement the cache.
src/utils_avltree.[ch]: Fix the iterator, since it's actually usefull with caches.
The rrdtool-plugin will use the iterator to find outdated cache-entries and
flush only them, not the entire cache.
The rrdtool-plugin will use the iterator to find outdated cache-entries and
flush only them, not the entire cache.
src/utils_avltree.[ch]: Documented the interface of the AVL-tree.
The iterator-code has been disabled, because it's not very practical and
`utils_llist' should be used if order matters. `avl_node_{next,prev}' have been
made `static', because they're not exported.
The iterator-code has been disabled, because it's not very practical and
`utils_llist' should be used if order matters. `avl_node_{next,prev}' have been
made `static', because they're not exported.
src/utils_avltree.c: Fix `avl_pick'.
Merge branch 'ff/avl-tree'
src/utils_avltree.c: Added `avl_pick'.
src/utils_avltree.c: Removal works, too.
src/utils_avltree.c: Insertion works correktly.
apache plugin: Support for lighttpd's `BusyServers' field was added.
src/collectd.conf.pod: Removed the part about the `ExtendedNaming' in the sensors plugin.
rrdtool plugin: Implemented a `DataDir' config option to be able to store the RRD-files anywhere.
src/collectd.conf.{in,pod}: Update the sample config and the config's documentation.
Removed `src/libconfig/*'.
src/collectd.conf.in: Added the `network' plugin.
src/common.c: Removed the (extern) variable `operating_mode'.
src/collectd.c: Removed `Mode' code and other old stuff.
Changed from the old `libconfig' to the new `liboconfig'.
Much work lies in front of us.. :/
Much work lies in front of us.. :/
Merge branch 'collectd-3.11' into merge/master
Conflicts:
contrib/fedora/collectd.spec
Conflicts:
contrib/fedora/collectd.spec
Merge branch 'collectd-3.11' into merge/collectd-4
Conflicts:
src/multimeter.c
src/plugin.c
Conflicts:
src/multimeter.c
src/plugin.c
Bumped version to 3.11.2; Updated ChangeLog.
{email,multimeter,users} plugin: Don't pass NULL-pointers to `plugin_submit'.
plugin.c: Catch NULL-pointers and fix it or ignore the values.
Some systems, such as Solaris, cannot handle NULL-pointers being passed to
`printf ("%s", NULL);' or the like. This caused a crash when sending the users
plugin's values over the network under Solaris.
Some systems, such as Solaris, cannot handle NULL-pointers being passed to
`printf ("%s", NULL);' or the like. This caused a crash when sending the users
plugin's values over the network under Solaris.
Merge branch 'collectd-3.11' into merge/collectd-4
Conflicts:
configure.in
src/processes.c
Conflicts:
configure.in
src/processes.c
README: Updated the informatioin about plugins and prerequisites.
dns plugin: Only include and build with `utils_dns.c' if it's actually used.
configure.in: Don't link all objects with `libkstat' and `libdevinfo'.
configure.in: Bump to 3.11.1; Improve the detection of `netinet/udp.h'.
ChangeLog: Added changes for version 3.11.1.
traffic pluxin: Remove unnecessary `strcpy'.
Merge branch 'pull/collectd-3.11' into collectd-3.11
src/utils_mount.c: Fix defines so `cu_mount_getlist' works under Solaris.
Merge branch 'sh/freebsd'
17 years agosrc/utils_dns.c: Fix the handling of the `struct udphdr' under the GNU libc and other...
src/utils_dns.c: Fix the handling of the `struct udphdr' under the GNU libc and other systems.
processes.c, utils_dns.c: Fix compile errors on GNU/kFreeBSD.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
collection.cgi: Fix typos.
Merge branch 'pull/uni' into collectd-4
tape plugin: Converted to the new plugin interface.
serial plugin: Converted to the new plugin interface.
multimeter plugin: Converted to the new plugin interface.
hddtemp plugin: Converted to the new plugin interface.
mbmon plugin: Correct the `type's being passed to the dispatch function.
mbmon plugin: Converted to the new plugin interface.
mysql plugin: Converted to the new plugin interface.
{apcups,battery} plugin: Changes the voltage DS as for the sensors plugin.
sensors plugin: Change the DS of `voltage' to be named `value' as for other physical data-sets.
plugin interface: If an init-function fails, write an error to syslog and remove the read function.
wireless plugin: Converted to the new plugin interface.
collection.cgi: Reload the images using JavaScript if enabled.
dns plugin: Converted to the new plugin interface.
swap plugin: Converted to the new plugin interface.
ntpd plugin: Converted to the new plugin interface.
unixsock plugin: Finally fixed the `pthread_t'-initialization to be platform independant.
unixsock plugin: Fix the initialization of the pthread variable under Mac OS X.
processes plugin: Converted to the new plugin interface.
A first version anyways.
A first version anyways.
Merge branch 'pull/collectd-4'
cpu plugin: Remove newline from syslog message.
src/plugin.c: Implemented delaying of read-functions that fail.
The usual quadratic increase of delay-intervals is being used to disable the
function for up to 24 hours.
The usual quadratic increase of delay-intervals is being used to disable the
function for up to 24 hours.
cpufreq plugin: Converted to the new plugin interface.
src/plugin.[ch]: Provide unregister-functions for plugins to remove certain functions.
disk plugin: Converted to the new plugin interface.
battery plugin: Converted to the new plugin interface.
df plugin: Converted to the new plugin interface.
unixsock plugin: Make created threads to be `detached'.
cpu plugin: Write each CPU-counter in a seperate RRD-file.
This has proven to be a lot more flexible. And if we're to add `interrupt' and
`soft interrupt' counters anyway, we might as well change it to this superior
layout.
This has proven to be a lot more flexible. And if we're to add `interrupt' and
`soft interrupt' counters anyway, we might as well change it to this superior
layout.
unixsock plugin, collectd-nagios: Use the hostname, too, to identify values.
This is, of course, necessary, because many hosts may submit their values.
This is, of course, necessary, because many hosts may submit their values.
collectd-nagios: Added an option to select certain DSes and updated the usage.
collectd-nagios: Added a small program to perform Nagios-compatible checks on values.
unixsock plugin: Transmit the DS name so clients can chose which values they need.