write_redis plugin: Add a new plugin writing collectd data to an instance of Redis.
collectd.conf(5): Improve the "Redis plugin" documentation a bit.
configure.in: Reorder the library checks alphabetically.
redis plugin: Simplify configuration handling.
Fix a number of minor bugs.
- The Port configuration option is a string, not a number. Fix
documentation.
- Fix a bad status assignement in port parser.
- Remove default node. Now node is mandatory to prevent
duplicates in tree.
- Update configuration example too.
- The Port configuration option is a string, not a number. Fix
documentation.
- Fix a bad status assignement in port parser.
- Remove default node. Now node is mandatory to prevent
duplicates in tree.
- Update configuration example too.
14 years agocollectdctl: Explicitly cast "long" to "int". This might be a problem on 32bit archit...
collectdctl: Explicitly cast "long" to "int". This might be a problem on 32bit architectures.
amqp plugin: Warn about incorrectly used "ExchangeType" option in "Publish" block, too.
collectdctl: Added support for ‘U’ (undef) values in ‘putval’.
libcollectdclient: Fixed handling of ‘U’ (undef) in ‘PUTVAL’.
collectdctl: Improved error reporting.
collectdctl: Added support for the ‘putval’ command.
libcollectdclient: Added missing element to LCC_VALUE_LIST_INIT.
collectdctl: Moved examples section from help output to manpage.
collectdctl: ‘flush’ now supports multiple plugins/identifiers.
… just like the ‘unixsock’ plugin does.
… just like the ‘unixsock’ plugin does.
collectdctl(1): Updated the manpage according to the latest changes.
collectdctl: Improved error reporting.
collectdctl: Added ‘listval’ command.
Renamed ‘collectd-flush’ to ‘collectdctl’ (collectd control interface).
collectd-flush: Added ‘getval’ to the help output.
collectd-flush: Added support for the ‘getval’ command.
collectd-flush: Moved connection handling out of ‘flush()’.
collectd-flush: Switched to a command based syntax.
Basically, the command line now looks similar to the ‘unixsock’ text protocol,
i.e., a command is specified as first non-option argument followed by any
options of that command as defined by the protocol.
Basically, the command line now looks similar to the ‘unixsock’ text protocol,
i.e., a command is specified as first non-option argument followed by any
options of that command as defined by the protocol.
amqp plugin: Enable the "ExchangeType" option in Publish blocks, too.
collectd.conf(5): Add missing blank line.
collectd.conf(5): Finish documenting the AMQP plugin.
collectd.conf(5): Started documenting the AMQP plugin.
curl json: Fix checking the response code.
src/Makefile: Build and ship (in the tarball) the collectd-flush manpage.
collectd-flush: Include version and author information in usage output.
Just like the other tools.
Just like the other tools.
collectd-flush: Determine default socket from configured localstatedir.
collectd-flush: Do not use ‘getopt_long()’.
This is a GNU extension and, thus, not portable.
Also, pimped the usage output a bit.
This is a GNU extension and, thus, not portable.
Also, pimped the usage output a bit.
collectd-flush: Simplified ‘usage()’ a bit.
amqp plugin: Use the content type to determine how to decode received messages.
The "Format" config option is now only valid in "Publish" blocks.
The "Format" config option is now only valid in "Publish" blocks.
amqp plugin: Improve handling of the "routing key".
If no routing key is configured, the publish code will now create one based
on the value's identifier. The subscribing code will no longer use a
default but use an empty routing key if nothing was configured.
If no routing key is configured, the publish code will now create one based
on the value's identifier. The subscribing code will no longer use a
default but use an empty routing key if nothing was configured.
amqp plugin: Implement parsing of "PUTVAL" data.
Data transmission via AMQP works now! \o/
Data transmission via AMQP works now! \o/
amqp plugin: Implement the "Format" config option.
By default, the publishing code now creates "command" (i.e. PUTVAL) output.
For now this is easier to parse, so use this for the subscribing code.
(For now, anyways. I guess JSON will come later, too.)
By default, the publishing code now creates "command" (i.e. PUTVAL) output.
For now this is easier to parse, so use this for the subscribing code.
(For now, anyways. I guess JSON will come later, too.)
Merge branch 'master' into sp/amqp
src/utils_cmd_putval.[ch]: Implement "create_putval".
write_http plugin: Move "wh_value_list_to_string" to src/common.[ch].
amqp plugin: Only accept the "Persistent" option in "Publish" blocks.
amqp plugin: Add a debug message.
amqp plugin: Enable the "StoreRates" option only when configuring a "Publish" block.
collectd-flush: Minor coding style changes.
collectd-flush: Add a missing "break" in a "switch" case.
Update Makefile.am to build collectd-flush
As I am no automake expert, I basically copied
the lines for collectd-nagios and changed them
to collectd-flush. It works, but maybe there could
be better ways to do it. I don't know. :)
As I said in the previous mail:
If this message is not properly encoded as utf-8, something wrong must have
happened with my mailer. If that's the case, I'm sorry. The only non-ascii character
in the patch is the second character of my name, which is an å.
Signed-off-by: Håkon J Dugstad Johnsen <hakon-dugstad.johnsen@telenor.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
As I am no automake expert, I basically copied
the lines for collectd-nagios and changed them
to collectd-flush. It works, but maybe there could
be better ways to do it. I don't know. :)
As I said in the previous mail:
If this message is not properly encoded as utf-8, something wrong must have
happened with my mailer. If that's the case, I'm sorry. The only non-ascii character
in the patch is the second character of my name, which is an å.
Signed-off-by: Håkon J Dugstad Johnsen <hakon-dugstad.johnsen@telenor.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Add collectd-flush command line utility.
collectd-flush is a small command-line utility which uses libcollectdclient
to flush collectd through the unixsock plugin. As far as I know, there is
no easy way to work with unix sockets from the shell, so if someone
wanted to flush collectd without this program, they would need to do it
through some other language (or restart the deamon).
I am no C wizard, so please bear with me if I have
done something a stupid way. :)
The code is based on/inspired by collectd-nagios.
If this message is not properly encoded as utf-8, something wrong must have
happened with my mailer. If that's the case, I'm sorry. The only non-ascii character
in the patch is the second character of my name, which is an å.
Signed-off-by: Håkon J Dugstad Johnsen <hakon-dugstad.johnsen@telenor.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd-flush is a small command-line utility which uses libcollectdclient
to flush collectd through the unixsock plugin. As far as I know, there is
no easy way to work with unix sockets from the shell, so if someone
wanted to flush collectd without this program, they would need to do it
through some other language (or restart the deamon).
I am no C wizard, so please bear with me if I have
done something a stupid way. :)
The code is based on/inspired by collectd-nagios.
If this message is not properly encoded as utf-8, something wrong must have
happened with my mailer. If that's the case, I'm sorry. The only non-ascii character
in the patch is the second character of my name, which is an å.
Signed-off-by: Håkon J Dugstad Johnsen <hakon-dugstad.johnsen@telenor.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
amqp plugin: First step towards subscribing to data via AMQP.
amqp plugin: Use the "camqp" prefix for all functions.
The library uses the "amqp" prefix, so we should use something else.
The library uses the "amqp" prefix, so we should use something else.
amqp plugin: Implement publishing to multiple brokers.
amqp plugin: Chose (hopefully sane) default values for all config options.
src/collectd.conf.in: Add missing config options of the AMQP plugin.
amqp plugin: Added some comments. Rewrapped lines of the license header.
amqp plugin: Implement the "StoreRates" option.
amqp plugin: Put the connecting code into a separate function.
amqp plugin: Initialize the port number to 5672.
amqp plugin: Let the user chose the delivery method.
Use "volatile" by default, but enable the user to switch to "persistent" if
it is important that no value is lost.
Use "volatile" by default, but enable the user to switch to "persistent" if
it is important that no value is lost.
amqp plugin: Implement persistent connection handling.
A connection is now opened on the first value to be written and is kept
open for as long as possible. This is hopefully much more efficient than
opening a new connection for each value.
The value_list_t is now converted to JSON first, before locking the
global connection object, in order to hold the lock for the least
possible time.
A connection is now opened on the first value to be written and is kept
open for as long as possible. This is hopefully much more efficient than
opening a new connection for each value.
The value_list_t is now converted to JSON first, before locking the
global connection object, in order to hold the lock for the least
possible time.
amqp plugin: Add error messages and give saner example config values.
src/collectd.conf.in: Add the AMQP plugin.
amqp plugin: Adapt to the new syntax of "format_json_value_list".
Fix incorrect error logging.
Was calling sys.stderror instead of sys.stderr.
Was calling sys.stderror instead of sys.stderr.
README: Add the amqp plugin and the librabbitmq dependency.
configure.in: Move the checks for librabbitmq …
… so the checks are roughly alphabetical. "Roughly", because the leading
"lib" is ignored when sorting.
… so the checks are roughly alphabetical. "Roughly", because the leading
"lib" is ignored when sorting.
amqp plugin: Use the global (and widely used) "sfree" macro …
… rather than the private "config_free" function.
… rather than the private "config_free" function.
amqp plugin: Use "service_name_to_port_number" to parse the "Port" config option.
amqp plugin: Explain numeric arguments to "amqp_login" and "amqp_basic_publish".
amqp plugin: Fix a typo.
src/Makefile.am: Fix librabbitmq CPP- and LD-flags.
First implentation of an amqp output plugin
It's ugly for now but it works.
It's ugly for now but it works.
redis plugin: Use "sizeof" rather than repeating the size.
curl_json plugin: Use a more descriptive define as return value.
redis plugin: Whitespace fixes.
I've re-indented the entire plugin because indentation was all over the
place. Sorry, if this breaks any patches for you. I'm not usually a
friend of doing this, but I felt it'd be best to do this early on to
annoy the smallest possible number of people.
I've re-indented the entire plugin because indentation was all over the
place. Sorry, if this breaks any patches for you. I'm not usually a
friend of doing this, but I felt it'd be best to do this early on to
annoy the smallest possible number of people.
redis plugin: Fix typos preventing a successful build.
Add redis plugin.
This commit adds a new redis plugin, which connect to a number of redis
server and get information about their status, using the libcredis > 0.2.2
library. The plugin get the following information:
* bgsave_in_progress
* change_since_last_save
* connected_clients
* connected_slaves
* total_command_processed
* total_connection_received
* uptime_in_seconds
* used_memory
Here is an example of configuration file:
<Plugin redis>
<Node example>
Host "localhost"
Timeout 2000
</Node>
</Plugin>
And the output of rrdtool plugin must be something similar to this:
redis-example/bgsave_in_progress.rrd
redis-example/changes_since_last_save.rrd
redis-example/connected_clients.rrd
redis-example/connected_slaves.rrd
redis-example/total_commands_processed.rrd
redis-example/total_connections_received.rrd
redis-example/uptime_in_seconds.rrd
redis-example/used_memory.rrd
Enjoy! :)
This commit adds a new redis plugin, which connect to a number of redis
server and get information about their status, using the libcredis > 0.2.2
library. The plugin get the following information:
* bgsave_in_progress
* change_since_last_save
* connected_clients
* connected_slaves
* total_command_processed
* total_connection_received
* uptime_in_seconds
* used_memory
Here is an example of configuration file:
<Plugin redis>
<Node example>
Host "localhost"
Timeout 2000
</Node>
</Plugin>
And the output of rrdtool plugin must be something similar to this:
redis-example/bgsave_in_progress.rrd
redis-example/changes_since_last_save.rrd
redis-example/connected_clients.rrd
redis-example/connected_slaves.rrd
redis-example/total_commands_processed.rrd
redis-example/total_connections_received.rrd
redis-example/uptime_in_seconds.rrd
redis-example/used_memory.rrd
Enjoy! :)
collectd-perl(5): Mention that "Globals" should be enabled.
collectd.conf(5): Documents LoadPlugin's "Globals" option.
Fix incorrect error logging.
Was calling sys.stderror instead of sys.stderr.
Was calling sys.stderror instead of sys.stderr.
curl_json plugin: Use the "number" callback of libyajl.
The "integer" callback only works with "long"s, which are 32bit on
x86 and other 32bit architectures. The "number" callback gets the raw
string for us to parse ourselves – honoring the data source type in the
process.
The "integer" and "double" callbacks have been removed, since they are not
used if the "number" callback is present.
The "integer" callback only works with "long"s, which are 32bit on
x86 and other 32bit architectures. The "number" callback gets the raw
string for us to parse ourselves – honoring the data source type in the
process.
The "integer" and "double" callbacks have been removed, since they are not
used if the "number" callback is present.
README: Add the "varnish" plugin.
varnish plugin: Update the copyright and author information.
Merge branch 'collectd-4.10'
Bumped version to 4.10.1; Updated ChangeLog.
Merge branch 'collectd-4.9' into collectd-4.10
Conflicts:
ChangeLog
version-gen.sh
Conflicts:
ChangeLog
version-gen.sh
ChangeLog: Fix the release date for 4.9.3.
Bumped version to 4.9.3; Updated ChangeLog.
src/plugin.c: Check "read_loop" when returning from "pthread_cond_timedwait".
Otherwise it may take up to $Interval seconds until all read threads
shut down. This bug was introduced in version 4.8.4 (commit dbe1a7d).
Otherwise it may take up to $Interval seconds until all read threads
shut down. This bug was introduced in version 4.8.4 (commit dbe1a7d).
network plugin: Remove the "CacheFlush" config option.
df plugin: Remove the "ReportReserved" config option.
hddtemp plugin: Remove the "TranslateDevicename" config option.
v5upgrade target: Implement handling of the "mysql_qcache" and "mysql_threads" types.
v5upgrade target: Don't use "memcpy" to copy static strings.
mysql plugin: Remove the "mysql_threads" type.
mysql plugin: Remove the "mysql_qcache" type.
mysql plugin: Remove legacy config handling code.
contrib/exec-smartctl: Use the environment variables by default.
contrib/exec-smartctl: Print the "PUTVAL" command.
contrib/exec-nagios.px: Use the environment variables for defaults.
contrib/exec-nagios.px: Escape the hostname.
contrib/exec-munin.px: Use the environment variables for defaults.