Code

collectd.git
7 years agopython: Add documentation for CollectdError.
Sven Trenkel [Sun, 16 Jul 2017 22:50:12 +0000 (22:50 +0000)]
python: Add documentation for CollectdError.

7 years agoMerge remote-tracking branch 'octo/master'
Sven Trenkel [Sun, 16 Jul 2017 22:49:59 +0000 (22:49 +0000)]
Merge remote-tracking branch 'octo/master'

7 years agointel_rdt plugin: fix style
Ruben Kerkhof [Sun, 16 Jul 2017 20:38:57 +0000 (22:38 +0200)]
intel_rdt plugin: fix style

7 years agonut plugin: remove trailing whitespace
Ruben Kerkhof [Sun, 16 Jul 2017 20:37:31 +0000 (22:37 +0200)]
nut plugin: remove trailing whitespace

7 years agoMerge branch 'ssnprintf-cleanup'
Ruben Kerkhof [Sun, 16 Jul 2017 20:33:21 +0000 (22:33 +0200)]
Merge branch 'ssnprintf-cleanup'

Conflicts:
src/dpdkevents.c
src/utils_dpdk.c
src/write_mongodb.c

7 years agoRun clang-format after removing ssnprintf
Ruben Kerkhof [Sun, 16 Jul 2017 20:24:54 +0000 (22:24 +0200)]
Run clang-format after removing ssnprintf

Changing ssnprintf to snprintf changed the indentation.

7 years agoMerge pull request #2354 from rpv-tomsk/issue-2344-nut-rework
Ruben Kerkhof [Sat, 15 Jul 2017 13:55:52 +0000 (15:55 +0200)]
Merge pull request #2354 from rpv-tomsk/issue-2344-nut-rework

nut plugin: Multi-threaded ups polling with connect timeout.

7 years agoMerge pull request #2362 from rpv-tomsk/issue-2338
Ruben Kerkhof [Thu, 13 Jul 2017 15:29:22 +0000 (17:29 +0200)]
Merge pull request #2362 from rpv-tomsk/issue-2338

snmp_agent: Fixes and improvements

7 years agosnmp_agent: Documented 'PluginInstance' option
Pavel Rochnyack [Thu, 13 Jul 2017 12:45:53 +0000 (19:45 +0700)]
snmp_agent: Documented 'PluginInstance' option

7 years agosnmp_agent: Changed plugin initialization
Pavel Rochnyack [Thu, 13 Jul 2017 11:51:31 +0000 (18:51 +0700)]
snmp_agent: Changed plugin initialization

* Do not start working thread if plugin not configured.
  That allows to avoid useless CPU consumption by polling loop.

* Do not register 'write' / 'missing' callbacks if there was no <Table> configured.
  These callbacks do not do anything in this case.

* Registration of 'shutdown' callback delayed to 'init' phase.

7 years agosnmp_agent: Fix null pointer dereference
Pavel Rochnyack [Thu, 13 Jul 2017 07:34:27 +0000 (14:34 +0700)]
snmp_agent: Fix null pointer dereference

As `table` field in `data_definition_t` is just backreference,
then `snmp_agent_free_data()` should not alter parent structure.

So, table columns unregistering and freeing has moved to new
`snmp_agent_free_table_columns()` function.

That also fixes null pointer dereference.

Closes: #2338.
7 years agosnmp_agent: Added a check for llist_create() result
Pavel Rochnyack [Wed, 12 Jul 2017 14:26:13 +0000 (21:26 +0700)]
snmp_agent: Added a check for llist_create() result

Also appropriate `llist_destroy()` calls added.

7 years agosnmp_agent: Avoid race conditions between thread start and locks initialization.
Pavel Rochnyack [Wed, 12 Jul 2017 14:06:22 +0000 (21:06 +0700)]
snmp_agent: Avoid race conditions between thread start and locks initialization.

Lock initialization should be done before starting pthread which uses them.

7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Wed, 12 Jul 2017 16:59:07 +0000 (18:59 +0200)]
Merge branch 'collectd-5.7'

Conflicts:
contrib/systemd.collectd.service

7 years agoMerge branch 'collectd-5.6' into collectd-5.7
Ruben Kerkhof [Wed, 12 Jul 2017 16:58:18 +0000 (18:58 +0200)]
Merge branch 'collectd-5.6' into collectd-5.7

7 years agocollectd.service: remove NoNewPrivileges setting
Ruben Kerkhof [Wed, 12 Jul 2017 16:54:49 +0000 (18:54 +0200)]
collectd.service: remove NoNewPrivileges setting

There are various issues with it in combination with SELinux.
See https://marc.info/?l=selinux&m=149971836431361&w=2 for some
background.

7 years agoMerge pull request #2357 from rpv-tomsk/issue-2305
Ruben Kerkhof [Wed, 12 Jul 2017 15:44:34 +0000 (17:44 +0200)]
Merge pull request #2357 from rpv-tomsk/issue-2305

