memory plugin: Converted to the new plugin interface.
network plugin: Use a global buffer and fill it as much as possible.
This should lessen network load, hopefully.
This should lessen network load, hopefully.
src/common.c: Removed `log_update_file' and `log_create_file'.
Also changed the license to GPLv2-only and updated the copyright date.
Also changed the license to GPLv2-only and updated the copyright date.
csv plugin: Added this plugin which writes to CSV files.
This is basically the old `logfile' functionality.
This is basically the old `logfile' functionality.
cpu plugin: Converted to the new plugin interface.
src/collectd.conf.in: Added the rrdtool plugin and configuration examples.
load, traffic plugins: Changed license to GPLv2 only.
apache plugin: Converted to the new plugin interface.
Merge branch 'master' into collectd-4
Conflicts:
src/sensors.c
Conflicts:
src/sensors.c
17 years agoMerge branch 'ff/plugins-ng' of octo@verplant.org:/var/lib/git/collectd into ff/plugi...
Merge branch 'ff/plugins-ng' of octo@verplant.org:/var/lib/git/collectd into ff/plugins-ng
sensors plugin: Converted to the new plugin interface.
17 years agosrc/plugin.[ch]: Store the hostname in a global variable to minimize calls to `gethos...
src/plugin.[ch]: Store the hostname in a global variable to minimize calls to `gethostname'.
src/plugin.h: Added `VALUE_LIST_INIT', a static initializer for value_list_t.
nfs plugin: Ported to the new plugin structure.
network plugin: Don't case an int to a void*, because some systems don't like it..
collectd.conf(5): Documented the option of the rrdtool-plugin.
rrdtool plugin: Implemented caching of values to minimize IO operations.
Use the `CacheTimeout' option to enable this feature.
Use the `CacheTimeout' option to enable this feature.
src/utils_llist.[ch]: Implemented `llist_remove'.
traffic plugin: Converted the plugin to the new plugin ifrastructure.
network plugin: Fix many bugs, especially `hton*' and `ntoh*' related.
load plugin: Set the hostname to something meaningfull, not `localhost'.
rrdtool plugin: Use the time supplied by the value list, not `N'.
src/plugin.[ch]: Include the time in the value list.
This is necessary when we will implement caching in the future.
This is necessary when we will implement caching in the future.
src/Makefile.am: Link the network plugin against pthread.
Merge branch 'master' into ff/plugins-ng
Conflicts:
src/collectd.c
src/network.c
Conflicts:
src/collectd.c
src/network.c
src/{dns,ntpd}.c: Use <poll.h> rather than <sys/poll.h>.
src/{collectd,plugin}.[ch]: Changed license to GPLv2 only.
src/configfile.c: Removed `cf_callback_socket'
.. since the network stuff is now implemented as a plugin.
.. since the network stuff is now implemented as a plugin.
network plugin: Changed the old network code to work as a plugin.
It's mostly untested, but basic sending appears to work fine.
It's mostly untested, but basic sending appears to work fine.
rrdtool plugin: Fixed misc. bugs and changed license to GPLv2 only.
common.c: Implemented `ntohll' and `htonll'.
email plugin: Ignore size if it less than or equal to zero.
Some daemons (e.g. postgrey) don't provide any size information.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Some daemons (e.g. postgrey) don't provide any size information.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
sensors plugin: Avoid assertion in ignorelist_match () when not configured.
If the sensors plugin is not configured (i.e. default settings are used) the
ignorelist (sensors_list) is never created causing the assertion in
ignorelist_match () to fail. This fixes it.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
If the sensors plugin is not configured (i.e. default settings are used) the
ignorelist (sensors_list) is never created causing the assertion in
ignorelist_match () to fail. This fixes it.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Bumped version to 3.11.0; Updated ChangeLog.
src/collectd.h: Don't mess with the syslog-stuff if it's present.
No idea where it came from, but it's not necessary, thus remove it. This even
resolves a conflice with some newer glibc version.
No idea where it came from, but it's not necessary, thus remove it. This even
resolves a conflice with some newer glibc version.
AUTHORS: Converted to UTF-8 and added Lubos' efforts.
Added the `mbmon' plugin to the ChangeLog for 3.11.0
.. and Flavio Stanchina to the list of contributors.
.. and Flavio Stanchina to the list of contributors.
Merge branch 'fs/mbmon'
Merge branch 'ls/sensors'
mbmon plugin: Change the definition of the RRD files.
Change the RRD files to be of the same format as the `apple_sensors' or the
`sensors extended' formats.
Change the RRD files to be of the same format as the `apple_sensors' or the
`sensors extended' formats.
Merge branch 'sh/email'
email plugin: Unlock mutexes before submitting the data.
All values are copied to local data structures in email_read () before they
are submitted. Thus the mutex can be unlocked before data is sent to the rrd
files or the network.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
All values are copied to local data structures in email_read () before they
are submitted. Thus the mutex can be unlocked before data is sent to the rrd
files or the network.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Merge branch 'collectd-3.10'
Conflicts:
ChangeLog
Conflicts:
ChangeLog
Bumped version to 3.10.4; Updated ChangeLog.
Bug#404018: Close the file descriptor when binding to a socket fails.
This closes the second part of the bug reported by Max Kellermann.
This closes the second part of the bug reported by Max Kellermann.
Bug#404018: Break out of the `while (loop)'-loop when no socket can be opened.
This fixes the first part of the bug reported by Max Kellermann.
This fixes the first part of the bug reported by Max Kellermann.
New plugin "mbmon" to collect motherboard status information:
temperatures, voltages and cooling fan speeds.
Signed-off-by: Flavio Stanchina <flavio@stanchina.net>
temperatures, voltages and cooling fan speeds.
Signed-off-by: Flavio Stanchina <flavio@stanchina.net>
email plugin: Made read_{char,line} functions static.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
email plugin: Write "0" values as well to distinguish from NaN's.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
collectd{,.conf}.pod: Extended and clarified documentation of the email plugin.
* Added a description of the protocol and the DS's to the manpage.
* Make clear that the group of the UNIX socket is always changed when running
as root.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
* Added a description of the protocol and the DS's to the manpage.
* Make clear that the group of the UNIX socket is always changed when running
as root.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
sensors plugin: Simplify the reload machanism.
Instead of calling `stat' in the `read' function and then, eventually, calling
the reload stuff, just call the reload function every time and have it return
without doing anything if the config didn't change. This way the reload logic
is not in the read function.
Instead of calling `stat' in the `read' function and then, eventually, calling
the reload stuff, just call the reload function every time and have it return
without doing anything if the config didn't change. This way the reload logic
is not in the read function.
Merge branches 'sh/email' and 'ls/processes'
sensors plugin: Reload lm_sensors' configuration when changed
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
sensors plugin: Made sensors.conf path configurable
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
sensors plugin: syslog() and DBG() calls unification
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
processes plugin: Do not complain of a disappeared task's proc dir
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
email plugin: Prepend the module name to any syslog messages
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
email plugin: Kill threads before closing the associated socket
If the socket is closed before the thread is terminated it might cause some
confusing error messages if the thread wants to read from the socket.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
If the socket is closed before the thread is terminated it might cause some
confusing error messages if the thread wants to read from the socket.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
SA plugin: Documentation updates
Signed-off-by: Alexander Wirt <formorer@formorer.de>
Signed-off-by: Alexander Wirt <formorer@formorer.de>
SA plugin: Added reconnect support (collectd_retries), code cleanup
The plugin now tries to reconnect if connection isn't possible
(default is 3 tries), this can adjusted with the collectd_retries
config parameter.
Signed-off-by: Alexander Wirt <formorer@formorer.de>
The plugin now tries to reconnect if connection isn't possible
(default is 3 tries), this can adjusted with the collectd_retries
config parameter.
Signed-off-by: Alexander Wirt <formorer@formorer.de>
src/Makefile.am: Added utils_dns.h to dns_la_SOURCES.
Without this change the .tar.{bz2,gz} does not contain utils_dns.h.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Without this change the .tar.{bz2,gz} does not contain utils_dns.h.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
contrib/collection.cgi: Added support for the email plugin.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
email plugin: Do not allocate memory for the return value in read_line ().
The read_line () function now uses the provided buffer to save the return
value to. In case no complete line could be read, read_line () is called
recursively until '\n' has been found or end-of-file has been reached.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
The read_line () function now uses the provided buffer to save the return
value to. In case no complete line could be read, read_line () is called
recursively until '\n' has been found or end-of-file has been reached.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
email plugin: Use a thread pool.
Up to now the email plugin created a thread for each connection. This thread
was destroyed after the connection has been closed. Now, a pool containing
MaxConns threads is created and a new connection is assigned to a free thread.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Up to now the email plugin created a thread for each connection. This thread
was destroyed after the connection has been closed. Now, a pool containing
MaxConns threads is created and a new connection is assigned to a free thread.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
email plugin: Prevent a segfault in read_line ().
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
SpamAssassin plugin: Reclicense again und remove debugging die
Due to some misunderstanding Artistic was not the right license so
I should GPL now instead of Artistic.
Additionally I removed a debugging "die" that should never have been checked
in into my svn repo (Thanks tokkee).
Signed-off-by: Alexander Wirt <formorer@formorer.de>
Due to some misunderstanding Artistic was not the right license so
I should GPL now instead of Artistic.
Additionally I removed a debugging "die" that should never have been checked
in into my svn repo (Thanks tokkee).
Signed-off-by: Alexander Wirt <formorer@formorer.de>
SpamAssassin plugin: Update license foo and add timout
Also updated example.cf to reflect the new timeout option
(default is 2 sec.). The whole thing is now dual licensed
(Artistic and Apache License).
Signed-off-by: Alexander Wirt <formorer@formorer.de>
Also updated example.cf to reflect the new timeout option
(default is 2 sec.). The whole thing is now dual licensed
(Artistic and Apache License).
Signed-off-by: Alexander Wirt <formorer@formorer.de>
load plugin: Made the data source variable `static'.
Also removed the `filename' member from `data_set_t' because it's not used.
Also removed the `filename' member from `data_set_t' because it's not used.
load plugin: Converted to the new plugin structure.
rrdtool plugin: First implementation of an rrdtool write plugin.
Many functions have been moved from `common.c' to a new file `rrdtool.c'. The
new plugin compiles, but has not yet been testet.
Many functions have been moved from `common.c' to a new file `rrdtool.c'. The
new plugin compiles, but has not yet been testet.
plugins: Implement a first version of the new plugin mechanismn.
Instead of the impractical `plugin_register' function, provide a variety of
different register functions, so plugin can `hook in' at various stages of the
daemon.
The most important new hook is likely the `write' hook which will allow for
generic `output plugins' to be plugged in.
Instead of the impractical `plugin_register' function, provide a variety of
different register functions, so plugin can `hook in' at various stages of the
daemon.
The most important new hook is likely the `write' hook which will allow for
generic `output plugins' to be plugged in.
src/utils_llist.[ch]: Added a generic linked list implementation.
email plugin: Added some information about this plugin and it's config options to the manpages.
Also updated the README file, fixed a little indentation in `src/collectd.h'
and force the base of the `SocketPerms' to be eight (i. e. assume octal numbers
when setting the permission).
Also updated the README file, fixed a little indentation in `src/collectd.h'
and force the base of the `SocketPerms' to be eight (i. e. assume octal numbers
when setting the permission).
Merge branch 'master' of octo@verplant.org:/var/lib/git/collectd
dns plugin: Documented plugin in the README file and the manpages.
contrib/collection.cgi: Added graphs for `opcode' RRD-files (from the dns plugin)
src/utils_dns.c: Implemented a handler for `DLT_LINUX_SLL'.
This is the ``Linux cooked capture encapsulation'', which is at least returned
when capturing the `any' device under Linux. This patch will strip off the
header and pass the packet to the IPv4 or IPv6 handler, whichever one is
ppropriate.
This is the ``Linux cooked capture encapsulation'', which is at least returned
when capturing the `any' device under Linux. This patch will strip off the
header and pass the packet to the IPv4 or IPv6 handler, whichever one is
ppropriate.
Merge branch 'aw/spamassassin'
Merge branch 'ls/shutdown'
sensors plugin: declare variables only if SENSORS_HAVE_READ
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
Merge branch 'ls/shutdown'
sensors plugin: fix shutdown for SENSORS_HAVE_READ
Sorry, too many changes for me to observe at once.
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
Sorry, too many changes for me to observe at once.
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
sensors plugin: shutdown implementation
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
sensors plugin: SENSORS_HAVE_READ unification
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
Signed-off-by: Stanek Lubos <kolektor@atlas.cz>
Merge branch 'sh/shutdown'
email plugin: Shutdown cleanly.
Using a shutdown function the email plugin closes any sockets, terminates all
running threads and removes the UNIX socket.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Using a shutdown function the email plugin closes any sockets, terminates all
running threads and removes the UNIX socket.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
email plugin: "Calculate" UNIX_PATH_MAX if it is not defined.
Some systems (e.g. Darwin) do not seem to define UNIX_PATH_MAX at all. Thus I
calculate it from the size of the sun_path character array of struct
sockaddr_un in this case.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Some systems (e.g. Darwin) do not seem to define UNIX_PATH_MAX at all. Thus I
calculate it from the size of the sun_path character array of struct
sockaddr_un in this case.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
email plugin: Make UNIX socket path configurable at compile time.
The prefix for the UNIX socket can be configured using the
COLLECTD_SOCKET_PREFIX macro. "email" will be prepended to it.
If you configure collectd using
CFLAGS="-DCOLLECTD_SOCKET_PREFIX='\"$path-\"'" ./configure
the socket will be found at "$path-email".
Signed-off-by: Sebastian Harl <sh@tokkee.org>
The prefix for the UNIX socket can be configured using the
COLLECTD_SOCKET_PREFIX macro. "email" will be prepended to it.
If you configure collectd using
CFLAGS="-DCOLLECTD_SOCKET_PREFIX='\"$path-\"'" ./configure
the socket will be found at "$path-email".
Signed-off-by: Sebastian Harl <sh@tokkee.org>
dns plugin: Remove unnecessary poll code and use the (blocking) `pcap_loop' function instead.
Not only does this simplify things *a lot* on *BSD and Mac OS X, because you
can't always call `poll' on their filedescriptors, it also simplifies the code
a lot and thus removes potential error sources.
Not only does this simplify things *a lot* on *BSD and Mac OS X, because you
can't always call `poll' on their filedescriptors, it also simplifies the code
a lot and thus removes potential error sources.
dns plugin: Use the standard member names for `struct in6_addr' accesses.
The 32bit members apparently are Linux or glibc specific, so don't use them.
The 32bit members apparently are Linux or glibc specific, so don't use them.
Imported Alexander's SpamAssassin-plugin to contrib/SpamAssassin/
configure.in: Set the default case for `--with--libpthread' to `yes'.
Also removed the `regex' output at the end of the configure run, because it was
empty.
Also removed the `regex' output at the end of the configure run, because it was
empty.
plugin.[ch]: Added support for an optional plugin shutdown function.
A plugin may register a shutdown function using plugin_register_shutdown ().
This function is called when collectd terminates either during normal
termination or after SIGINT or SIGTERM have been received.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
A plugin may register a shutdown function using plugin_register_shutdown ().
This function is called when collectd terminates either during normal
termination or after SIGINT or SIGTERM have been received.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
dns plugin: Fixed a compile error if pcap.h is not found.
If pcap.h is not found, the compiler complains about some "defined but not
used" warnings. As we're using -Werror this causes the build to abort.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
If pcap.h is not found, the compiler complains about some "defined but not
used" warnings. As we're using -Werror this causes the build to abort.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
ChangeLog: Collected the changes so far.
The new version needs to be released soon!
The new version needs to be released soon!
Merge branch 'ff/processes'
email plugin: Limit the `MaxConns' option by a hardcoded value.
Because typos (and ``typos'', i. e. dumb users) happen, it's better to not
allow INT_MAX connections. The problem is that on 32bit machines this would
a) create 2147483648 threads
b) allocate (at least) 512 GBytes of memory
which would result in certain death of either the daemon or the system.
This patch limits the number of connections (and thus threads and allocated
memory) to 16384, which ought to be enough for most people. Those, who need
more connections (and can accomplish this, even though there are quite narrow
OS limits) will need to recompile themselves.
Because typos (and ``typos'', i. e. dumb users) happen, it's better to not
allow INT_MAX connections. The problem is that on 32bit machines this would
a) create 2147483648 threads
b) allocate (at least) 512 GBytes of memory
which would result in certain death of either the daemon or the system.
This patch limits the number of connections (and thus threads and allocated
memory) to 16384, which ought to be enough for most people. Those, who need
more connections (and can accomplish this, even though there are quite narrow
OS limits) will need to recompile themselves.
email plugin: Made socket settings configurable.
Added config file support to the email plugin.
The following options are available:
* "SocketGroup <group name>"
Set the group the UNIX socket belongs to to <group name>.
* "SocketPerms <perms>"
Set the permissions of the UNIX socket to <perms>. No validation is done.
The user has to make sure reasonable values are given.
* "MaxConns <conns>"
The maximum number of concurrent connections is set to <conns>.
<perms> and <conns> may be given as decimal (no prefix), octal (prefix "0") or
sedecimal (a.k.a. hexadecimal, prefix "0x") values.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Added config file support to the email plugin.
The following options are available:
* "SocketGroup <group name>"
Set the group the UNIX socket belongs to to <group name>.
* "SocketPerms <perms>"
Set the permissions of the UNIX socket to <perms>. No validation is done.
The user has to make sure reasonable values are given.
* "MaxConns <conns>"
The maximum number of concurrent connections is set to <conns>.
<perms> and <conns> may be given as decimal (no prefix), octal (prefix "0") or
sedecimal (a.k.a. hexadecimal, prefix "0x") values.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
email plugin: Make it possible to build the plugin write-only.
So far the plugin simply imported `pthread.h'. If this headerfile (or the
library for that case) was not present, building the plugin would fail. This
patch makes `libpthread' a soft dependency, i. e. it's only necessary if you
want to read from the socket. Without `libpthread' being available the plugin
can still be used in server processes.
So far the plugin simply imported `pthread.h'. If this headerfile (or the
library for that case) was not present, building the plugin would fail. This
patch makes `libpthread' a soft dependency, i. e. it's only necessary if you
want to read from the socket. Without `libpthread' being available the plugin
can still be used in server processes.
Merge branches 'ff/dns' and 'sh/email' into next
Conflicts:
configure.in
src/Makefile.am
Conflicts:
configure.in
src/Makefile.am