Florian Forster [Wed, 16 Jan 2013 21:00:11 +0000 (22:00 +0100)]
write_riemann plugin: Rename the "riemann" plugin.
Florian Forster [Wed, 16 Jan 2013 20:50:37 +0000 (21:50 +0100)]
riemann plugin: Clean up the riemann_connect() function.
Don't warn when connecting to some address fails. The system could, for
example, not have any IPv6 connectivity but the address record also
includes an IPv6 address. In this case a connect(2) call will fail but
this is not a problem.
Due to the new locking one of the concurrency checks was made redundant.
Florian Forster [Mon, 14 Jan 2013 08:49:17 +0000 (09:49 +0100)]
Merge remote-tracking branch 'github-octo/pyr/riemann' into pyr/riemann
Florian Forster [Sun, 13 Jan 2013 22:14:13 +0000 (23:14 +0100)]
riemann plugin: Implement the "StoreRates" option.
Florian Forster [Fri, 11 Jan 2013 12:43:59 +0000 (13:43 +0100)]
riemann plugin: Use the new strarray interface to allow indefinite number of tags.
Florian Forster [Fri, 11 Jan 2013 13:56:35 +0000 (14:56 +0100)]
src/common.[ch]: Implement strarray_{add,free}.
Florian Forster [Fri, 11 Jan 2013 10:52:14 +0000 (11:52 +0100)]
riemann plugin: Fix two minor bugs.
Florian Forster [Fri, 11 Jan 2013 10:30:14 +0000 (11:30 +0100)]
riemann plugin: Fix a double-free issue with the shared structure.
The reference to the riemann_host structure is shared between the write
and the notification callback. Upon exit, riemann_free() is called twice,
via the user_data_t structure passed to the register functions. Previously
this would have caused a double-free, which is unacceptable.
This patch introduces a reference counter and will only free the structure
(and close the socket) when the last reference is freed.
The locking has been moved out of the riemann_connect() function and into
the riemann_send() function. It is unlikely, but not impossible that two
threads interfere with each other when writing to the socket.
Florian Forster [Fri, 11 Jan 2013 09:33:36 +0000 (10:33 +0100)]
riemann plugin: Add support for service names.
I.e. you can not define a "riemann" service in /etc/services and then use
«Port "riemann"» in the configuration. Also add support for arbitrarily
long host names.
Florian Forster [Thu, 10 Jan 2013 10:40:58 +0000 (11:40 +0100)]
riemann plugin: Move the creation of protobufs into their own function.
This also adds a couple more tags, e.g. "type:..." and so on. The "host"
field is now correctly populated from the vl->host or n->host field.
Florian Forster [Wed, 9 Jan 2013 10:19:57 +0000 (11:19 +0100)]
riemann plugin: Make all private funcitons and module-global variables "static".
Florian Forster [Wed, 9 Jan 2013 10:18:34 +0000 (11:18 +0100)]
riemann plugin: Remove trailing white-space.
Florian Forster [Wed, 9 Jan 2013 10:18:05 +0000 (11:18 +0100)]
riemann plugin: Improve the riemann_send() function.
Make the passed in "Msg*" const, use swrite() to make sure the entire
buffer is sent and break out the disconnect logic into an own function.
Pierre-Yves Ritschard [Wed, 9 Jan 2013 09:02:50 +0000 (10:02 +0100)]
take into account PR comments from @octo
Signed-off-by: Florian Forster <octo@collectd.org>
Pierre-Yves Ritschard [Fri, 28 Dec 2012 20:51:12 +0000 (21:51 +0100)]
add support for notifications as well
Signed-off-by: Florian Forster <octo@collectd.org>
Pierre-Yves Ritschard [Fri, 21 Dec 2012 21:26:02 +0000 (22:26 +0100)]
Riemann UDP write plugin
First implementation of a riemann plugin.
This is basic for now and only support
sending to a UDP target, later work will
include notification support and service
rewriting.
Signed-off-by: Florian Forster <octo@collectd.org>
Florian Forster [Fri, 14 Dec 2012 10:40:41 +0000 (11:40 +0100)]
Remove the redundant and little used STATIC_ARRAY_LEN() macro.
Florian Forster [Fri, 14 Dec 2012 10:40:12 +0000 (11:40 +0100)]
apcups plugin: Implement the "ReportSeconds" option.
Florian Forster [Wed, 28 Nov 2012 09:16:26 +0000 (10:16 +0100)]
Merge branch 'sh/config-include'
Sebastian Harl [Wed, 28 Nov 2012 08:44:59 +0000 (09:44 +0100)]
configfile: Free a string buffer returned by cf_util_get_string().
Sebastian Harl [Wed, 28 Nov 2012 08:32:43 +0000 (09:32 +0100)]
config: Implemented include filter pattern as sub-option in a <Include> block.
This has the advantage of being more easy to read/understand and also being
more flexible. E.g. multiple filters and other options may be specified in the
future.
Thanks to octo for suggesting this!
Florian Forster [Mon, 26 Nov 2012 10:30:25 +0000 (11:30 +0100)]
aggregation plugin: Make it possible to set parts of the identifier.
Sebastian Harl [Sat, 24 Nov 2012 09:26:20 +0000 (10:26 +0100)]
config: Added support for specifying include filter patterns.
An optional second argument may now be passed to the "Include" configuration
option. If specified (and if the fnmatch() function was available at build
time), only files matching this pattern will be included. For example, the
following will include all files matching "*.conf" in any subdirectory of
/etc/collectd.d/:
Include "/etc/collectd.d" "*.conf"
This is useful, e.g. for distributions in order to include a possibly empty
directory in the default configuration including all subdirectories but also
making it possible to ship further documents like README files.
Florian Forster [Mon, 19 Nov 2012 21:37:18 +0000 (22:37 +0100)]
src/utils_vl_lookup.[ch]: Support selecting values by regex.
The name generated by the Aggregation plugin currently includes the
regular expression, which is suboptimal. We need to come up with something
clever there I guess.
Florian Forster [Sat, 17 Nov 2012 23:24:09 +0000 (00:24 +0100)]
collectd.conf(5): Add the per-plugin interval to the synopsis.
Ruben Kerkhof [Sat, 17 Nov 2012 17:19:58 +0000 (18:19 +0100)]
Fix java detection as unprivileged user.
If you have an inaccessible directory inside
JAVA_HOME, find returns an error and the test fails.
I found this on Fedora, where /usr/lib64/audit is only
readable by root, and my JAVA_HOME was set to /usr
Signed-off-by: Florian Forster <octo@collectd.org>
Ruben Kerkhof [Sat, 17 Nov 2012 17:43:52 +0000 (18:43 +0100)]
Fix building of java binding
Caused by
d327beed4d1541d883c4823485b381d1dff79039
Signed-off-by: Florian Forster <octo@collectd.org>
Florian Forster [Sat, 17 Nov 2012 12:43:32 +0000 (13:43 +0100)]
src/libcollectdclient/Makefile.am: Fix typo.
Florian Forster [Sat, 17 Nov 2012 12:25:27 +0000 (13:25 +0100)]
src/libcollectdclient/Makefile.am: Add "collectd/network.h".
Florian Forster [Sat, 17 Nov 2012 12:12:42 +0000 (13:12 +0100)]
Bump version to 5.2.0; Update ChangeLog.
Ed Schouten [Sat, 17 Nov 2012 09:47:07 +0000 (10:47 +0100)]
src/libcollectdclient/network.c: Fix the build on FreeBSD.
On FreeBSD, we have to include <netinet/in.h> to get IN_MULTICAST(). We
don't need to include anything extra, as according to POSIX,
<netinet/in.h> also exposes htonl(). There is no need to include
<arpa/inet.h>.
Signed-off-by: Florian Forster <octo@collectd.org>
Ed Schouten [Sat, 17 Nov 2012 09:44:48 +0000 (10:44 +0100)]
src/libcollectdclient/network_buffer.c: Fix gcrypt build on FreeBSD.
As with src/network.c, we need to ensure that we define
GCRYPT_NO_DEPRECATED on FreeBSD to get rid of the compiler warnings
emitted by the header file.
Signed-off-by: Florian Forster <octo@collectd.org>
Florian Forster [Sat, 17 Nov 2012 11:41:34 +0000 (12:41 +0100)]
Merge branch 'collectd-5.1'
Florian Forster [Sat, 17 Nov 2012 11:41:26 +0000 (12:41 +0100)]
Merge remote-tracking branch 'origin/master'
Florian Forster [Sat, 17 Nov 2012 11:41:09 +0000 (12:41 +0100)]
Merge branch 'collectd-5.0' into collectd-5.1
Florian Forster [Sat, 17 Nov 2012 11:41:00 +0000 (12:41 +0100)]
Merge branch 'collectd-4.10' into collectd-5.0
Marc Fournier [Fri, 16 Nov 2012 11:12:19 +0000 (12:12 +0100)]
fixed paths in example configuration file
These paths previously got expanded to:
#BaseDir "/usr/var/lib/collectd"
instead of:
#BaseDir "/var/lib/collectd"
And on systems which put libs in /usr/lib64:
#PluginDir "/usr/lib/collectd"
instead of:
#PluginDir "/usr/lib64/collectd"
Signed-off-by: Florian Forster <octo@collectd.org>
Sebastian Harl [Sat, 17 Nov 2012 09:32:25 +0000 (10:32 +0100)]
lcc_features.h: Relicense under the MIT license.
Florian Forster [Sat, 17 Nov 2012 09:28:46 +0000 (10:28 +0100)]
src/libcollectdclient/network_buffer.c: Copy gcrypt import magic from the network plugin.
Florian Forster [Sat, 17 Nov 2012 09:23:39 +0000 (10:23 +0100)]
libcollectdclient: Update to the high-resolution time format.
Florian Forster [Sat, 17 Nov 2012 08:42:55 +0000 (09:42 +0100)]
Merge branch 'sr/pf'
Florian Forster [Sat, 17 Nov 2012 08:39:33 +0000 (09:39 +0100)]
Merge branch 'sh/postgresql-writer'
Conflicts:
src/collectd.conf.pod
src/postgresql.c
Florian Forster [Sat, 17 Nov 2012 08:28:39 +0000 (09:28 +0100)]
Merge branch 'sh/postgres-queries'
Florian Forster [Sat, 17 Nov 2012 08:11:52 +0000 (09:11 +0100)]
Merge branch 'libvirt-interfacenumber'
Florian Forster [Sat, 17 Nov 2012 07:55:29 +0000 (08:55 +0100)]
GenericJMXConfConnection: Automatically determine the host name.
Fixes Github issue #182.
Florian Forster [Sat, 17 Nov 2012 07:42:38 +0000 (08:42 +0100)]
libcollectdclient: Relicense under the MIT license.
Florian Forster [Sat, 17 Nov 2012 07:25:01 +0000 (08:25 +0100)]
Merge branch 'ff/netlib'
Conflicts:
src/collectdctl.c
src/libcollectdclient/client.c
src/libcollectdclient/collectd/client.h
Ed Schouten [Fri, 16 Nov 2012 20:58:46 +0000 (21:58 +0100)]
src/network.c: Fix the build on FreeBSD.
<gcrypt.h> accepts a definition called GCRYPT_NO_DEPRECATED to disable
deprecated functionality. Unfortunately, this definition is not
sufficient to suppress all warnings. However, FreeBSD's version of
libgcrypt has been fixed to properly remove all deprecated features.
Signed-off-by: Florian Forster <octo@collectd.org>
Florian Forster [Fri, 16 Nov 2012 07:12:15 +0000 (08:12 +0100)]
src/plugin.c: Replace the last use of "interval_g" in this file.
Florian Forster [Fri, 16 Nov 2012 06:53:27 +0000 (07:53 +0100)]
Merge branch 'sh/plugin_interval'
Conflicts:
src/amqp.c
src/exec.c
src/memcached.c
src/unixsock.c
Sebastian Harl [Thu, 15 Nov 2012 14:14:45 +0000 (15:14 +0100)]
collectd_insert.sql: Use timestamptz rather than timestamp.
Don't want to get messed-up values after daylight-savings changes.
Sebastian Harl [Thu, 15 Nov 2012 14:14:10 +0000 (15:14 +0100)]
utils_time: cdtime_to_iso8601(): Include timezone information as well.
Florian Forster [Thu, 15 Nov 2012 12:55:04 +0000 (13:55 +0100)]
src/configfile.[ch]: Implement the cf_get_default_interval() function.
This should be able to replace "interval_g" in a global (i.e. non-plugin)
context, such as the interval in which timeouts are being checked.
The default value (10 seconds) is also configurable at compile time using
a define.
Sebastian Harl [Thu, 15 Nov 2012 12:42:29 +0000 (13:42 +0100)]
postgresql plugin: Simplified transaction handling a bit.
Don't set any next commit time after committing a transaction but only when
starting a new transaction. This way, db->next_commit == 0 always means that
we're outside of a transaction. Also, this removes the need to restart a
transaction right away. Rather, the write callback will take care of that the
next time it gets any data.
Sebastian Harl [Thu, 15 Nov 2012 12:36:52 +0000 (13:36 +0100)]
collectd.conf(5): Documented the postgresql FLUSH support.
Sebastian Harl [Thu, 15 Nov 2012 12:29:20 +0000 (13:29 +0100)]
postgresql plugin: Added support for "flushing" data.
This may be used to commit a PostgreSQL writer's transaction. Two different
types of flush callbacks are registered:
- postgresql: Flush *all* databases.
- postgresql-<database>: Flush the database named '<database>' only.
Sebastian Harl [Thu, 15 Nov 2012 09:04:46 +0000 (10:04 +0100)]
postgresql plugin: Fixed unregistering of write callbacks.
Rather than unregistering some callback for each writer for each database,
unregister the single callback for each database only.
Sebastian Harl [Thu, 15 Nov 2012 06:43:02 +0000 (07:43 +0100)]
postgresql plugin: Unregister all writers on shutdown.
This will make sure that all pending transactions will be committed. Else, the
open transactions would be rolled back by the PostgreSQL backend when closing
the connection.
In order to do so, all database connections are now stored in a plugin-global
array (this will also make further changes possible). Also, a ref-count has
been added to the database object in order to support "deleting" an object
twice when having it in use by a connection doing queries and writes.
Sebastian Harl [Wed, 14 Nov 2012 20:11:36 +0000 (21:11 +0100)]
postgresql plugin: Commit a transaction before shutting down a connection.
Also, make sure to acquire the database lock before that in order to wait for,
for example, outstanding writers.
Sebastian Harl [Wed, 14 Nov 2012 20:08:42 +0000 (21:08 +0100)]
postgresql plugin: Don't try to restart a failed transaction when there's none.
Sebastian Harl [Wed, 14 Nov 2012 19:05:33 +0000 (20:05 +0100)]
postgresql plugin: Restart a writer transaction if the writer's query failed.
The failed query inside the transaction causes the transaction to be aborted
and all subsequent queries to fail as well.
Sebastian Harl [Wed, 14 Nov 2012 18:58:25 +0000 (19:58 +0100)]
collectd.conf(5): Documented the postgresql <Database> 'Writer' option.
Sebastian Harl [Wed, 14 Nov 2012 18:51:41 +0000 (19:51 +0100)]
collectd.conf(5): Documented the "CommitInterval" option of 'postgresql'.
Sebastian Harl [Wed, 14 Nov 2012 18:36:00 +0000 (19:36 +0100)]
collectd_insert.sql: Let values_update_childs() return table names.
The function will now return a set of the names of child tables that have been
created.
Sebastian Harl [Thu, 25 Oct 2012 10:37:02 +0000 (12:37 +0200)]
collectd_insert.sql: Added view 'collectd'.
This view provides a join of the 'identifiers' and 'values' tables plus an
additional column with the serialized collectd identifier.
Sebastian Harl [Thu, 25 Oct 2012 09:00:09 +0000 (11:00 +0200)]
postgresql plugin: Added 'CommitInterval' config option.
If specified, this option causes a writer to put several updates into a single
transaction. This transaction will last for the specified amount of time (in
seconds). By default, each update would be executed in a separate transaction
causing quite some overhead.
Sebastian Harl [Wed, 14 Nov 2012 18:19:54 +0000 (19:19 +0100)]
collectd-perl(5): Don't actually use $interval_g in any examples.
Sebastian Harl [Wed, 14 Nov 2012 18:19:05 +0000 (19:19 +0100)]
collectd-perl(5): Mention that $interval_g should not be used.
Sebastian Harl [Wed, 14 Nov 2012 18:08:30 +0000 (19:08 +0100)]
perl plugin: Emit a warning when accessing $interval_g.
Rather, point to plugin_get_interval().
Sebastian Harl [Wed, 14 Nov 2012 18:05:10 +0000 (19:05 +0100)]
perl plugin: Simplified $interval_g implementation.
Don't pass any pointers to interval_g around just in order to later
dereference them. There's just no reason to do so ;-)
Sebastian Harl [Wed, 14 Nov 2012 18:00:25 +0000 (19:00 +0100)]
Collectd.pm: Use plugin_get_interval() rather than $interval_g.
Sebastian Harl [Wed, 14 Nov 2012 17:58:01 +0000 (18:58 +0100)]
Collectd::Plugins::OpenVZ: Use plugin_get_interval() rather than $interval_g.
Sebastian Harl [Wed, 14 Nov 2012 17:55:43 +0000 (18:55 +0100)]
perl plugin: Export plugin_get_interval() to Perl plugins.
Florian Forster [Wed, 14 Nov 2012 12:07:47 +0000 (13:07 +0100)]
src/plugin.c: Report an error if ctx.interval is not set.
Florian Forster [Wed, 14 Nov 2012 09:33:29 +0000 (10:33 +0100)]
rrdtool plugin: Remove warnings.
They made sense when all data was collected at the same interval. This
has not been true for a while now and these warnings don't make any sense
anymore.
We could transform them into a per-VL check and use complaints to notify
the user, but I don't think it's worth it. There is an "I told you so"
in the manpage in big bold letters ...
Florian Forster [Tue, 13 Nov 2012 18:14:56 +0000 (19:14 +0100)]
src/plugin.c: Don't regularly check for read plugins.
Rather, let plugin_insert_read() wake up all the read threads.
This removes another usage of interval_g.
Florian Forster [Mon, 12 Nov 2012 07:28:16 +0000 (08:28 +0100)]
Merge branch 'collectd-5.1'
Florian Forster [Sun, 11 Nov 2012 11:56:53 +0000 (12:56 +0100)]
Bump version to 5.1.1; Update ChangeLog.
Florian Forster [Sun, 11 Nov 2012 11:43:52 +0000 (12:43 +0100)]
Merge branch 'collectd-5.0' into collectd-5.1
Conflicts:
ChangeLog
version-gen.sh
Florian Forster [Sun, 11 Nov 2012 11:30:56 +0000 (12:30 +0100)]
Bump version to 5.0.5; Update ChangeLog.
Florian Forster [Sun, 11 Nov 2012 11:05:17 +0000 (12:05 +0100)]
Merge branch 'collectd-4.10' into collectd-5.0
Conflicts:
ChangeLog
src/pyvalues.c
version-gen.sh
Florian Forster [Sun, 11 Nov 2012 10:39:43 +0000 (11:39 +0100)]
Update version-gen.sh.
Florian Forster [Sun, 11 Nov 2012 10:32:55 +0000 (11:32 +0100)]
Bump version to 4.10.8; Update ChangeLog.
Florian Forster [Sun, 11 Nov 2012 09:57:55 +0000 (10:57 +0100)]
ping plugin: Don't abort the "ping_thread" when ping_send() fails.
This may happen when the network is down. If the thread fails, the read
callback will indicate an error and the exponential back-off will start.
This is not optimal for this scenario, since you usually want to have
ping stats from right when the network is back up.
Fixes Github issue #171.
Florian Forster [Sun, 11 Nov 2012 09:56:00 +0000 (10:56 +0100)]
ping plugin: Refactor "ping_thread": Move iteration over hosts into a function.
Florian Forster [Wed, 12 Sep 2012 08:31:00 +0000 (10:31 +0200)]
disk plugin: Add the "UseBSDName" option for Mac OS X.
This new option will use the "BSD Name" rather than major / minor numbers of
the device when reporting statistics.
See also Github issue #72.
Florian Forster [Sun, 11 Nov 2012 08:20:58 +0000 (09:20 +0100)]
aggregation plugin: Improve two error messages.
Florian Forster [Sun, 11 Nov 2012 07:58:18 +0000 (08:58 +0100)]
Merge branch 'ff/aggregate'
Conflicts:
src/Makefile.am
Florian Forster [Sat, 10 Nov 2012 20:43:08 +0000 (21:43 +0100)]
aggregation plugin: Handle the initial EAGAIN return value of rate_to_value().
This avoids an annoying and confusing warning.
Florian Forster [Sat, 10 Nov 2012 20:40:20 +0000 (21:40 +0100)]
aggregation plugin: Handle a start-up condition gracefully.
The resulting error message would confuse and annoy users.
Florian Forster [Sat, 10 Nov 2012 20:36:17 +0000 (21:36 +0100)]
aggregation plugin: Implement the "GroupBy" option.
This new configuration format has two benefits:
1) It is easier to understand by users, because they don't have to know
about two types of wildcards.
2) In the future matching of Host, Plugin, Type, ... may support regular
expressions. In that case, this configuration syntax doesn't need to
be adapted.
Brian Aker [Fri, 26 Oct 2012 06:02:15 +0000 (02:02 -0400)]
1) Cleans up one configure.ac error AC_LINK_IFELSE requires AC_LANG_PROGRAM (or something similar) to get the setup right.
2) Fix for maintaier-clean so that you can run the autoreconf build script multiple times.
3) Clean up the generated man pages when running cleanup.
Signed-off-by: Florian Forster <octo@collectd.org>
Florian Forster [Sat, 10 Nov 2012 09:17:34 +0000 (10:17 +0100)]
rrdcached plugin: Fix syntax and type errors.
Florian Forster [Sat, 10 Nov 2012 09:08:35 +0000 (10:08 +0100)]
rrdcached plugin: Implement the "XFF" option.
Florian Forster [Sat, 10 Nov 2012 08:51:24 +0000 (09:51 +0100)]
rrdcached plugin: Implement the "RRATimespan" option.
Florian Forster [Sat, 10 Nov 2012 08:50:22 +0000 (09:50 +0100)]
rrdcached plugin: Implement the "StepSize", "HeartBeat" and "RRARows" options.
Florian Forster [Sat, 10 Nov 2012 08:23:41 +0000 (09:23 +0100)]
rrdcached plugin: Refactor the configuration handling.
Remove a custom string handling function that's only used in one place and use
the functions provided by "configfile.h".
Florian Forster [Sat, 10 Nov 2012 08:05:54 +0000 (09:05 +0100)]
Merge remote-tracking branch 'github-tokkee/sh/empty-config'
Idan Kamara [Wed, 24 Oct 2012 09:31:48 +0000 (11:31 +0200)]
collectd-python.conf(5): fix register_* argument description
Signed-off-by: Florian Forster <octo@collectd.org>
Idan Kamara [Wed, 24 Oct 2012 09:30:28 +0000 (11:30 +0200)]
collectd-python.conf(5): change phrasing of function descriptions
Signed-off-by: Florian Forster <octo@collectd.org>