Fixed failed compilation on AIX

7 years agonut plugin: Multi-threaded ups polling with connect timeout.
Pavel Rochnyack [Mon, 10 Jul 2017 06:24:08 +0000 (13:24 +0700)]
nut plugin: Multi-threaded ups polling with connect timeout.

Changes:

* Implemented use of 'plugin_register_complex_read', so querying will be multi-threaded;
* Added 'ConnectTimeout' option, implemented with use of 'upscli_tryconnect()' added in nut-2.6.2;
* The `upscli_cleanup()` should be called only at Collectd shutdown, excessive calls was removed;
* Added `upscli_init()` call if `ForceSSL` enabled.
* Added a check for duplicated values in `UPS` option.

Closes: #2344
7 years agoFixed failed compilation on AIX
Pavel Rochnyack [Tue, 11 Jul 2017 04:08:56 +0000 (11:08 +0700)]
Fixed failed compilation on AIX

Caused by typo in 2761915bed8c6caea41018be3e675aa712cc0b0a / #1842.

Closes: #2305
7 years agowrite_mongodb: fix a couple of build warnings
Ruben Kerkhof [Sat, 8 Jul 2017 10:12:33 +0000 (12:12 +0200)]
write_mongodb: fix a couple of build warnings

  CC       src/write_mongodb_la-write_mongodb.lo
