Florian Forster [Fri, 21 Nov 2008 22:14:42 +0000 (23:14 +0100)]
match_regex plugin: Renamed `filter_pcre' to `match_regex'.
In order to fit into the new match/target schema, the substitute part of the
plugin has been removed for now and will be put in a target plugin in the
future.
The match_regex now registeres a match with the new infrastructure and uses
regular expressions to match certain values based on their identifier.
Florian Forster [Fri, 21 Nov 2008 21:09:53 +0000 (22:09 +0100)]
src/filter_chain.[ch]: Implement an advanced filtering framework.
The concept separates `filter' plugins into `match' and `target' plugins. Those
two parts can be combined in wild variation, allowing *very* flexible
mechanisms.
The concept is explained in more detail in the `FILTER CONFIGURATION' section
of collectd.conf(5), also added with this commit.
Mirko Buffoni [Wed, 29 Oct 2008 11:24:04 +0000 (12:24 +0100)]
mysql plugin: Allow configuration of `Port' and `Socket'.
Hi,
I have a patch for mysql collectd library.
The patch allow to specify also Port and Socket
parameters for those who have a non-standard configuration
of mysql.
It's very straightforward. If accepted, there is only to
change documentation and config file to reflect the new
parameters.
Florian Forster [Fri, 7 Nov 2008 18:49:52 +0000 (19:49 +0100)]
src/utils_rrdcreate.c: srrd_create: Copy the `filename' argument.
Some versions of librrd, for example the one in Debian Etch, don't have the
`const' qualifier for the first (filename) argument for `rrd_create_r'. So
we'll copy the argument first. This sucks big time, but is the only reasonable
way to get around this.
Sebastian Harl [Fri, 10 Oct 2008 13:07:05 +0000 (15:07 +0200)]
Install types.db into PKGDATADIR instead of PKGLIBDIR.
The FHS specifies that /usr/share should be used to store architecture
independent data while /usr/lib includes object files, libraries and
architecture dependent data.
Sebastian Harl [Fri, 31 Oct 2008 18:49:08 +0000 (19:49 +0100)]
filter_pcre plugin: Added support to rewrite value lists.
For this purpose "Substitute*" options have been introduced for each regex
option. Upon a successful match, the matching substring will be replaced by
the specified replacement text.
Sebastian Harl [Wed, 29 Oct 2008 20:24:00 +0000 (21:24 +0100)]
utils_subst: Added a module providing functions for string substitution.
Currently, the functions subst() and asubst() are available which may be used
to replace parts of a string with a specified replacement text. The latter
automatically allocates the memory required for the return value while the
former writes to a user specified buffer.
Sebastian Harl [Sat, 1 Nov 2008 10:28:30 +0000 (11:28 +0100)]
configure, mysql plugin: Check for mysql.h as well.
Up to now, only mysql/mysql.h has been checked for. However, mysql_config
--cflags usually adds the complete path to mysql.h to the include flags. In
most setups, mysql/mysql.h can be found in the search path as well (usually
the header is available in something like /usr/include/mysql/mysql.h) so this
issue has not been found so far. However, if that's not the case, the build
will fail.
Thanks to Dusty Doris <collectd@dusty.name> for reporting this.
Roman Klesel [Fri, 31 Oct 2008 10:09:50 +0000 (11:09 +0100)]
contrib/oracle: Add an example schema and SQL statements for the oracle plugin.
create_schema.ddl: Script to create a schema that can be queried by
collectd.
db_systat.sql: Sample SQL statements to be used in the collectd
configuration.
Sebastian Harl [Thu, 30 Oct 2008 15:27:37 +0000 (16:27 +0100)]
filecount plugin: Fixed an off-by-one error in the configuration code.
The memory allocated to store the information about configured directories did
not take into account the newly added directory. This would cause a segfault
at some point of time (when specifying more than four directories in my case).
Thanks to Martin Janota <janota.m@cce.cz> for finding and reporting this bug.
Sebastian Harl [Tue, 28 Oct 2008 21:02:38 +0000 (22:02 +0100)]
filter_pcre: Added a plugin to filter value lists based on PCRE.
The user may specify a set of Perl-compatible regular expressions to match any
component of the (host, plugin, plugin instance, type, type instance) tuple.
Any of the filter flags may be used to handle a successful match.
Florian Forster [Thu, 16 Oct 2008 20:04:46 +0000 (22:04 +0200)]
src/collectd.h: Poison various insecure string functions only when debugging is enabled.
Because the `poison' pragma complains about macros (which are then never
used), this feature does more harm than good in everyday use. So we'll
only activate it when building in debug mode, so hopefully authors of
new plugins will use this.
Sebastian Harl [Tue, 14 Oct 2008 11:41:18 +0000 (13:41 +0200)]
postgresql plugin: Do not open new connections during reinitialization.
When reinitializing the plugin a new connection to all databases has been
opened. Now, we check if the connection already exists. In that case no new
connection will be opened but the existing connection will be pinged instead.
Thanks to Admin <collectd-info@internode.com.au> for finding and reporting
this.
Signed-off-by: Sebastian Harl <sh@tokkee.org> Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Sebastian Harl [Wed, 15 Oct 2008 07:28:15 +0000 (09:28 +0200)]
src/plugin.[ch]: Added support for "filter" callbacks.
This type of callback is very similar to write callbacks:
int (*) (const data_set_t *, value_list_t *)
The return value of that callback indicates what further actions are to be
taken. It may be a bitwise OR of any of the following new flags:
FILTER_NOWRITE or FILTER_NOTHRESHOLD_CHECK. If both flags are used (which
equals the flag FILTER_IGNORE), the value list is ignored completely.
If more than one such callback is available, the respective return values are
bitwise OR'ed. If they "sum" up to FILTER_IGNORE, no further callbacks are
executed (lazy evaluation).
This type of callback may be used for the following purposes:
* rewrite information included in the value list (e.g. the instance
name)
* discard certain information on a fine-grained level based on the
information provided by the data set and value list
Signed-off-by: Sebastian Harl <sh@tokkee.org> Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Sebastian Harl [Wed, 8 Oct 2008 13:46:39 +0000 (15:46 +0200)]
types.db: Reintroduced the "spam_check" type.
This is used by the "email" plugin. Apparently, it got lost when converting
the plugin to the v4 interface: Instead of "spam_check", "email_check" had
been added to types.db. I did not remove "email_check" though as this would
introduce a regression - though very unlikely, somebody out there might be
using that type.
Signed-off-by: Sebastian Harl <sh@tokkee.org> Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Sebastian Harl [Fri, 22 Aug 2008 12:31:51 +0000 (14:31 +0200)]
Added .mailmap.
This file is used by e.g. git-shortlog to map author E-mail addresses to real
author names. The file currently includes mappings for the old SVN logins as
well as a few cases where people where using different E-mail addresses.
Signed-off-by: Sebastian Harl <sh@tokkee.org> Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in: Let configure bail out on missing dependencies
The patch below adds check in AC_PLUGIN() that verifies if the
dependencies are met for any enabled plugin.
In case some dependency is missing (default is disabled and enabled
is selected) configure will fail after dumping summary so all
dependency issues are visible in a single configure pass.
A later addition would be to list requirements (dependencies, OS/Kernel
restrictions) for all plugins in an easily accessible location (e.g.
INSTALL file)
Florian Forster [Mon, 6 Oct 2008 09:46:59 +0000 (11:46 +0200)]
src/collectd-nagios.c: Improve handling of lines returned from `GETVAL'.
Then selecting only certain data sources with the `-d' option, the program
would try to read more lines from the server than the server reports, resulting
in the communication never finishing.
This patch resolves that problem and introduces a couple other error handling
blocks.
Thanks to Fabian Linzberger for pointing this out.
Sebastian Harl [Thu, 2 Oct 2008 13:25:10 +0000 (15:25 +0200)]
collectdmon: Do not block SIGCHLD.
There is no reason to do so as we do not need to synchronize any waitpid()
calls. In fact, doing so was wrong because waitpid() should then return with
an error according to POSIX. This was still working so far since waitpid()
would not return until all children terminated and this is all we really care
about.
Signed-off-by: Sebastian Harl <sh@tokkee.org> Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Sebastian Harl [Thu, 2 Oct 2008 13:02:18 +0000 (15:02 +0200)]
libiptc: Included a copy of xtables.h and libxtc.h.
The shipped copy of "xtables.h" is now used instead of the one possibly
available on the system. This avoids possible inconsistencies between the
shipped version of libiptc and the one available on the system. Also, it
removes the dependency on the iptables development files.
Signed-off-by: Sebastian Harl <sh@tokkee.org> Signed-off-by: Florian Forster <octo@huhu.verplant.org>