disk: Add udev-based device renaming on Linux
On systems with large collections of allocated disk resources, the
kernel provided names can be difficult to use to logically group or
compare collected values. To grant users the ability to assign custom
instance names for disk devices, collectd can query for a specified udev
attribute. If the attribute is present, its value is subsituted for the
kernel name when submitting the data points.
On systems with large collections of allocated disk resources, the
kernel provided names can be difficult to use to logically group or
compare collected values. To grant users the ability to assign custom
instance names for disk devices, collectd can query for a specified udev
attribute. If the attribute is present, its value is subsituted for the
kernel name when submitting the data points.
Merge branch 'collectd-5.3' into collectd-5.4
Conflicts:
src/zfs_arc.c
Conflicts:
src/zfs_arc.c
Merge branch 'collectd-4.10' into collectd-5.3
Revert "curl_xml.c: avoid using uninitalized variable in error message"
This reverts commit bbbf37d55a3959951604c4be482e9a705a0f86d9.
A different fix for this problem was commited to the collectd-5.4 branch
(8327ee64) and conflicts with this patch. Also, initializing url the
same way as 8327ee64 does it, to avoid a merge conflict.
This reverts commit bbbf37d55a3959951604c4be482e9a705a0f86d9.
A different fix for this problem was commited to the collectd-5.4 branch
(8327ee64) and conflicts with this patch. Also, initializing url the
same way as 8327ee64 does it, to avoid a merge conflict.
interface.c: FreeBSD-10 support
Quoting @trtrmitya in github issue #506 : "[...] it is broken on
FreeBSD-10, in which getifaddrs() returns not only link level stats for
a particular interface, but also entries for each IP configured on that
interface. As a result if_submit() is called several times for each
interface, which results in incorrect data being logged.
I am attaching a patch which fixes a problem on FreeBSD (9/10), but it
should work for every *BSD because [...] the getifaddrs implementation
first appeared in BSDi BSD/OS."
Many thanks to @trtrmitya for providing the patch !
Quoting @trtrmitya in github issue #506 : "[...] it is broken on
FreeBSD-10, in which getifaddrs() returns not only link level stats for
a particular interface, but also entries for each IP configured on that
interface. As a result if_submit() is called several times for each
interface, which results in incorrect data being logged.
I am attaching a patch which fixes a problem on FreeBSD (9/10), but it
should work for every *BSD because [...] the getifaddrs implementation
first appeared in BSDi BSD/OS."
Many thanks to @trtrmitya for providing the patch !
curl_xml.c: avoid using uninitalized variable in error message
Thanks to @trtrmitya for reporting this. Fixes GH#507
Thanks to @trtrmitya for reporting this. Fixes GH#507
fix wg_send_buffer to reconnect tcp sockets on failure
Conflicts:
src/write_graphite.c
Conflicts:
src/write_graphite.c
curl plugin: Fixed a segfault when using <Match> without an Instance.
Thanks to Alexander Golovko for reporting this in
http://bugs.debian.org/732701
Thanks to Alexander Golovko for reporting this in
http://bugs.debian.org/732701
collection3: Fix data source names
Data sources were renamed in 6c1415d, but the data source names for some
of these entries still referenced the old data sources.
Data sources were renamed in 6c1415d, but the data source names for some
of these entries still referenced the old data sources.
Link to IOKit using -framework
The libIOKit.dylib symlink no longer exists in OS X 10.9 Mavericks, we
now have to link using -framework. This should also work in all previous
versions of OS X.
Signed-off-by: Florian Forster <octo@collectd.org>
The libIOKit.dylib symlink no longer exists in OS X 10.9 Mavericks, we
now have to link using -framework. This should also work in all previous
versions of OS X.
Signed-off-by: Florian Forster <octo@collectd.org>
src/types.db: Remove maximum value on "cache_size".
Fixes #466. Thanks to @dlacko for pointing this out!
Fixes #466. Thanks to @dlacko for pointing this out!
curl_json, curl_xml: Fix unitialized variable
The variable url is used unintialized here. The code used to be the same
in both plugins, but diverged in 19808b44. The solution applied there
does not work correctly as the effective URL can only be queried after
performing the request. Instead, just use the original request URL.
Signed-off-by: Florian Forster <octo@collectd.org>
The variable url is used unintialized here. The code used to be the same
in both plugins, but diverged in 19808b44. The solution applied there
does not work correctly as the effective URL can only be queried after
performing the request. Instead, just use the original request URL.
Signed-off-by: Florian Forster <octo@collectd.org>
Merge pull request #393 from mfournier/prevent-building-with-old-libpcap
Prevent building with old libpcap
Prevent building with old libpcap
fix error message in target_{replace,set}
Remove erroneous hint that "Type" can be altered. Also correct a small
typo. Thanks to @mjulian for pointing that out !
Fixes GH#448
Remove erroneous hint that "Type" can be altered. Also correct a small
typo. Thanks to @mjulian for pointing that out !
Fixes GH#448
Update collectd.conf.pod
spotted by lukas227 in IRC:
23:43 < lukas227> Hi, I think I found a mistake in the threshold.conf(5) man page: the example
THRESHOLD CONFIGURATION is within <Threshold></Threshold> tags, but should
probably be within <Plugin "threshold"></Plugin> tags (doesn work with
<Threshold> for me)
Day changed to 27 Sep 2013
Signed-off-by: Florian Forster <octo@collectd.org>
spotted by lukas227 in IRC:
23:43 < lukas227> Hi, I think I found a mistake in the threshold.conf(5) man page: the example
THRESHOLD CONFIGURATION is within <Threshold></Threshold> tags, but should
probably be within <Plugin "threshold"></Plugin> tags (doesn work with
<Threshold> for me)
Day changed to 27 Sep 2013
Signed-off-by: Florian Forster <octo@collectd.org>
Avoid using first person in the error message
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Replace you with your in error message
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
make build outputs more quiet
"make V=1" reverts the output to the usual verbosity level
Thanks to @jbergstroem for suggesting this !
"make V=1" reverts the output to the usual verbosity level
Thanks to @jbergstroem for suggesting this !
Autoupdate
configure.in has been deprecated for a while now
write_graphite: avoid printing out the NULL value in error messages
aquaero: Fix type names on aquaero plugin.
The percentage values are now reported as "percent" and the "flow"
type is included in the types.db list.
The percentage values are now reported as "percent" and the "flow"
type is included in the types.db list.
Display status of mic module
switch default write_graphite protocol back to TCP
The *default* protocol was switched to UDP in 498a0dcd, when UDP support
was added to the plugin.
Switching this default back to TCP, because it makes the plugin break
for users upgrading to 5.4, and also because the UDP listener is disabled
in a default graphite installation (cf.
https://github.com/graphite-project/carbon/blob/0.9.x/conf/carbon.conf.example#L78)
Fixes GH#428
The *default* protocol was switched to UDP in 498a0dcd, when UDP support
was added to the plugin.
Switching this default back to TCP, because it makes the plugin break
for users upgrading to 5.4, and also because the UDP listener is disabled
in a default graphite installation (cf.
https://github.com/graphite-project/carbon/blob/0.9.x/conf/carbon.conf.example#L78)
Fixes GH#428
collectd.conf: Added an example write_riemann TTLFactor option.
collectd.conf: Added example df plugin ValuesAbsolute/Percentage options.
collectd.conf: Added example cgroups plugin config section.
Merge remote-tracking branch 'origin/pr/409' into collectd-5.4
correct default write_graphite protocol in manpage
Merge remote-tracking branch 'github/pr/413' into collectd-5.4
cgroups plugin: Use cu_mount_checkoption().
cu_mount_checkoption() behaves a bit like strstr() in that it returns a pointer
into the buffer. cu_mount_getoptionvalue() allocated memory that was never
freed, slowly leaking memory (although very little).
Github: #412
cu_mount_checkoption() behaves a bit like strstr() in that it returns a pointer
into the buffer. cu_mount_getoptionvalue() allocated memory that was never
freed, slowly leaking memory (although very little).
Github: #412
src/utils_mount.c: Fix wrong behavior in cu_mount_getoptionvalue().
Github: #412
Github: #412
correct typo
cgroups: don't fail parsing when colon not found
The format of cpuacct.stat seems to not always have a colon as separator.
It appears to *not* have the colon at least on debian's kernel 3.2.41 and
3.2.35, as well as on RHEL6 with 2.6.32. All of them have decent support for
cgroups/lxc, and the cgroups plugin fails to work with them without this patch.
Also, looking at other implementations shows that they *don't* expect a colon:
https://bitbucket.org/dotcloud/liblxcstats/src/2558b4fbbf589c609895b0badbfc7d413466d716/probes/cpuacct.c?at=default#cl-71
https://github.com/BrightcoveOS/Diamond/blob/master/src/collectors/cpuacct_cgroup/cpuacct_cgroup.py#L55
The format of cpuacct.stat seems to not always have a colon as separator.
It appears to *not* have the colon at least on debian's kernel 3.2.41 and
3.2.35, as well as on RHEL6 with 2.6.32. All of them have decent support for
cgroups/lxc, and the cgroups plugin fails to work with them without this patch.
Also, looking at other implementations shows that they *don't* expect a colon:
https://bitbucket.org/dotcloud/liblxcstats/src/2558b4fbbf589c609895b0badbfc7d413466d716/probes/cpuacct.c?at=default#cl-71
https://github.com/BrightcoveOS/Diamond/blob/master/src/collectors/cpuacct_cgroup/cpuacct_cgroup.py#L55
zfs_arc plugin: Collect "allocated" and "stolen" on FreeBSD only.
The appropriate log messages have been demoted to WARNING.
Github: #305
The appropriate log messages have been demoted to WARNING.
Github: #305
curl_json plugin: avoid accessing off the end of the avl_tree_s
It's not written this way, but really we have a union { *key; *tree; }
which is differentiated by checking for the presence a magic field
which only exists in key. This leads to accesses off the end of the
tree. Putting the magic at start of the key avoids this.
Signed-off-by: Florian Forster <octo@collectd.org>
It's not written this way, but really we have a union { *key; *tree; }
which is differentiated by checking for the presence a magic field
which only exists in key. This leads to accesses off the end of the
tree. Putting the magic at start of the key avoids this.
Signed-off-by: Florian Forster <octo@collectd.org>
curl_json plugin: avoid unlikely overrun
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
RedHat RPM spec: updates for 5.4.0
Bump version to 5.4.0; Update ChangeLog.
Merge branch 'collectd-5.3'
Conflicts:
configure.in
Conflicts:
configure.in
Merge branch 'collectd-5.2' into collectd-5.3
Merge branch 'ad/aquaero'
collectd.conf(5): Improve markup of the aquaero plugin.
README: Add dependency "aerotools-ng".
aquaero plugin: Use the "complex" configuration.
Actually less LOC.
Actually less LOC.
aquaero plugin: Some coding style fixes.
* Break long lines.
* Rename temperatures. The type instances are now "sensor", "virtual",
"software" and "other".
* Rename "flow-flow" to "flow-sensor".
* Break long lines.
* Rename temperatures. The type instances are now "sensor", "virtual",
"software" and "other".
* Rename "flow-flow" to "flow-sensor".
configure.in: Check for the libaquaero5.o file in "obj/".
This is what the aerotools-ng Makefile is currently using.
This is what the aerotools-ng Makefile is currently using.
Merge branch 'jr/json'
collectd.conf(5): Markup improvements for the curl_json plugin.
curl_json plugin: Random minor improvements.
I did these changes while wrapping my head around the new array code.
* Added a comment to explain the cj_cb_map_key() function.
* Renamed some variabled and the arguments of the cj_cb_map_key() function.
* Renamed the "ignore" argument to "update_key" (inversing its meaning).
I did these changes while wrapping my head around the new array code.
* Added a comment to explain the cj_cb_map_key() function.
* Renamed some variabled and the arguments of the cj_cb_map_key() function.
* Renamed the "ignore" argument to "update_key" (inversing its meaning).
Mention libsigrok dependency
Merge remote-tracking branches 'github/pr/392' and 'github/pr/399' into jr/json
src/types.db: Remove the maximum value for "latency".
Github: #400
Github: #400
Merge remote-tracking branch 'github/master'
Merge remote-tracking branch 'github/pr/404'
Attempt to fix collectd/collectd#229 by doing user / group lookups before we fork.
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
Update clean.sh
statsd plugin: add TimerCount option
The "count" name was chosen over "num" to match the naming scheme
used by the node.js implementation.
The "count" name was chosen over "num" to match the naming scheme
used by the node.js implementation.
statsd plugin: add TimerSum option
statsd plugin: add TimerLower and TimerUpper options
The "lower" and "upper" names were chosen over "min" and "max"
to match the naming scheme used by the node.js implementation.
The "lower" and "upper" names were chosen over "min" and "max"
to match the naming scheme used by the node.js implementation.
fix .gitignore of lcc_features.h
.gitignore collectd-tg
curl_json plugin: warn when config expects a map and a number is provided
Moves the warning for strings in the number callback which was being called anyway.
This also serves to fix parsing numbers represented as JSON strings which was inadvertantly broken when adding array support.
Moves the warning for strings in the number callback which was being called anyway.
This also serves to fix parsing numbers represented as JSON strings which was inadvertantly broken when adding array support.
aquaero: Fix AC_CHECK configure setting for libaquaero5.
aquaero: Documentation for aquaero plugin.
This patch includes the manpage, smaller config sample file and
the README and AUTHORS description.
This patch includes the manpage, smaller config sample file and
the README and AUTHORS description.
aquaero: Fix sensor names
This patch replaces some sensor names to more reasonable ones.
This patch replaces some sensor names to more reasonable ones.
RedHat RPM spec: support for RHEL5
plus some minor updates: bump version to 5.3.1 & add usage example.
plus some minor updates: bump version to 5.3.1 & add usage example.
curl_json plugin: add an example of array access to the documented uWSGI example
curl_json plugin: document the new Sock option
curl_json plugin: free the socket name
curl_json plugin: style cleanups
curl_json plugin: use sstrerr for thread safety
curl_json plugin: support getting json from a Unix socket as well as a URL
curl_json plugin: separate the cj_curl_perform in to the curl and yajl parts
curl_json plugin: document being able to access arrays
curl_json plugin: support arrays
Allow access to data in JSON arrays. For example
{ workers: [ { requests: 10 }, { requests: 10 } ] }
can all be accessed with
workers/*/requests
or just one by using the index.
workers/1/requests
Allow access to data in JSON arrays. For example
{ workers: [ { requests: 10 }, { requests: 10 } ] }
can all be accessed with
workers/*/requests
or just one by using the index.
workers/1/requests
disable fields not available in varnish 2.0.x
Several fields were added in commit 8775392. 3 of them make the build
fail when varnish 2.0.x is used. This patch makes them available only
when using varnish 3.x.
The commit message of 8775392 gives more detail on the rationale behind
this way of doing.
Several fields were added in commit 8775392. 3 of them make the build
fail when varnish 2.0.x is used. This patch makes them available only
when using varnish 3.x.
The commit message of 8775392 gives more detail on the rationale behind
this way of doing.
Merge remote-tracking branch 'origin/pr/376'
check if libpcap has PCAP_ERROR_IFACE_NOT_UP
This should prevent DNS plugin from being built on systems with libpcap
older than 1.0.0.
GitHub issue #373
This should prevent DNS plugin from being built on systems with libpcap
older than 1.0.0.
GitHub issue #373
update copyright and authors list
remove redundant inclusion of time.h
Add sigrok to README/AUTHORS
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
memcached plugin: actually connect when using a unix socket
Signed-off-by: Florian Forster <octo@collectd.org>
Signed-off-by: Florian Forster <octo@collectd.org>
csv plugin: set datadir null when free
If you define twice DataDir:
<Plugin csv>
DataDir "/opt/collectd/var/lib/collectd/csv"
DataDir stdout
</Plugin>
the second time datadir will not be null and
you will get garbage in value_list_to_filename
Signed-off-by: Florian Forster <octo@collectd.org>
If you define twice DataDir:
<Plugin csv>
DataDir "/opt/collectd/var/lib/collectd/csv"
DataDir stdout
</Plugin>
the second time datadir will not be null and
you will get garbage in value_list_to_filename
Signed-off-by: Florian Forster <octo@collectd.org>
csv plugin: fix forgotten "datadir" in re-implement value_list_to_filename()
In the commit 7f90e30 the re-implementation of value_list_to_filename
forgot to prepend the datadir string.
Signed-off-by: Florian Forster <octo@collectd.org>
In the commit 7f90e30 the re-implementation of value_list_to_filename
forgot to prepend the datadir string.
Signed-off-by: Florian Forster <octo@collectd.org>
Merge branch 'ff/statsd'
Merge branch 'pr/381'
src/collectd.conf.in: Unify indentation.
sigrok plugin: Ensure consistent logging prefix.
* Make sure all logging is using the "sigrok plugin: " prefix.
* Improved logging when handling the "LogLevel" option.
* Renamed free_drvopts() to sigrok_free_drvopts(). All functions now use the
"sigrok_" prefix.
* Don't abort parsing a "Device" block when encountering an incorrect number of
arguments. The cf_util_* functions will complain about that.
* Make sure all logging is using the "sigrok plugin: " prefix.
* Improved logging when handling the "LogLevel" option.
* Renamed free_drvopts() to sigrok_free_drvopts(). All functions now use the
"sigrok_" prefix.
* Don't abort parsing a "Device" block when encountering an incorrect number of
arguments. The cf_util_* functions will complain about that.
collectd.conf(5): sigrok plugin: Improve markup.
use pkg-config to locate libmnl and configure netlink plugin
rrdtool plugin: Minor performance improvement.
Replace the value_list_to_string() function with a version which is optimized
for data sets with a single data source. The original function is still used
for data sets with multiple data sources. This allows to reduce the number of
calls to snprintf() in this (very common) case, resulting in ~2% speedup.
Replace the value_list_to_string() function with a version which is optimized
for data sets with a single data source. The original function is still used
for data sets with multiple data sources. This allows to reduce the number of
calls to snprintf() in this (very common) case, resulting in ~2% speedup.
sigrok: Update docs to reflect config keyword change
sigrok: Change 'interval' option to 'MinimumInterval', and allow 0
A MinimumInterval of 0 means whatever the device sends gets dispatched
to collectd. This is the default.
A MinimumInterval of 0 means whatever the device sends gets dispatched
to collectd. This is the default.
Fix temperature type to be unit-agnostic
The minimum value of -273.15 implies Celcius, which is not necessarily
what is used for this type.
The minimum value of -273.15 implies Celcius, which is not necessarily
what is used for this type.
add sound pressure level type
Use value types according to sigrok measured quantity
Code consistency fixes
Code cleanup
aquaero: New Aquaero sensors plugin
This plugin adds support for the Aquaero 5 sensors.
This plugin adds support for the Aquaero 5 sensors.