src/write_mongodb.c:96:21: warning: comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned long') [-Wsign-compare]
  for (int i = 0; i < ds->ds_num; i++) {
                  ~ ^ ~~~~~~~~~~
src/write_mongodb.c:121:21: warning: comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned long') [-Wsign-compare]
  for (int i = 0; i < ds->ds_num; i++) {
                  ~ ^ ~~~~~~~~~~
src/write_mongodb.c:134:21: warning: comparison of integers of different signs: 'int' and 'const size_t' (aka 'const unsigned long') [-Wsign-compare]
  for (int i = 0; i < ds->ds_num; i++) {
                  ~ ^ ~~~~~~~~~~
3 warnings generated.

7 years agochrony plugin: small cleanup
Ruben Kerkhof [Sat, 8 Jul 2017 09:52:42 +0000 (11:52 +0200)]
chrony plugin: small cleanup

7 years agochrony plugin: fix 2 build warnings
Ruben Kerkhof [Sat, 8 Jul 2017 09:50:23 +0000 (11:50 +0200)]
chrony plugin: fix 2 build warnings

  CC       src/chrony.lo
src/chrony.c:355:30: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
    if (!isalnum(c) || j + 1 >= p_buf_size)
                       ~~~~~ ^  ~~~~~~~~~~
src/chrony.c:359:9: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
  if (j < p_buf_size)
      ~ ^ ~~~~~~~~~~

7 years agoMerge pull request #2351 from rpv-tomsk/apcups-defaults
Ruben Kerkhof [Sat, 8 Jul 2017 08:58:26 +0000 (10:58 +0200)]
Merge pull request #2351 from rpv-tomsk/apcups-defaults

apcups: allow to use plugin without explicit configuration

7 years agoapcups: allow to use plugin without explicit configuration
Pavel Rochnyack [Fri, 7 Jul 2017 17:56:23 +0000 (00:56 +0700)]
apcups: allow to use plugin without explicit configuration
Previously the apcups plugin could not be used without defining
an explicit configuration.

While the apcups plugin did provide a localhost fallback, it
did not however provide a 3551 port fallback in practice,
eventhough a constant for that purpose was already present.

Thanks to Pascal de Bruijn for report.

Closes: #2347
7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Fri, 7 Jul 2017 16:43:39 +0000 (18:43 +0200)]
Merge branch 'collectd-5.7'

Fixes #2328
Conflicts:
src/curl_json.c
src/curl_xml.c

7 years agoMerge branch 'collectd-5.6' into collectd-5.7
Ruben Kerkhof [Fri, 7 Jul 2017 16:40:55 +0000 (18:40 +0200)]
Merge branch 'collectd-5.6' into collectd-5.7

7 years agosnmp_agent: fix format specifiers
Ruben Kerkhof [Fri, 7 Jul 2017 14:00:48 +0000 (16:00 +0200)]
snmp_agent: fix format specifiers

make  all-am
make[1]: Entering directory '/home/ruben/src/collectd'
  CC       src/snmp_agent_la-snmp_agent.lo
In file included from ./src/daemon/common.h:33:0,
                 from src/snmp_agent.c:31:
src/snmp_agent.c: In function ‘snmp_agent_dump_data’:
src/snmp_agent.c:42:21: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t {aka long unsigned int}’ [-Wformat=]
 #define PLUGIN_NAME "snmp_agent"
                     ^
./src/daemon/plugin.h:400:42: note: in definition of macro ‘DEBUG’
 #define DEBUG(...) plugin_log(LOG_DEBUG, __VA_ARGS__)
                                          ^~~~~~~~~~~
src/snmp_agent.c:192:13: note: in expansion of macro ‘PLUGIN_NAME’
       DEBUG(PLUGIN_NAME ":   OID[%d]: %s", i, oid_str);
             ^~~~~~~~~~~
src/snmp_agent.c:192:35: note: format string is defined here
       DEBUG(PLUGIN_NAME ":   OID[%d]: %s", i, oid_str);
                                  ~^
                                  %ld
  CCLD     snmp_agent.la

7 years agoMerge pull request #2348 from maryamtahhan/feat_dpdkevents_fixes
Ruben Kerkhof [Thu, 6 Jul 2017 16:54:45 +0000 (18:54 +0200)]
Merge pull request #2348 from maryamtahhan/feat_dpdkevents_fixes

Feat dpdkevents fixes

7 years agodpdk plugins: bug fixes and improvements
Przemyslaw Szczerbik [Fri, 7 Apr 2017 12:48:39 +0000 (13:48 +0100)]
dpdk plugins: bug fixes and improvements

- Do not return error in configuration callback, which will cause
  collectd to be stopped. Instead, report error in init callback, which
  will unload incorrectly configured plugin.
- Remove redundant ProcessType configuration option, which was always set to
  "secondary"
- Use functions from cf_util_get family for parsing config file
- In case of parsing errors perform plugin cleanup
- Correctly remove previously created shared memory object if user specified
  "SharedMemObj" option with different value than default
- Prevent segmentation fault in dpdk_shm_cleanup
- Change 'send_updated' and 'notify' variable types to _Bool

Change-Id: Id7dfc7f25d2cebf332d47bcd5afaaebf577945d6
Signed-off-by: Przemyslaw Szczerbik <przemyslawx.szczerbik@intel.com>
7 years agodpdkevents: initialization fixes
Krzysztof Matczak [Wed, 5 Apr 2017 15:57:25 +0000 (16:57 +0100)]
dpdkevents: initialization fixes

This patch removes impact of keep_alive init failure on
link_status processing. Also changed default behaviour in configless
mode, where no <Plugin/> stanza is defined. Now both keep_alive
and link_status are enabled by default. On the other hand if
<Plugin/> stanza is present, both features are disabled by default
and user is responsible for specifying which one is active or not.

Change-Id: I03f7ab88e89404e03532677d00a966ddb80d1552
Signed-off-by: Krzysztof Matczak <krzysztofx.matczak@intel.com>
7 years agodpdkevents: detect primary DPDK application (re)start
Przemyslaw Szczerbik [Tue, 28 Mar 2017 08:53:32 +0000 (09:53 +0100)]
dpdkevents: detect primary DPDK application (re)start

Current implementation attempts to open KA SHM only once during init callback.
If at the time primary DPDK application is not running shm_open will fail, which
will result in dpdkevents plugin being unloaded. Move KA SHM open logic to read
callback to allow plugin to attach to primary DPDK application later without a
need to restart collectd. Moreover, it will allow to determine if primary DPDK
application was killed and plugin should stop dispatching KA statistics.

Additionally modify dpdk_event_keep_alive_shm_open function to detect restart of
primary DPDK application. When primary DPDK application (with KA support) is
restarted it unlinks existing shared memory object and creates a new one. It's
necessary for the plugin to create a new SHM mapping in order to prevent reading
statistics from stale SHM block.

Change-Id: I7fc0047ba117db771ada58a40cbe0b2bddd00112
Signed-off-by: Przemyslaw Szczerbik <przemyslawx.szczerbik@intel.com>
7 years agoAdd CollectdError exception which can be thrown without causing a stacktrace to be...
Sven Trenkel [Wed, 5 Jul 2017 21:24:56 +0000 (21:24 +0000)]
Add CollectdError exception which can be thrown without causing a stacktrace to be logged.

7 years agoMerge pull request #2341 from rpv-tomsk/issue-2328
Ruben Kerkhof [Tue, 4 Jul 2017 15:27:03 +0000 (17:27 +0200)]
Merge pull request #2341 from rpv-tomsk/issue-2328

curl plugins: Use configured URL for all poll cycles

7 years agocurl plugins: Use configured URL for all poll cycles
Pavel Rochnyack [Tue, 4 Jul 2017 10:31:46 +0000 (17:31 +0700)]
curl plugins: Use configured URL for all poll cycles

After redirect received, Collectd send subsequent requests to new location.
That is wrong - Collectd should use configured URL for all poll cycles, regardless of the responses received previously.

Problem was caused by libcurl issue 1631. To avoid that we set request url in each poll cycle.

Closes: #2328
7 years agowrite_mongodb: fix build warning
Ruben Kerkhof [Sun, 2 Jul 2017 20:12:18 +0000 (22:12 +0200)]
write_mongodb: fix build warning

  CC       src/write_mongodb_la-write_mongodb.lo
src/write_mongodb.c: In function ‘wm_config’:
src/write_mongodb.c:371:55: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 114 [-Wformat-truncation=]
     snprintf(cb_name, sizeof(cb_name), "write_mongodb/%s", node->name);
                                                       ^~
src/write_mongodb.c:371:5: note: ‘snprintf’ output between 15 and 142 bytes into a destination of size 128
     snprintf(cb_name, sizeof(cb_name), "write_mongodb/%s", node->name);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

7 years agowrite_redis: fix build warning
Ruben Kerkhof [Sun, 2 Jul 2017 20:07:59 +0000 (22:07 +0200)]
write_redis: fix build warning

src/write_redis.c: In function ‘wr_config’:
src/write_redis.c:222:53: warning: ‘%s’ directive output may be truncated writing up to 127 bytes into a region of size 116 [-Wformat-truncation=]
     snprintf(cb_name, sizeof(cb_name), "write_redis/%s", node->name);
                                                     ^~
src/write_redis.c:222:5: note: ‘snprintf’ output between 13 and 140 bytes into a destination of size 128
     snprintf(cb_name, sizeof(cb_name), "write_redis/%s", node->name);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

7 years agolibcollectdclient: increase error buffer
Ruben Kerkhof [Sun, 2 Jul 2017 19:52:14 +0000 (21:52 +0200)]
libcollectdclient: increase error buffer

make[1]: Entering directory '/home/ruben/src/collectd'
  CC       src/libcollectdclient/libcollectdclient_la-client.lo
src/libcollectdclient/client.c: In function ‘lcc_getval’:
src/libcollectdclient/client.c:621:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=]
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
                       ^                   ~
src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
                                                ^~~~~~~~~~~
src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libcollectdclient/client.c:621:5: note: in expansion of macro ‘LCC_SET_ERRSTR’
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
     ^~~~~~~~~~~~~~
src/libcollectdclient/client.c: In function ‘lcc_putval’:
src/libcollectdclient/client.c:754:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=]
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
                       ^                   ~
