src/types.db: Converted spaces to tabs.
Actually spaces would be nicer, but all lines but one used tabs..
Actually spaces would be nicer, but all lines but one used tabs..
src/plugin.c: Fix a typo.
Unified string handling.
sstrncpy() and the newly added function ssnprintf() are now used all over
the place to make sure strings are null terminated. This removes quite
some duplicate code that was found all over the place and thus fairly
increases overall readability of the code. Also sizeof() is used instead
of hard-coded constants where appropriate to determine the available
space.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
sstrncpy() and the newly added function ssnprintf() are now used all over
the place to make sure strings are null terminated. This removes quite
some duplicate code that was found all over the place and thus fairly
increases overall readability of the code. Also sizeof() is used instead
of hard-coded constants where appropriate to determine the available
space.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Added "type" to the value_list_t struct.
This way, the complete tuple (host, plugin, plugin instance, type, type
instance) is stored in a single data-type which is more straight forward
and allows a more flexible use of that data-type. As a consequence, there
is no longer a need to explicitly pass the type to some functions, most
notably plugin_dispatch_values(), which have been updated in that respect.
The "perl" plugin has also been updated to reflect this change. For
backwards compatibility, plugin_dispatch_values() still accepts a second
argument - however, a warning will be submitted to the daemon in that
case.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This way, the complete tuple (host, plugin, plugin instance, type, type
instance) is stored in a single data-type which is more straight forward
and allows a more flexible use of that data-type. As a consequence, there
is no longer a need to explicitly pass the type to some functions, most
notably plugin_dispatch_values(), which have been updated in that respect.
The "perl" plugin has also been updated to reflect this change. For
backwards compatibility, plugin_dispatch_values() still accepts a second
argument - however, a warning will be submitted to the daemon in that
case.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
teamspeak2 plugin: Remove some debug messages.
teamspeak2 plugin: Be case-insensitive when checking for errors.
Apparently the error and okay messages may have different cases..
Apparently the error and okay messages may have different cases..
teamspeak2 plugin: Collect `servers' and `channels', too.
collectd.conf(5): Document the `DataSource' option.
src/utils_threshold.c: Fix a simple typo.
Merge branch 'collectd-4.3'
Merge branch 'collectd-4.2' into collectd-4.3
src/utils_threshold.c: Check all matching thresholds and respect the data source setting.
This commit breaks up the original `ut_check_threshold' function into some
smaller functions which is much easier to read. Also adds some (hopefully)
informative comments that explain what the functions do.
The changes compile but have not yet been tested! Also, the
collectd.conf(5) manpage needs to be updated.
References: #11
This commit breaks up the original `ut_check_threshold' function into some
smaller functions which is much easier to read. Also adds some (hopefully)
informative comments that explain what the functions do.
The changes compile but have not yet been tested! Also, the
collectd.conf(5) manpage needs to be updated.
References: #11
src/utils_threshold.c: Implement configuration of multiple data sources per type.
This is the first part that implements the configuration of multiple data
sources. The part that implements matching will be added later.
This is the first part that implements the configuration of multiple data
sources. The part that implements matching will be added later.
build system: Check if strtok_r needs _REENTRANT
Resolves: #8
Resolves: #8
Merge branch 'sh/teamspeak2'
teamspeak2 plugin: Call `tss2_vserver_gapl' from `tss2_read_vserver'.
This way the file descriptors can be reused and we can assure that the vserver
has been selected.
This way the file descriptors can be reused and we can assure that the vserver
has been selected.
teamspeak2 plugin: Add collection of packet loss.
I added another interesting gauge to the sets of values which get fetched. The
average package loss in percent. I used the percent type from types.db...not
really intuitive when looking at the folders but it works. I also tried to add
something to the manpage...but I wasn't able to test it because the manpages
just don't install with make install...
I added another interesting gauge to the sets of values which get fetched. The
average package loss in percent. I used the percent type from types.db...not
really intuitive when looking at the folders but it works. I also tried to add
something to the manpage...but I wasn't able to test it because the manpages
just don't install with make install...
16 years agoMerge branch 'collectd-4.2' of octo@verplant.org:/var/lib/git/collectd into collectd-4.2
Merge branch 'collectd-4.2' of octo@verplant.org:/var/lib/git/collectd into collectd-4.2
Merge branch 'sh/teamspeak2'
AUTHORS: Added Stefan Hacker.
teamspeak2 plugin: Inform about unknown fields.
Known but uninteresting fields are ignored.
Known but uninteresting fields are ignored.
collectd.conf(5): teamspeak2/Port needs to be a string.
Also corrected a typo in src/collectd.conf.in.
Also corrected a typo in src/collectd.conf.in.
teamspeak2 plugin: Added comments.
I added a few more comments so I could understand it better ;-)
I added a few more comments so I could understand it better ;-)
teamspeak2 plugin: Flush the sending filehandle after writing to it.
The only real Problem I found is that you forgot to flush the outgoing buffer
after using fputs so nothing got sent. I added the fflush but now I'm not
really sure what would happen if sending failed....
The only real Problem I found is that you forgot to flush the outgoing buffer
after using fputs so nothing got sent. I added the fflush but now I'm not
really sure what would happen if sending failed....
collectd.conf(5): Added documentation for the TeamSpeak2 plugin.
teamspeak2 plugin: Introduce and use the `io_octets' and `io_packets' types.
teamspeak2 plugin: Code cleanup.
The changes include:
- Use the ``tss2_'' prefix for all functions.
- Manage the global connection in two central functions rather than distribute
connection handling all over the place.
- Handle ``global'' and ``per server'' statistics in one function.
- Using `getaddrinfo' rather than `inet_addr' to allow for IPv6 connections.
- Some formatting.
The changes include:
- Use the ``tss2_'' prefix for all functions.
- Manage the global connection in two central functions rather than distribute
connection handling all over the place.
- Handle ``global'' and ``per server'' statistics in one function.
- Using `getaddrinfo' rather than `inet_addr' to allow for IPv6 connections.
- Some formatting.
apache, nginx plugins: Added "Verify{Peer,Host}" configuration options.
"VerifyPeer" may be used to disable peer SSL certificate verification and
"VerifyHost" may be used to disable peer host name (as provided by the SSL
certificate's CA or SAN fields) verification.
Using both options is similar to curl's "--insecure" command line
option.
As requested by Joerg Jaspert.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
"VerifyPeer" may be used to disable peer SSL certificate verification and
"VerifyHost" may be used to disable peer host name (as provided by the SSL
certificate's CA or SAN fields) verification.
Using both options is similar to curl's "--insecure" command line
option.
As requested by Joerg Jaspert.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.3'
Conflicts:
src/exec.c
Conflicts:
src/exec.c
Merge branch 'collectd-4.2' into collectd-4.3
Conflicts:
src/exec.c
Conflicts:
src/exec.c
exec plugin: Close all file descriptors but the one connected to the pipe.
powerdns plugin: Don't include <malloc.h>.
It isn't necessary and doesn't exist on some systems.
It isn't necessary and doesn't exist on some systems.
teamspeak2 plugin: Renamed some types and variables.
And beautyfied the error and debug messages.
And beautyfied the error and debug messages.
teamspeak2 plugin: Renamed the `tss2' plugin to `teamspeak2' and fixed warnings.
tss2 plugin: Add a plugin to query statistics from a TeamSpeak2 server.
Merge branch 'ff/ascent'
collectd.conf(5): Documented the `ascent' plugin.
Also updated the `README' file and the sample configuration.
Also updated the `README' file and the sample configuration.
ascent plugin: Store latency in seconds, not milli seconds.
ascent plugin: Fix classes/races and ignore unhandled tags.
Classes and races were exchanged, this was fixed.
Classes and races were exchanged, this was fixed.
migrate-3-4.px: Use 'rrdtool tune' instead of 'sed' to rename DS's.
Either the output format of 'rrdtool dump' has changed or there was an
error in the regex used with sed in the first place. Anyway, in some cases
the 'if_octects' DS's did not get translated. 'rrdtool tune' should be
able to handle it correctly in any case.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Either the output format of 'rrdtool dump' has changed or there was an
error in the regex used with sed in the first place. Anyway, in some cases
the 'if_octects' DS's did not get translated. 'rrdtool tune' should be
able to handle it correctly in any case.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
exec plugin: Removed whitespaces at EOL.
exec plugin: Separate stdout and stderr.
Hi!
Digitemp sends errors to stderr, but collectd handles stdout and stderr
as the same and reports parsing errors.
My idea is to seperate stdout and stderr.
I also removed the special pipe handling checking for stdin...
because exec plugin will alway have a fd > 2 for pipes !!
(fd 0,1 and 2 (stdin, stdout, stderr) are used by collectd with /dev/null if demonized)
now strings from stderr will be reportet by ERROR
cu Peter
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hi!
Digitemp sends errors to stderr, but collectd handles stdout and stderr
as the same and reports parsing errors.
My idea is to seperate stdout and stderr.
I also removed the special pipe handling checking for stdin...
because exec plugin will alway have a fd > 2 for pipes !!
(fd 0,1 and 2 (stdin, stdout, stderr) are used by collectd with /dev/null if demonized)
now strings from stderr will be reportet by ERROR
cu Peter
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ascent plugin: Added handling of `sessions'.
I. e. per-player information.
I. e. per-player information.
ascent plugin: New plugin to collect AscentEmu server statistics.
ipmi plugin: Add ignorelist functionality.
ipmi plugin: Improve error messages when removing a sensor.
Don't tell the user to file a bug report, when a sensor is removed because IPMI
reported an error. Tell him to file a bug report, though, if collectd doesn't
know how to handle the value.
Don't tell the user to file a bug report, when a sensor is removed because IPMI
reported an error. Tell him to file a bug report, though, if collectd doesn't
know how to handle the value.
16 years agoipmi plugin: Add a stupi bug which prevented basically all sensors from being collected.
ipmi plugin: Add a stupi bug which prevented basically all sensors from being collected.
src/collectd.conf.in: Added a `LoadPlugin' line for the ipmi plugin.
configure.in: Add the OpenIPMI library to the status output.
COPYING: Switched to a version with the new address of the FSF.
Merge branch 'collectd-4.3'
Merge branch 'collectd-4.2' into collectd-4.3
COPYING: Added the file (including the GPLv2).
Newer versions of automake copy the GPLv3 when invoked with ``--add-missing''
which is not what we want.
Newer versions of automake copy the GPLv3 when invoked with ``--add-missing''
which is not what we want.
ipmi plugin: Add a plugin to read sensor values via IPMI.
The plugin is very basic and still basically alpha quality. You cannot
configure anything yet, neither where to connect to (the local, SMI connection
is used right now) nor what sensors to collect (collects all it can make sense
of). I hope to be able to do that on friday or some other workday in the near
future.
The plugin is very basic and still basically alpha quality. You cannot
configure anything yet, neither where to connect to (the local, SMI connection
is used right now) nor what sensors to collect (collects all it can make sense
of). I hope to be able to do that on friday or some other workday in the near
future.
Merge branch 'collectd-4.3'
Merge branch 'collectd-4.2' into collectd-4.3
Conflicts:
configure.in
src/plugin.c
Conflicts:
configure.in
src/plugin.c
unixsock plugin: Do not unregister a write-callback in us_shutdown().
The unixsock plugin no longer registers a write-callback. Basically,
unregistering a non-existent callback does not do any harm, However, if no
write-callback has been registered at all, the appropriate linked list has
never been created and the process will segfault when trying to access it.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The unixsock plugin no longer registers a write-callback. Basically,
unregistering a non-existent callback does not do any harm, However, if no
write-callback has been registered at all, the appropriate linked list has
never been created and the process will segfault when trying to access it.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in: Set CPPFLAGS when checking headers.
When checking for <upsclient.h> (and the headers of a few other libraries) the
library specific CFLAGS were added to the global CFLAGS variable. This variable
is used when checking for ``header usability'', but not when checking for
``header presence'' for some reason.
This commit uses the global CPPFLAGS variable instead, which is used in both
checks. Libraries that benefit from this commit are:
- libcurl,
- libmysql(client),
- libnetsnmp,
- libupsclient.
Resolves #6
When checking for <upsclient.h> (and the headers of a few other libraries) the
library specific CFLAGS were added to the global CFLAGS variable. This variable
is used when checking for ``header usability'', but not when checking for
``header presence'' for some reason.
This commit uses the global CPPFLAGS variable instead, which is used in both
checks. Libraries that benefit from this commit are:
- libcurl,
- libmysql(client),
- libnetsnmp,
- libupsclient.
Resolves #6
apache plugin: Increase the size of the read-buffer dynamically.
Why guess the size if you can just adapt to whatever comes in? The memory isn't
freed ever, though.
Why guess the size if you can just adapt to whatever comes in? The memory isn't
freed ever, though.
src/plugin.c: plugin_dispatch_values: Improve the error messages.
If no write plugin was loaded or no DS was defined, the
`plugin_dispatch_values' used to fail silently. This is of course not good, so
this commit introduces error messages for this case, so that users can see why
their setup is not working properly.
Also, the ``no such DS type'' message was promoted from DEBUG to INFO.
If no write plugin was loaded or no DS was defined, the
`plugin_dispatch_values' used to fail silently. This is of course not good, so
this commit introduces error messages for this case, so that users can see why
their setup is not working properly.
Also, the ``no such DS type'' message was promoted from DEBUG to INFO.
src/common.c: Make really sure BYTE_ORDER and BIG_ENDIAN are defined.
If both, BYTE_ORDER and BIG_ENDIAN, are undefined, the statement
#if BYTE_ORDER == BIG_ENDIAN
will be evaluated to `true', which may cause `ntohll' and `htonll' to behave
weird.
If both, BYTE_ORDER and BIG_ENDIAN, are undefined, the statement
#if BYTE_ORDER == BIG_ENDIAN
will be evaluated to `true', which may cause `ntohll' and `htonll' to behave
weird.
src/utils_tail.c: Call `stat' after reading till the end of file.
The old code used stat(2) to determine if the file was moved and reopened the
file before reading anything. This way lines, that were added to the file
before it was moved, would have been missed. This commit changes that behavior
so that the file is read until EOF and _then_ stat(2) is used to check if the
file has been moved away.
The old code used stat(2) to determine if the file was moved and reopened the
file before reading anything. This way lines, that were added to the file
before it was moved, would have been missed. This commit changes that behavior
so that the file is read until EOF and _then_ stat(2) is used to check if the
file has been moved away.
plugin.c: Tell the user if a plugin could not be found.
Up to now this error was silently ignored, letting the user believe that
everything went fine.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Up to now this error was silently ignored, letting the user believe that
everything went fine.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collection.cgi: Make sure to pass valid variable names to rrdgraph.
Variable names used with DEF, VDEF, etc. must be made up of the
characters "A-Z, a-z, 0-9, -, _". In meta_graph_generic_stack() variable
names have been generated from the instance name which may, however,
contain illegal characters. Now, all illegal characters will be replaced
with "_" and a number will be prepended to the variable name to make
sure the name is still unique.
Thanks to Joerg Jaspert for pointing this out and helpful debugging
information.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Variable names used with DEF, VDEF, etc. must be made up of the
characters "A-Z, a-z, 0-9, -, _". In meta_graph_generic_stack() variable
names have been generated from the instance name which may, however,
contain illegal characters. Now, all illegal characters will be replaced
with "_" and a number will be prepended to the variable name to make
sure the name is still unique.
Thanks to Joerg Jaspert for pointing this out and helpful debugging
information.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
hddtemp plugin: Prefix all messages with "hddtemp plugin:".
collection.cgi: Added "meta graph" for "dns_qtype" and "dns_rcode".
This will merge all query types and return codes into a single graph each.
get_n_colors() has been taken from the version 3 script to get the colors for
the graphs. get_random_color() imho is not suitable for that purpose as it can
return colors that are hardly different - which would result in graphs that
are hard to read. get_n_colors() now returns a hash-ref suitable to be passed
to meta_graph_generic_stack().
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This will merge all query types and return codes into a single graph each.
get_n_colors() has been taken from the version 3 script to get the colors for
the graphs. get_random_color() imho is not suitable for that purpose as it can
return colors that are hardly different - which would result in graphs that
are hard to read. get_n_colors() now returns a hash-ref suitable to be passed
to meta_graph_generic_stack().
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collection.cgi: Added support for "wireless" values.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
rrdtool plugin: Reduce the filesize of files created per default.
When creating an RRD file, the rrdtool plugin doesn't do what it's supposed to
do. Instead of creating 5 RRAs it creates 4 and in doing so it skips the first
one. The result is about 2x the number of datapoints total. The fix below works
for me. It's for 4.2.2 but it looks like this hasn't changed in the latest 4.3
beta.
Resolves: #5
When creating an RRD file, the rrdtool plugin doesn't do what it's supposed to
do. Instead of creating 5 RRAs it creates 4 and in doing so it skips the first
one. The result is about 2x the number of datapoints total. The fix below works
for me. It's for 4.2.2 but it looks like this hasn't changed in the latest 4.3
beta.
Resolves: #5
collection.cgi: Updated "dns" types to version 4.x.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
powerdns plugin: Fixes for the connection handling.
The connection stuff has been fixed to actually work with the daemon. The data
received is not yet handled completely. I'm waiting for feedback from Luke on
that..
References #1
The connection stuff has been fixed to actually work with the daemon. The data
received is not yet handled completely. I'm waiting for feedback from Luke on
that..
References #1
powerdns plugin: Code cleanups.
powerdns plugin: Added a plugin to read statistics from PowerDNS' control socket.
Bumped version to 4.3.2; Updated ChangeLog.
Merge branch 'collectd-4.2' into collectd-4.3
Conflicts:
ChangeLog
version-gen.sh
Conflicts:
ChangeLog
version-gen.sh
Bumped version to 4.2.6
disk plugin: Implement an ignorelist.
Not all disks collected by the disk plugin may be of interest. This commit
implements an ignorelist as provided by src/utils_ignorelist.c to make it
possible to select exactly which instances are interesting and which are not.
Resolves: #3
Not all disks collected by the disk plugin may be of interest. This commit
implements an ignorelist as provided by src/utils_ignorelist.c to make it
possible to select exactly which instances are interesting and which are not.
Resolves: #3
src/utils_ignorelist.c: ignorelist_match: Allow the `ignorelist' to be NULL.
This makes calling the function easier, because initialization of the
ignorelist in the plugin usually depends on configuration parameters..
This makes calling the function easier, because initialization of the
ignorelist in the plugin usually depends on configuration parameters..
ChangeLog: Added changes since 4.2.5.
collectd.conf(5): Document vmem's configuration option.
Also updates src/collectd.conf.in.
Also updates src/collectd.conf.in.
vmem plugin: Add the `Verbose' config option.
All the statistics is just too much for every-day-use ;)
All the statistics is just too much for every-day-use ;)
vmem plugin: Added a plugin to collect virtual memory statistics.
sensors plugin: Simple fix for temperature sensors.
Hi everybody!
While playing with sensors i missed temperature rrd files:
--- sensors.c.orig 2008-03-25 14:58:21.000000000 +0100
+++ sensors.c 2008-03-25 14:58:27.000000000 +0100
@@ -580,7 +580,7 @@
type = "fanspeed";
else if (fl->feature->type
== SENSORS_FEATURE_TEMP)
- type = "input";
+ type = "temperature";
else
continue;
because this type got registered as input and "input" is not in types.db
after configuring with --enable-debug i saw a log:
No such dataset registered: input
should that be also without --enable-debug in my syslog?
cu Peter
Hi everybody!
While playing with sensors i missed temperature rrd files:
--- sensors.c.orig 2008-03-25 14:58:21.000000000 +0100
+++ sensors.c 2008-03-25 14:58:27.000000000 +0100
@@ -580,7 +580,7 @@
type = "fanspeed";
else if (fl->feature->type
== SENSORS_FEATURE_TEMP)
- type = "input";
+ type = "temperature";
else
continue;
because this type got registered as input and "input" is not in types.db
after configuring with --enable-debug i saw a log:
No such dataset registered: input
should that be also without --enable-debug in my syslog?
cu Peter
Merge branch 'collectd-4.3'
Merge branch 'pull/master'
Merge branch 'pull/collectd-4.3' into collectd-4.3
Merge branch 'collectd-4.3'
Conflicts:
src/unixsock.c
Conflicts:
src/unixsock.c
Merge branch 'collectd-4.2' into collectd-4.3
Conflicts:
src/unixsock.c
Conflicts:
src/unixsock.c
unixsock plugin: Open two different IO stream handles for reading and writing.
Full-duplex standard IO streams are not really supported on sockets.
Mixing input and output functions involves calls to lseek(2) which is
not supported on sockets and thus causes the IO operations to fail.
Opening two IO streams solves the problem.
This is a backport of 43df21461d523023951746ef669f1bb95f61366d.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Full-duplex standard IO streams are not really supported on sockets.
Mixing input and output functions involves calls to lseek(2) which is
not supported on sockets and thus causes the IO operations to fail.
Opening two IO streams solves the problem.
This is a backport of 43df21461d523023951746ef669f1bb95f61366d.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
unixsock plugin: Open two different IO stream handles for reading and writing.
Full-duplex standard IO streams are not really supported on sockets.
Mixing input and output functions involves calls to lseek(2) which is
not supported on sockets and thus causes the IO operations to fail.
Opening two IO streams solves the problem.
This is a backport of 43df21461d523023951746ef669f1bb95f61366d.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Full-duplex standard IO streams are not really supported on sockets.
Mixing input and output functions involves calls to lseek(2) which is
not supported on sockets and thus causes the IO operations to fail.
Opening two IO streams solves the problem.
This is a backport of 43df21461d523023951746ef669f1bb95f61366d.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
unixsock plugin: Open two different IO stream handles for reading and writing.
Full-duplex standard IO streams are not really supported on sockets.
Mixing input and output functions involves calls to lseek(2) which is
not supported on sockets and thus causes the IO operations to fail.
Opening two IO streams solves the problem.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Full-duplex standard IO streams are not really supported on sockets.
Mixing input and output functions involves calls to lseek(2) which is
not supported on sockets and thus causes the IO operations to fail.
Opening two IO streams solves the problem.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
contrib/cussh.pl: Fixed input line parsing.
The regexes parsing the user input lines have been adopted to take into
account that the newline at the end of the line has been removed.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The regexes parsing the user input lines have been adopted to take into
account that the newline at the end of the line has been removed.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
contrib/cussh.pl: Added support for LISTVAL.
Also fixed the following minor problems:
* the arguments passed to Collectd::Unixsock::putval() have been updated
to the current version of the Perl module
* remove newlines from the end of the input line - the unixsock plugin
currently seems to be buggy when receiving two newlines in a row
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Also fixed the following minor problems:
* the arguments passed to Collectd::Unixsock::putval() have been updated
to the current version of the Perl module
* remove newlines from the end of the input line - the unixsock plugin
currently seems to be buggy when receiving two newlines in a row
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Collectd::Unixsock: Fixed some typos.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
utils_cmd_{get,put}val.c: Fixed usage of parse_identifier().
This function modifies its first argument which, in these cases, is used
again after the function call. Now, a copy of the string is passed to
parse_identifier().
This is a backport of 0a905cbd3151716c5749b5e7c5e439861466804d.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This function modifies its first argument which, in these cases, is used
again after the function call. Now, a copy of the string is passed to
parse_identifier().
This is a backport of 0a905cbd3151716c5749b5e7c5e439861466804d.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
utils_cmd_{get,put}val.c: Fixed usage of parse_identifier().
This function modifies its first argument which, in these cases, is used
again after the function call. Now, a copy of the string is passed to
parse_identifier().
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This function modifies its first argument which, in these cases, is used
again after the function call. Now, a copy of the string is passed to
parse_identifier().
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
utils_cmd_*: Terminate all lines printed to the socket with newline.
This is a backport of 1ca0b79a4274784e4cc15d45e46e2cfa0c2039cf.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This is a backport of 1ca0b79a4274784e4cc15d45e46e2cfa0c2039cf.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
utils_cmd_*: Terminate all lines printed to the socket with newline.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Disambiguated the protocol used by the unixsock (and other) plugins.
As discussed with Florian on IRC, the interpretation of the status line
returned by the unixsock plugin (et.al.) is now strictly specified. A status
greater than or equal to zero indicates success and the number of subsequent
lines of output. A negative status still indicates failure.
This way, frontends can manage the output without having to know any
command-specific interpretation rules.
The GETVAL command has been updated to implement this specification. It now
returns each value on a separate line. collectd-unixsock(5) has been updated
to reflect the changes.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
As discussed with Florian on IRC, the interpretation of the status line
returned by the unixsock plugin (et.al.) is now strictly specified. A status
greater than or equal to zero indicates success and the number of subsequent
lines of output. A negative status still indicates failure.
This way, frontends can manage the output without having to know any
command-specific interpretation rules.
The GETVAL command has been updated to implement this specification. It now
returns each value on a separate line. collectd-unixsock(5) has been updated
to reflect the changes.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
utils_cmd_flush.c: Simplified / improved option parsing.
Instead of parsing all options before doing any work, each option is now
handled right after it has been parsed. This has the following benefits:
* No need to allocate and construct any data structures.
* The timeout option may be used multiple times now, only affecting any
plugins listed after this.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Instead of parsing all options before doing any work, each option is now
handled right after it has been parsed. This has the following benefits:
* No need to allocate and construct any data structures.
* The timeout option may be used multiple times now, only affecting any
plugins listed after this.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd-unixsock(5): Updated the paragraph about Collectd::Unixsock.
The module is no longer available in contrib/PerlLib/ but bindings/perl/.
Also it's now installed by default.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The module is no longer available in contrib/PerlLib/ but bindings/perl/.
Also it's now installed by default.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>