src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
                                                ^~~~~~~~~~~
src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libcollectdclient/client.c:754:5: note: in expansion of macro ‘LCC_SET_ERRSTR’
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
     ^~~~~~~~~~~~~~
src/libcollectdclient/client.c: In function ‘lcc_flush’:
src/libcollectdclient/client.c:802:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=]
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
                       ^                   ~
src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
                                                ^~~~~~~~~~~
src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libcollectdclient/client.c:802:5: note: in expansion of macro ‘LCC_SET_ERRSTR’
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
     ^~~~~~~~~~~~~~
src/libcollectdclient/client.c: In function ‘lcc_listval’:
src/libcollectdclient/client.c:834:23: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1010 [-Wformat-truncation=]
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
                       ^                   ~
src/libcollectdclient/client.c:94:48: note: in definition of macro ‘LCC_SET_ERRSTR’
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
                                                ^~~~~~~~~~~
src/libcollectdclient/client.c:94:5: note: ‘snprintf’ output between 15 and 1038 bytes into a destination of size 1024
     snprintf((c)->errbuf, sizeof((c)->errbuf), __VA_ARGS__);                   \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/libcollectdclient/client.c:834:5: note: in expansion of macro ‘LCC_SET_ERRSTR’
     LCC_SET_ERRSTR(c, "Server error: %s", res.message);
     ^~~~~~~~~~~~~~

Fixes #2200

7 years agolibcollectclient: snprintf already NUL-terminates
Ruben Kerkhof [Sun, 2 Jul 2017 19:50:48 +0000 (21:50 +0200)]
libcollectclient: snprintf already NUL-terminates

7 years agoprocesses plugin: fix build warning
Ruben Kerkhof [Sun, 2 Jul 2017 19:48:50 +0000 (21:48 +0200)]
processes plugin: fix build warning

  CC       src/processes.lo
src/processes.c: In function ‘ps_read’:
src/processes.c:823:58: warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size between 32 and 51 [-Wformat-truncation=]
     snprintf(filename, sizeof(filename), "/proc/%li/task/%s/status", ps->id,
                                                          ^~
src/processes.c:823:5: note: ‘snprintf’ output between 21 and 295 bytes into a destination of size 64
     snprintf(filename, sizeof(filename), "/proc/%li/task/%s/status", ps->id,
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               tpid);
               ~~~~~

In practice the buffer is more than large enough, since all we substitute are process ids, but gcc can't know that.

7 years agoTreewide: replace ssnprintf with snprintf
Ruben Kerkhof [Sun, 2 Jul 2017 19:17:30 +0000 (21:17 +0200)]
Treewide: replace ssnprintf with snprintf

ssnprintf supposedly was a safer version of snprintf, but they both
always NUL-terminate the buffer.

After this change GCC >= 7 will start warning when snprintf silenty
truncates, which is good since I want to see when that happens.

7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Sun, 2 Jul 2017 18:52:18 +0000 (20:52 +0200)]
Merge branch 'collectd-5.7'

7 years agotcpconns plugin: fix build on FreeBSD current
Ruben Kerkhof [Sun, 2 Jul 2017 18:34:59 +0000 (20:34 +0200)]
tcpconns plugin: fix build on FreeBSD current

FreeBSD commit https://github.com/freebsd/freebsd/commit/3a5c9aaf2b2ea107bcaf0ba28b706238d92bdbbd
hides inpcb and tcpcb from userland.

Patch taken from FreeBSD ports tree, thanks glebius@.

7 years agowrite_mongodb: use ssnprintf_alloc to create dsn
Ruben Kerkhof [Sun, 2 Jul 2017 17:38:12 +0000 (19:38 +0200)]
write_mongodb: use ssnprintf_alloc to create dsn

7 years agowrite_mongodb: fix potential NULL dereference
Ruben Kerkhof [Sun, 2 Jul 2017 17:22:20 +0000 (19:22 +0200)]
write_mongodb: fix potential NULL dereference

scan-build: Using '/usr/bin/clang-4.0' for static analysis
make  all-am
make[1]: Entering directory '/home/ruben/src/collectd'
  CC       src/write_mongodb_la-write_mongodb.lo
src/write_mongodb.c:173:41: warning: Null pointer passed as an argument to a 'nonnull' parameter
                 strlen(node->passwd) + strlen(node->host) + 5 +
                                        ^~~~~~~~~~~~~~~~~~
src/write_mongodb.c:199:42: warning: Null pointer passed as an argument to a 'nonnull' parameter
    uri_length = strlen(format_string) + strlen(node->host) + 5 + 1;
                                         ^~~~~~~~~~~~~~~~~~
2 warnings generated.
  CCLD     write_mongodb.la

7 years agowrite_mongodb.c: clang-format
Ruben Kerkhof [Sun, 2 Jul 2017 17:16:55 +0000 (19:16 +0200)]
write_mongodb.c: clang-format

7 years agoOnly build libplugin_mock.la during make check
Ruben Kerkhof [Sun, 2 Jul 2017 13:44:39 +0000 (15:44 +0200)]
Only build libplugin_mock.la during make check

7 years agoMerge pull request #2315 from mcorbin/feat/riemann-microseconds-resolution
Ruben Kerkhof [Sun, 2 Jul 2017 12:38:36 +0000 (14:38 +0200)]
Merge pull request #2315 from mcorbin/feat/riemann-microseconds-resolution

Add micro-seconds resolution in write_riemann

7 years agoMerge pull request #2301 from rpv-tomsk/fix-apcups
Ruben Kerkhof [Sun, 2 Jul 2017 11:34:05 +0000 (13:34 +0200)]
Merge pull request #2301 from rpv-tomsk/fix-apcups

apcups: Fix reconnect implementation

7 years agoipvs plugin: remove custom kernel source support
Ruben Kerkhof [Sat, 1 Jul 2017 13:43:42 +0000 (15:43 +0200)]
ipvs plugin: remove custom kernel source support

Linux has shipped ipvs.h in its uapi for ages now.

7 years agoconfigure.ac: minor cleanup
Ruben Kerkhof [Sat, 1 Jul 2017 13:27:21 +0000 (15:27 +0200)]
configure.ac: minor cleanup

7 years agoconfigure.ac: remove some whitespace
Ruben Kerkhof [Sat, 1 Jul 2017 13:18:08 +0000 (15:18 +0200)]
configure.ac: remove some whitespace

7 years agosnmp_agent plugin: fix a few build warnings
Ruben Kerkhof [Sat, 1 Jul 2017 13:09:40 +0000 (15:09 +0200)]
snmp_agent plugin: fix a few build warnings

```
CC       src/snmp_agent_la-snmp_agent.lo
src/snmp_agent.c:166:25: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
      for (int i = 0; i < dd->oids_len; i++) {
                      ~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:190:23: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < dd->oids_len; i++) {
                    ~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:289:37: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
  for (i = 0; i < key_len && offset < oid->oid_len; i++)
                             ~~~~~~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:355:23: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < dd->oids_len; i++)
                    ~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:420:23: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < (*dd)->oids_len; i++)
                    ~ ^ ~~~~~~~~~~~~~~~
src/snmp_agent.c:429:25: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
      for (int i = 0; i < (*dd)->oids_len; i++)
                      ~ ^ ~~~~~~~~~~~~~~~
src/snmp_agent.c:440:25: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
      for (int i = 0; i < (*dd)->oids_len; i++)
                      ~ ^ ~~~~~~~~~~~~~~~
src/snmp_agent.c:532:20: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
  assert(oid_index < values_num);
         ~~~~~~~~~ ^ ~~~~~~~~~~
/usr/include/assert.h:89:5: note: expanded from macro 'assert'
  ((expr)                                                               \
    ^~~~
src/snmp_agent.c:584:25: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
      for (int i = 0; i < dd->oids_len; i++) {
                      ~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:768:23: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < dd->oids_len; i++) {
                    ~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:806:25: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
      for (int i = 0; i < dd->oids_len; i++) {
                      ~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:821:23: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < dd->oids_len; i++) {
                    ~ ^ ~~~~~~~~~~~~
src/snmp_agent.c:1287:23: warning: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned long') [-Wsign-compare]
    for (int i = 0; i < dd->oids_len; i++) {
                    ~ ^ ~~~~~~~~~~~~
13 warnings generated.
```

7 years agoipvs plugin: minor cleanup
Ruben Kerkhof [Sat, 1 Jul 2017 12:54:41 +0000 (14:54 +0200)]
ipvs plugin: minor cleanup

- Remove some Yoda conditionals
- Give some variables better names
- Use C99 designated initializers in some places.

7 years agoMerge pull request #2327 from rpv-tomsk/snmp-custom-port
Ruben Kerkhof [Sat, 1 Jul 2017 10:57:27 +0000 (12:57 +0200)]
Merge pull request #2327 from rpv-tomsk/snmp-custom-port

snmp plugin: Option `Address` documented in more details.

7 years agoemail plugin: fix Yoda conditionals
Ruben Kerkhof [Fri, 30 Jun 2017 15:44:48 +0000 (17:44 +0200)]
email plugin: fix Yoda conditionals

7 years agoFix mismerge
Ruben Kerkhof [Fri, 30 Jun 2017 14:53:12 +0000 (16:53 +0200)]
Fix mismerge

7 years agoexec plugin: remove some Yoda conditionals
Ruben Kerkhof [Fri, 30 Jun 2017 14:37:25 +0000 (16:37 +0200)]
exec plugin: remove some Yoda conditionals

7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Fri, 30 Jun 2017 14:20:16 +0000 (16:20 +0200)]
Merge branch 'collectd-5.7'

Conflicts:
src/openldap.c

7 years agoMerge branch 'collectd-5.6' into collectd-5.7
Ruben Kerkhof [Fri, 30 Jun 2017 14:17:06 +0000 (16:17 +0200)]
Merge branch 'collectd-5.6' into collectd-5.7

7 years agoemail, exec and unixsock plugins: enlarge buffer for getgrnam_r result
Ruben Kerkhof [Fri, 30 Jun 2017 14:15:25 +0000 (16:15 +0200)]
email, exec and unixsock plugins: enlarge buffer for getgrnam_r result

Thanks to Jeremie Courreges-Anglas and Daniel Jakots.

7 years agoemail, exec and unixsock plugins: fix error handling
Ruben Kerkhof [Fri, 30 Jun 2017 14:12:57 +0000 (16:12 +0200)]
email, exec and unixsock plugins: fix error handling

Diff from Jeremie Courreges-Anglas, via Daniel Jakots

7 years agoMerge pull request #2331 from mfournier/ldap_unbind-segfault
Ruben Kerkhof [Wed, 28 Jun 2017 17:38:12 +0000 (19:38 +0200)]
Merge pull request #2331 from mfournier/ldap_unbind-segfault

openldap: check ld structure before passing it to ldap_unbind()

7 years agoopenldap: check ld structure before passing it to ldap_unbind()
Marc Fournier [Wed, 28 Jun 2017 11:46:59 +0000 (13:46 +0200)]
openldap: check ld structure before passing it to ldap_unbind()

This prevents collectd from segfaulting when the ldap session setup
fails before opening a connection to openldap (syntax error in the URL
option for example).

7 years agosnmp: Option `Address` documented in more details.
Pavel Rochnyack [Sun, 25 Jun 2017 07:40:07 +0000 (14:40 +0700)]
snmp: Option `Address` documented in more details.

As described at http://net-snmp.sourceforge.net/dev/agent/structsnmp__session.html,
it may include transport specifier and/or port number.
Configuration examples are updated too.

Closes: #2302
7 years agoMerge pull request #2320 from maryamtahhan/feat_snmp_compilation_issue
Ruben Kerkhof [Wed, 21 Jun 2017 09:55:35 +0000 (11:55 +0200)]
Merge pull request #2320 from maryamtahhan/feat_snmp_compilation_issue

SNMP Agent: Fix compilation issue of snmp_agent plugin

7 years agoSNMP Agent: Fix compilation issue on Net-SNMP v5.4.3
Mytnyk, VolodymyrX [Tue, 20 Jun 2017 10:14:41 +0000 (11:14 +0100)]
SNMP Agent: Fix compilation issue on Net-SNMP v5.4.3

The compilation of SNMP Agent fails on older version of
Net-SNMP (5.4.3).

Signed-off-by: Mytnyk, VolodymyrX <volodymyrx.mytnyk@intel.com>
7 years agoAdd micro-seconds resolution in write_riemann
mcorbin [Tue, 13 Jun 2017 19:12:07 +0000 (21:12 +0200)]
Add micro-seconds resolution in write_riemann

riemann-c-client 1.10.0 and higher supports micro-seconds time
resolution for Riemann events.

7 years agoBump version to 5.7.2; Update ChangeLog. collectd-5.7.2
Florian Forster [Tue, 6 Jun 2017 18:11:05 +0000 (20:11 +0200)]
Bump version to 5.7.2; Update ChangeLog.

7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Tue, 6 Jun 2017 08:31:07 +0000 (10:31 +0200)]
Merge branch 'collectd-5.7'

Conflicts:
src/intel_rdt.c

7 years agoMerge pull request #2310 from octo/ff/intel_rdt
Ruben Kerkhof [Tue, 6 Jun 2017 08:28:19 +0000 (10:28 +0200)]
Merge pull request #2310 from octo/ff/intel_rdt

intel_rdt plugin: Remove unnecessary goto.

7 years agointel_rdt plugin: Remove unnecessary goto.
Florian Forster [Mon, 5 Jun 2017 05:33:36 +0000 (07:33 +0200)]
intel_rdt plugin: Remove unnecessary goto.

7 years agoMerge branch 'collectd-5.7'
Ruben Kerkhof [Thu, 1 Jun 2017 18:38:17 +0000 (20:38 +0200)]
Merge branch 'collectd-5.7'

7 years agoMerge branch 'collectd-5.6' into collectd-5.7
Ruben Kerkhof [Thu, 1 Jun 2017 18:37:49 +0000 (20:37 +0200)]
Merge branch 'collectd-5.6' into collectd-5.7

7 years agoBind plugin: plug a few leaks
Ruben Kerkhof [Tue, 30 May 2017 15:25:17 +0000 (17:25 +0200)]
Bind plugin: plug a few leaks

Fixes: #2303
7 years agoMerge pull request #2307 from saiarcot895/mongo-mem-leak
Ruben Kerkhof [Thu, 1 Jun 2017 18:35:19 +0000 (20:35 +0200)]
Merge pull request #2307 from saiarcot895/mongo-mem-leak

Use bson_destroy instead of bson_free, and fix memleak issue.

7 years agoUse bson_destroy instead of bson_free, and fix memleak issue.
Saikrishna Arcot [Wed, 31 May 2017 14:49:25 +0000 (07:49 -0700)]
Use bson_destroy instead of bson_free, and fix memleak issue.

7 years agoMerge pull request #2304 from archii/fix-ipmi-docs-typo
Ruben Kerkhof [Tue, 30 May 2017 09:33:13 +0000 (11:33 +0200)]
Merge pull request #2304 from archii/fix-ipmi-docs-typo

Fix ipmi docs typo

7 years agoMerge pull request #1 from archii/archii-fix-docs-typo-1
archii [Tue, 30 May 2017 00:56:56 +0000 (10:56 +1000)]
Merge pull request #1 from archii/archii-fix-docs-typo-1

fix typo in collectd.conf.pod

7 years agofix typo in collectd.conf.pod
archii [Tue, 30 May 2017 00:54:47 +0000 (10:54 +1000)]
fix typo in collectd.conf.pod

7 years agopython plugin: stop disabling strict aliasing
Ruben Kerkhof [Sat, 27 May 2017 14:12:41 +0000 (16:12 +0200)]
python plugin: stop disabling strict aliasing

According to https://bugs.python.org/issue1718153, this has been fixed
in python 2.6, the oldest version we support.

7 years agoconfigure.ac: slightly tweak dpdk check
Ruben Kerkhof [Sat, 27 May 2017 13:53:46 +0000 (15:53 +0200)]
configure.ac: slightly tweak dpdk check

7 years agoconfigure.ac: keep libs sorted
Ruben Kerkhof [Sat, 27 May 2017 13:46:24 +0000 (15:46 +0200)]
configure.ac: keep libs sorted

7 years agoconfigure.ac: detect compiler vendor
Ruben Kerkhof [Sat, 27 May 2017 13:27:54 +0000 (15:27 +0200)]
configure.ac: detect compiler vendor

I'll use this in followup patches to detect if the compiler supports
various warning flags. For example, a long standing issue is that older
version of the Sun studio compiler doesn't support -Werror.

7 years agoconfigure.ac: no need for body for preproc test
Ruben Kerkhof [Sat, 27 May 2017 13:06:47 +0000 (15:06 +0200)]
configure.ac: no need for body for preproc test

7 years agoconfigure.ac: use preprocessor to detect libpqos version
Ruben Kerkhof [Sat, 27 May 2017 13:05:45 +0000 (15:05 +0200)]
configure.ac: use preprocessor to detect libpqos version

No need to run the program.

7 years agoconfigure.ac: use preprocessor to detect dpdk version
Ruben Kerkhof [Sat, 27 May 2017 12:59:57 +0000 (14:59 +0200)]
configure.ac: use preprocessor to detect dpdk version

The test doesn't run any code, so no need to compile it.

7 years agoconfigure.ac: replace AS_IF with normal test
Ruben Kerkhof [Sat, 27 May 2017 12:54:22 +0000 (14:54 +0200)]
configure.ac: replace AS_IF with normal test

AS_IF is slightly more portable, but slightly less readable.

7 years agoconfigure.ac: replace last few tabs with spaces
Ruben Kerkhof [Sat, 27 May 2017 12:52:34 +0000 (14:52 +0200)]
configure.ac: replace last few tabs with spaces

7 years agoconfigure.ac: fix libpqos detection style
Ruben Kerkhof [Sat, 27 May 2017 12:51:11 +0000 (14:51 +0200)]
configure.ac: fix libpqos detection style

7 years agosnmp-agent: fix build on RHEL6
Ruben Kerkhof [Sat, 27 May 2017 12:30:33 +0000 (14:30 +0200)]
snmp-agent: fix build on RHEL6

libnetsnmpagent.so from net-snmp 5.5 needs some symbols from libnetsnmphelpers.so,
but does not link against it on RHEL5.

Work around this by looking for one of those symbols in the helper lib,
and if found, link against it.

Later versions of net-snmp seem to have moved those symbols to
libnetsnmpagent.so, so it's not an issue there.

7 years agoconfigure.ac: remove unneeded include
Ruben Kerkhof [Sat, 27 May 2017 11:46:07 +0000 (13:46 +0200)]
configure.ac: remove unneeded include

All files in AC_CONFIG_MACRO_DIR are included by default.

7 years agoconfigure.ac: improve libnetsnmpagent detection
Ruben Kerkhof [Sat, 27 May 2017 11:37:06 +0000 (13:37 +0200)]
configure.ac: improve libnetsnmpagent detection

Turn it into a separate check, which also makes it possible to disable
it.

snmp_agent and snmp are separate plugins, and on at least Fedora are
packaged separately.

A beneficial side effect is that this reduces overlinking of snmp.so
with libnetsnmpagent.so

7 years agosnmp-agent: check for the right header
Ruben Kerkhof [Sat, 27 May 2017 10:30:35 +0000 (12:30 +0200)]
snmp-agent: check for the right header

We never include net-snmp/agent/agent_module_config.h

7 years agoconfigure.ac: fix style for snmpagent plugin
Ruben Kerkhof [Sat, 27 May 2017 10:24:40 +0000 (12:24 +0200)]
configure.ac: fix style for snmpagent plugin

7 years agoconfigure.ac: fix overquoting
Ruben Kerkhof [Sat, 27 May 2017 10:07:30 +0000 (12:07 +0200)]
configure.ac: fix overquoting

7 years agoapcups: Fix reconnect implementation
Pavel Rochnyack [Fri, 26 May 2017 06:46:09 +0000 (12:46 +0600)]
apcups: Fix reconnect implementation

Implementation was broken, it doesn't reconnects as planned.

7 years agoformat_graphite: Error if call to uc_get_rate fails to return a value.
Iain Buclaw [Fri, 19 May 2017 10:55:37 +0000 (12:55 +0200)]
format_graphite: Error if call to uc_get_rate fails to return a value.

This prevents a wrong value being sent to graphite for DERIVE types.

See #2209

Signed-off-by: Florian Forster <octo@collectd.org>
7 years agosnmp plugin: Avoid allocation of temporary buffers on the heap.
Florian Forster [Fri, 19 May 2017 13:10:46 +0000 (15:10 +0200)]
snmp plugin: Avoid allocation of temporary buffers on the heap.

7 years agosrc/daemon/utils_cache.c: Add debug message for lookup of missing metrics.
Florian Forster [Fri, 19 May 2017 06:39:45 +0000 (08:39 +0200)]
src/daemon/utils_cache.c: Add debug message for lookup of missing metrics.

Issue: #1234

7 years agosrc/daemon/utils_cache.c: Remove unnecessary cast.
Florian Forster [Fri, 19 May 2017 06:34:37 +0000 (08:34 +0200)]
src/daemon/utils_cache.c: Remove unnecessary cast.

(data_set_t).ds_num has been changed to be a size_t.