collectd.git
5 years agodaemon: Check if plugin actually loaded before reporting configuration issues
Pavel Rochnyack [Sat, 13 Jul 2019 15:52:18 +0000 (22:52 +0700)]
daemon: Check if plugin actually loaded before reporting configuration issues

Issue: #3215

5 years agoMerge pull request #3153 from zebity/master
sranga4 [Fri, 12 Jul 2019 20:43:33 +0000 (13:43 -0700)]
Merge pull request #3153 from zebity/master

Add snprintf wrapper to avoid "Truncation Warnings" with GCC 8.2/3 compiler

5 years agoRun contrib/format.sh across entire *.h/*.c source tree (2nd of 2)
Zebity Spring [Fri, 12 Jul 2019 13:25:54 +0000 (23:25 +1000)]
Run contrib/format.sh across entire *.h/*.c source tree (2nd of 2)

5 years agoRun contrib/format.sh across entire *.h/*.c source tree (1st of 2)
Zebity Spring [Fri, 12 Jul 2019 13:09:51 +0000 (23:09 +1000)]
Run contrib/format.sh across entire *.h/*.c source tree (1st of 2)

5 years agoMerge pull request #3072 from octo/ff/network_test
rjablonx [Fri, 12 Jul 2019 11:09:00 +0000 (13:09 +0200)]
Merge pull request #3072 from octo/ff/network_test

Add a unit test for the network plugin.

5 years agoMerge remote-tracking branch 'upstream/master'
Zebity Spring [Fri, 12 Jul 2019 08:09:56 +0000 (18:09 +1000)]
Merge remote-tracking branch 'upstream/master'

5 years agorun all updated *.h *.c through clang-format again
Zebity Spring [Fri, 12 Jul 2019 08:07:46 +0000 (18:07 +1000)]
run all updated *.h *.c through clang-format again

5 years agoMerge upstream, address conflict in src/utils/cmds/cmds_test.c
Zebity Spring [Fri, 12 Jul 2019 07:45:33 +0000 (17:45 +1000)]
Merge upstream, address conflict in src/utils/cmds/cmds_test.c

5 years agoMerge upstream, address conflict in src/utils/cmds/cmds_test.c
Zebity Spring [Fri, 12 Jul 2019 07:33:46 +0000 (17:33 +1000)]
Merge upstream, address conflict in src/utils/cmds/cmds_test.c

5 years agoAuto-Merge pull request #3206 from dago/pid_test
collectd bot [Wed, 10 Jul 2019 07:17:39 +0000 (09:17 +0200)]
Auto-Merge pull request #3206 from dago/pid_test

Automatically merged due to "Automerge" label

5 years agoMerge branch 'master' into master
Pavel Rochnyak [Fri, 5 Jul 2019 16:09:00 +0000 (23:09 +0700)]
Merge branch 'master' into master

5 years agoMove Makefile rules for pid_test inside conditional for code
Dagobert Michelsen [Fri, 5 Jul 2019 09:16:25 +0000 (11:16 +0200)]
Move Makefile rules for pid_test inside conditional for code

5 years agoAuto-Merge pull request #3205 from rpv-tomsk/3112-powerdns
collectd bot [Fri, 5 Jul 2019 08:23:17 +0000 (10:23 +0200)]
Auto-Merge pull request #3205 from rpv-tomsk/3112-powerdns

Automatically merged due to "Automerge" label

5 years agopowerdns: Added 'unreachables' reporting
Pavel Rochnyack [Fri, 5 Jul 2019 04:54:08 +0000 (11:54 +0700)]
powerdns: Added 'unreachables' reporting

Issue: #3112

5 years agopowerdns: Fix formatting, broken by clang-format
Pavel Rochnyack [Fri, 5 Jul 2019 04:51:42 +0000 (11:51 +0700)]
powerdns: Fix formatting, broken by clang-format

5 years agoAuto-Merge pull request #3203 from dago/netsnmpagent
collectd bot [Tue, 2 Jul 2019 13:53:05 +0000 (15:53 +0200)]
Auto-Merge pull request #3203 from dago/netsnmpagent

Automatically merged due to "Automerge" label

5 years agoAdd missing definitions for libnetsnmpagent
Dagobert Michelsen [Tue, 2 Jul 2019 11:56:54 +0000 (13:56 +0200)]
Add missing definitions for libnetsnmpagent

5 years agoMerge pull request #3201 from ccin2p3/f/fix-syslog-rc
Pavel Rochnyak [Tue, 2 Jul 2019 09:23:47 +0000 (16:23 +0700)]
Merge pull request #3201 from ccin2p3/f/fix-syslog-rc

Fix return code introduced by #3182

5 years agoFix return code introduced by #3182
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Tue, 2 Jul 2019 09:05:02 +0000 (11:05 +0200)]
Fix return code introduced by #3182

Change-Id: I0972f74f3fff05cf29fa9b0be383f0b0df1e6d03
Fixes: #3200

5 years agoMerge pull request #3197 from dago/pid_test
Pavel Rochnyak [Tue, 2 Jul 2019 04:27:11 +0000 (11:27 +0700)]
Merge pull request #3197 from dago/pid_test

Use test_utils_proc_pids only when compiling the plugin that uses it

5 years agoUse pid_test only when compiling the plugin that uses it
Dagobert Michelsen [Mon, 1 Jul 2019 12:21:39 +0000 (14:21 +0200)]
Use pid_test only when compiling the plugin that uses it

5 years agoMerge pull request #2725 from RafaelMarinheiro/fix_grpc_query_values
Matthias Runge [Mon, 1 Jul 2019 07:25:33 +0000 (09:25 +0200)]
Merge pull request #2725 from RafaelMarinheiro/fix_grpc_query_values

utils_cache: fix pointer reference and meta_data ingestion

5 years agoMerge pull request #3178 from ashie/fix-match-regex-for-empty-meta
Pavel Rochnyak [Sat, 29 Jun 2019 08:17:11 +0000 (15:17 +0700)]
Merge pull request #3178 from ashie/fix-match-regex-for-empty-meta

regex match: Fix unexpected match with empty meta data

5 years agoMerge pull request #3195 from dago/gccflags
Pavel Rochnyak [Fri, 28 Jun 2019 10:57:34 +0000 (17:57 +0700)]
Merge pull request #3195 from dago/gccflags

Use GCC-specific flags only when compiling with GCC

5 years agoMerge pull request #3160 from rpv-tomsk/collectd-uptime-memcached
Matthias Runge [Fri, 28 Jun 2019 10:31:16 +0000 (12:31 +0200)]
Merge pull request #3160 from rpv-tomsk/collectd-uptime-memcached

memcached plugin: Report uptime metric

5 years agoAuto-Merge pull request #3193 from dago/fileoffsetbits
collectd bot [Fri, 28 Jun 2019 10:17:47 +0000 (12:17 +0200)]
Auto-Merge pull request #3193 from dago/fileoffsetbits

Automatically merged due to "Automerge" label

5 years agoMerge pull request #3156 from rpv-tomsk/dns
Matthias Runge [Fri, 28 Jun 2019 10:05:32 +0000 (12:05 +0200)]
Merge pull request #3156 from rpv-tomsk/dns

dns plugin: Do not use headers from glibc

5 years agoMerge pull request #3182 from ccin2p3/f/config-return-codes
Matthias Runge [Fri, 28 Jun 2019 09:39:38 +0000 (11:39 +0200)]
Merge pull request #3182 from ccin2p3/f/config-return-codes

Fix return value or loglevel for several plugins

5 years agoclang-format
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Mon, 24 Jun 2019 08:37:40 +0000 (10:37 +0200)]
clang-format

5 years agobetter user feedback
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Fri, 28 Jun 2019 09:01:33 +0000 (11:01 +0200)]
better user feedback

Change-Id: Iae7c3208024372485fd0901898cbe2e178610082

5 years agoFix return value or loglevel for several plugins
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Wed, 19 Jun 2019 08:32:11 +0000 (10:32 +0200)]
Fix return value or loglevel for several plugins

Some plugins' RC was != 0 and started to fail due to
stricter verification introduced by 3b9c7b2.
This commit fixes those return values.
For some plugins, fix verbosity of error message: non-zero rc
should be error, not warning.

Change-Id: I9a3f1f80e266858b6744fd9d9d99b352b8d94306

Change-Id: Ibf6ebc6cdc93c6e105d488e4a131dcb6e8eea19b

Change-Id: I35bac15fa0a89b068575739ac1cff0115c9d3a40

s

Change-Id: I992002c56763fbdea5347e5b6e176cc86f5a08ce

5 years agoUse GCC-specific flags only when compiling with GCC
Dagobert Michelsen [Fri, 28 Jun 2019 08:55:16 +0000 (10:55 +0200)]
Use GCC-specific flags only when compiling with GCC

5 years agoMake sure files in this changeset are formatted properly
Dagobert Michelsen [Thu, 27 Jun 2019 14:51:06 +0000 (16:51 +0200)]
Make sure files in this changeset are formatted properly

5 years agoAdd standard include early or _FILE_OFFSET_BITS will have definition mismatches on...
Dagobert Michelsen [Thu, 27 Jun 2019 12:08:30 +0000 (14:08 +0200)]
Add standard include early or _FILE_OFFSET_BITS will have definition mismatches on Solaris

5 years agobe more verbose when plugin config cb is failing
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Wed, 19 Jun 2019 08:34:25 +0000 (10:34 +0200)]
be more verbose when plugin config cb is failing

3b9c7b2 introduced stricter RC check.
This commit provides user feedback when config callback is failing.

Change-Id: Ia9c13048e95559b5be84477fc1602ff418a1df37

5 years agoMerge pull request #3175 from ccin2p3/f/collectd-redhat-spec-5.9.0
Matthias Runge [Tue, 18 Jun 2019 09:29:25 +0000 (11:29 +0200)]
Merge pull request #3175 from ccin2p3/f/collectd-redhat-spec-5.9.0

redhat spec: fix build due to new upstream plugins

5 years agoregex match: Fix unexpected match with empty meta data
Takuro Ashie [Tue, 18 Jun 2019 06:54:51 +0000 (15:54 +0900)]
regex match: Fix unexpected match with empty meta data

If a user set

  MetaData "foo" "bar"

and a metric does not have meta data (vl->meta == NULL), it causes
unexpected match.

Existance of MetaData config should be checked before meta data in
a metric.

See also: #1930

Signed-off-by: Takuro Ashie <ashie@clear-code.com>
5 years agofix comment
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Mon, 17 Jun 2019 11:26:11 +0000 (13:26 +0200)]
fix comment

Change-Id: I655dd0b3cb82053f7cc50dec149d4f7cc25ee18b

5 years agofix deps
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Mon, 17 Jun 2019 11:06:45 +0000 (13:06 +0200)]
fix deps

Change-Id: I8199655fcd22082a2f3cfb0e5ab7db289df1a5e7

5 years agoNew upstream plugins
Fᴀʙɪᴇɴ Wᴇʀɴʟɪ [Mon, 17 Jun 2019 07:14:13 +0000 (09:14 +0200)]
New upstream plugins

* nvidia_gpu
* write_stackdriver
* pcie_errors

The first 2 are disabled, as I don't know what lib they require
(configure fails)

Change-Id: I56456b418edd3defb3c5620a5ad58f527951309c

5 years agoMerge pull request #3170 from stratakis/py38
Pavel Rochnyak [Fri, 7 Jun 2019 15:56:21 +0000 (22:56 +0700)]
Merge pull request #3170 from stratakis/py38

Add Python 3.8 compatibility

5 years agoAdd Python 3.8 compatibility
Charalampos Stratakis [Fri, 7 Jun 2019 14:43:56 +0000 (16:43 +0200)]
Add Python 3.8 compatibility

From Python 3.8 and onwards C extensions are no longer
linked to libpython so in order to embed python within
an application the --embed flag needs to be added to
python3-config --libs. A fall back is provided as the
command will error out on previous python versions.

References: https://bugs.python.org/issue36721

5 years agoMerge pull request #3167 from ashie/remove-needless-tab
Pavel Rochnyak [Tue, 4 Jun 2019 03:23:49 +0000 (10:23 +0700)]
Merge pull request #3167 from ashie/remove-needless-tab

Makefile.am: Remove a needless tab

5 years agoMakefile.am: Remove a needless tab
Takuro Ashie [Tue, 4 Jun 2019 00:43:31 +0000 (09:43 +0900)]
Makefile.am: Remove a needless tab

5 years agoMerge pull request #3163 from rpv-tomsk/virt-1
Matthias Runge [Mon, 3 Jun 2019 08:17:20 +0000 (10:17 +0200)]
Merge pull request #3163 from rpv-tomsk/virt-1

virt plugin: improvements

5 years agoMerge remote-tracking branch 'upstream/master'
Zebity Spring [Mon, 3 Jun 2019 06:45:04 +0000 (16:45 +1000)]
Merge remote-tracking branch 'upstream/master'

5 years agovirt plugin: Use virGetLastError() instead of virConnGetLastError()
Pavel Rochnyack [Wed, 29 May 2019 16:02:41 +0000 (23:02 +0700)]
virt plugin: Use virGetLastError() instead of virConnGetLastError()

libvirt documentation explicitly points us to use virGetLastError():

 In a multi-threaded application, always use the global
 virGetLastError() API which is backed by thread local storage.

5 years agovirt plugin: minor updates after review
Pavel Rochnyack [Wed, 29 May 2019 15:45:03 +0000 (22:45 +0700)]
virt plugin: minor updates after review

5 years agoMerge pull request #3158 from smortex/riemann-meta-data
Pavel Rochnyak [Tue, 28 May 2019 09:35:18 +0000 (16:35 +0700)]
Merge pull request #3158 from smortex/riemann-meta-data

Copy MetaData to Riemann events in write_riemann

5 years agovirt plugin: Added connection state check via virConnectIsAlive()
Pavel Rochnyack [Fri, 24 May 2019 10:56:27 +0000 (17:56 +0700)]
virt plugin: Added connection state check via virConnectIsAlive()

Before this fix, if libvirt daemon was stopped, Collectd starts to spam logs with lot of "failed" messages.

With this fix it correctly re-establishes connection.

5 years agovirt plugin: Added timeout to event_loop thread
Pavel Rochnyack [Fri, 24 May 2019 10:48:18 +0000 (17:48 +0700)]
virt plugin: Added timeout to event_loop thread

As per virEventRunDefaultImpl() documentation, this function will block
forever if there are no registered event handlers.

This leads to Collectd is unable to correctly stop event_loop thread
if libvirtd was restarted.

Added empty timeout callback to fix this.

5 years agovirt plugin: Disable ExtraStats selectors when unsupported by libvirt
Pavel Rochnyack [Thu, 23 May 2019 20:46:26 +0000 (03:46 +0700)]
virt plugin: Disable ExtraStats selectors when unsupported by libvirt

When function is not supported by driver, log filled by continuous messages like:

libvirt: Domain Config error : this function is not supported by the connection driver: virDomainGetDiskErrors

libvirt API allows us to detect such cases and disable unsupported calls.

5 years agovirt plugin: Fixed typos and inconsistencies
Pavel Rochnyack [Thu, 23 May 2019 19:42:52 +0000 (02:42 +0700)]
virt plugin: Fixed typos and inconsistencies

5 years agovirt plugin: Do not request cpu maps when not required
Pavel Rochnyack [Thu, 23 May 2019 21:16:47 +0000 (04:16 +0700)]
virt plugin: Do not request cpu maps when not required

5 years agovirt plugin: Added ExtraStats selector 'vcpu'
Pavel Rochnyack [Thu, 23 May 2019 21:10:12 +0000 (04:10 +0700)]
virt plugin: Added ExtraStats selector 'vcpu'

This allows to disable virDomainGetVcpus calls when hypervisor/driver
does not supports that function.

Closes: #2615

5 years agovirt plugin: Added ExtraStats selector 'memory'
Pavel Rochnyack [Thu, 23 May 2019 19:37:53 +0000 (02:37 +0700)]
virt plugin: Added ExtraStats selector 'memory'

This allows to disable virDomainMemoryStats calls when hypervisor/drivers
does not supports that function or it does not provide additional details.

5 years agomemcached plugin: Report uptime metric
Pavel Rochnyack [Sun, 19 May 2019 17:30:32 +0000 (00:30 +0700)]
memcached plugin: Report uptime metric

Issue: #2852

5 years agoMerge pull request #3125 from skob/master
Pavel Rochnyak [Sun, 19 May 2019 11:31:45 +0000 (18:31 +0700)]
Merge pull request #3125 from skob/master

mysql: [impr] enable uptime metric

5 years agomysql: [impr] enable uptime metric
Pavel Rochnyack [Sun, 19 May 2019 11:19:48 +0000 (18:19 +0700)]
mysql: [impr] enable uptime metric

5 years agoCopy MetaData to Riemann events
Romain Tartière [Fri, 17 May 2019 18:43:25 +0000 (08:43 -1000)]
Copy MetaData to Riemann events

Make it possible to capture information using filters in collectd and
use this information in Riemann for deciding what to do with the event.

ChangeLog: write_riemann plugin: MetaData is copied to Riemann events

5 years agoRun all changed files 68 8.c/1*.h through format.sh web util
Zebity Spring [Thu, 16 May 2019 15:59:58 +0000 (01:59 +1000)]
Run all changed files 68 8.c/1*.h through format.sh web util

5 years agoRun all changed files 68 8.c/1 *.h through clang-format agin..
Zebity Spring [Thu, 16 May 2019 14:26:35 +0000 (00:26 +1000)]
Run all changed files 68 8.c/1 *.h through clang-format agin..

5 years agoRun all changed files 68 8.c/1*.h through clang-format
Zebity Spring [Thu, 16 May 2019 13:56:25 +0000 (23:56 +1000)]
Run all changed files 68 8.c/1*.h through clang-format

5 years agoMerge remote-tracking branch 'upstream/master'
Zebity Spring [Thu, 16 May 2019 12:24:51 +0000 (22:24 +1000)]
Merge remote-tracking branch 'upstream/master'

5 years agodns plugin: Do not use headers from glibc
Pavel Rochnyack [Wed, 15 May 2019 07:33:02 +0000 (14:33 +0700)]
dns plugin: Do not use headers from glibc

glibc has removed __NAMESER and __BIND symbols from their codebase.

There is no benefits of use defines from glibc, so replaced them by numbers.

Closes: #3145

5 years agoMerge pull request #2986 from shastah/feature/curl-address-family
Pavel Rochnyak [Wed, 15 May 2019 03:28:20 +0000 (10:28 +0700)]
Merge pull request #2986 from shastah/feature/curl-address-family

curl plugin: add AddressFamily

5 years agocurl_xml plugin: add AddressFamily
Jakub Jankowski [Tue, 14 May 2019 00:16:35 +0000 (02:16 +0200)]
curl_xml plugin: add AddressFamily

In situations when hostnames in URLs resolve to both IPv4 and IPv6
addresses, sometimes it's useful to have separate statistics for both
of these separately.

With this commit, within <URL> block you can set
  AddressFamily "ipv6"
or
  AddressFamily "ipv4"
to specifically use one or the other.

Signed-off-by: Jakub Jankowski <shasta@toxcorp.com>
5 years agocurl_json plugin: add AddressFamily
Jakub Jankowski [Tue, 14 May 2019 00:00:18 +0000 (02:00 +0200)]
curl_json plugin: add AddressFamily

In situations when hostnames in URLs resolve to both IPv4 and IPv6
addresses, sometimes it's useful to have separate statistics for both
of these separately.

With this commit, within <URL> block you can set
  AddressFamily "ipv6"
or
  AddressFamily "ipv4"
to specifically use one or the other.

Signed-off-by: Jakub Jankowski <shasta@toxcorp.com>
5 years agoAdd snprintf wrapper for GCC 8.2/3
Zebity Spring [Mon, 13 May 2019 13:19:22 +0000 (23:19 +1000)]
Add snprintf wrapper for GCC 8.2/3

5 years agoMerge pull request #3152 from rpv-tomsk/libvirt-memory-report
Ruben Kerkhof [Mon, 13 May 2019 12:47:36 +0000 (14:47 +0200)]
Merge pull request #3152 from rpv-tomsk/libvirt-memory-report

virt plugin: Fix typo after #3151

5 years agoMerge pull request #3148 from rpv-tomsk/libvirt-1
Pavel Rochnyak [Mon, 13 May 2019 12:33:44 +0000 (19:33 +0700)]
Merge pull request #3148 from rpv-tomsk/libvirt-1

virt plugin: Updates regarding to 'domain_state' metric

5 years agoMerge pull request #3151 from rpv-tomsk/libvirt-memory-report
Ruben Kerkhof [Mon, 13 May 2019 11:42:44 +0000 (13:42 +0200)]
Merge pull request #3151 from rpv-tomsk/libvirt-memory-report

Libvirt plugin: split memory report into dedicated types

5 years agoMerge pull request #3150 from rpv-tomsk/libvirt-3
Ruben Kerkhof [Mon, 13 May 2019 11:41:33 +0000 (13:41 +0200)]
Merge pull request #3150 from rpv-tomsk/libvirt-3

virt plugin: Added new code of virDomainShutoffReason enum and domain events

5 years agoMerge pull request #3149 from rpv-tomsk/libvirt-2
Ruben Kerkhof [Mon, 13 May 2019 11:40:19 +0000 (13:40 +0200)]
Merge pull request #3149 from rpv-tomsk/libvirt-2

virt plugin: Do not fail if no connection on init()

5 years agoMerge pull request #3147 from rpv-tomsk/libvirt
Ruben Kerkhof [Mon, 13 May 2019 11:38:38 +0000 (13:38 +0200)]
Merge pull request #3147 from rpv-tomsk/libvirt

virt plugin: Support new metric from libvirt-5.0.0 virDomainMemoryStats()

5 years agovirt plugin: Fix typo
Pavel Rochnyack [Mon, 13 May 2019 09:07:56 +0000 (16:07 +0700)]
virt plugin: Fix typo

5 years agovirt plugin: clang-format
Pavel Rochnyack [Mon, 13 May 2019 09:04:46 +0000 (16:04 +0700)]
virt plugin: clang-format

5 years agovirt plugin: Added support for new shutdown event details
Pavel Rochnyack [Mon, 13 May 2019 08:13:50 +0000 (15:13 +0700)]
virt plugin: Added support for new shutdown event details

5 years agovirt plugin: Check for virt_notif_thread_init() success
Pavel Rochnyack [Mon, 13 May 2019 07:31:39 +0000 (14:31 +0700)]
virt plugin: Check for virt_notif_thread_init() success

5 years agovirt plugin: Added debug message
Pavel Rochnyack [Mon, 13 May 2019 07:26:22 +0000 (14:26 +0700)]
virt plugin: Added debug message

5 years agovirt plugin: do not report empty metrics
Pavel Rochnyack [Sun, 12 May 2019 19:59:23 +0000 (02:59 +0700)]
virt plugin: do not report empty metrics

5 years agovirt plugin: Split domain memory reporting to appropriate types
Pavel Rochnyack [Sun, 12 May 2019 19:11:47 +0000 (02:11 +0700)]
virt plugin: Split domain memory reporting to appropriate types

5 years agovirt plugin: Skip 'last_update' reporting as that is not memory but timestamp
Pavel Rochnyack [Sun, 12 May 2019 13:07:56 +0000 (20:07 +0700)]
virt plugin: Skip 'last_update' reporting as that is not memory but timestamp

5 years agovirt plugin: Added new code of virDomainShutoffReason enum
Pavel Rochnyack [Sun, 12 May 2019 18:43:57 +0000 (01:43 +0700)]
virt plugin: Added new code of virDomainShutoffReason enum

5 years agovirt plugin: Fixed virt_notif_thread_init() place
Pavel Rochnyack [Sun, 12 May 2019 12:26:38 +0000 (19:26 +0700)]
virt plugin: Fixed virt_notif_thread_init() place

5 years agovirt plugin: Do not fail if no connection on init()
Pavel Rochnyack [Sun, 12 May 2019 10:19:22 +0000 (17:19 +0700)]
virt plugin: Do not fail if no connection on init()

If Collectd started before libvirtd, that results as no connection and no more retries.
lv_init()/lv_connect() reworked to avoid this.

Reference: b2541eb463165a5973fedb5d51eab8288fcd7ebc
Reference: 5903e6d5414b1a9580a63c29afff1788cec6c91e

5 years agovirt plugin: Do not report 'domain_state' metric when not enabled by ExtraStats
Pavel Rochnyack [Sun, 12 May 2019 08:53:08 +0000 (15:53 +0700)]
virt plugin: Do not report 'domain_state' metric when not enabled by ExtraStats

PR #2701 adds 'domain_state' metric and ExtraStats's option `domain_state`
selector behaviour was changed: now it enables metric, not notification.
Removed inconsistency between documentation and implementation.

Not all `get_domain_state` calls was covered by selector check.
As result, metric was always sent for inactive domains.
That is fixed now.

5 years agovirt plugin: Renamed get_domain_state() to submit_domain_state()
Pavel Rochnyack [Sun, 12 May 2019 07:12:09 +0000 (14:12 +0700)]
virt plugin: Renamed get_domain_state() to submit_domain_state()

That function does not gets something to internal structures, but submits metric.

5 years agovirt plugin: Cleanup excessive check
Pavel Rochnyack [Sun, 12 May 2019 06:56:05 +0000 (13:56 +0700)]
virt plugin: Cleanup excessive check

That is already covered by check at upper level:

if (inst->id == 0 && persistent_notification)
  persistent_domains_state_notification();

5 years agovirt plugin: Support new metric from libvirt-5.0.0 virDomainMemoryStats()
Pavel Rochnyack [Sun, 12 May 2019 06:11:41 +0000 (13:11 +0700)]
virt plugin: Support new metric from libvirt-5.0.0 virDomainMemoryStats()

Closes: #3143

5 years agoMerge pull request #3019 from sradco/master
Ruben Kerkhof [Tue, 7 May 2019 08:04:33 +0000 (10:04 +0200)]
Merge pull request #3019 from sradco/master

Add write_syslog output plugin

5 years agoMerge pull request #3144 from rpv-tomsk/lua
Ruben Kerkhof [Thu, 2 May 2019 09:28:44 +0000 (11:28 +0200)]
Merge pull request #3144 from rpv-tomsk/lua

lua plugin: Make it possible to register more than one reader/writer; bugfixes; cleanup.

5 years agolua plugin: Make it possible to register more than one reader/writer.
Pavel Rochnyack [Wed, 1 May 2019 17:21:02 +0000 (00:21 +0700)]
lua plugin: Make it possible to register more than one reader/writer.

lua_tostring(), used to identify readers/writers, doesn't work
on functions (it returns NULL). So, callback name is not unique and
its registration fail.

Added code to store script path and callback index in LUA Registry and
to build callback name based on them.

Added possibility to pass LUA callback as global-scope function name.
In this case callback name is built using function name, not callback
index.

Closes: #2379
Closes: #3139

5 years agolua plugin: remove line feed in error message
Pavel Rochnyack [Wed, 1 May 2019 13:27:01 +0000 (20:27 +0700)]
lua plugin: remove line feed in error message

5 years agolua plugin: Don't destroy interpreter early
Pavel Rochnyack [Wed, 1 May 2019 12:50:21 +0000 (19:50 +0700)]
lua plugin: Don't destroy interpreter early

If script successfully registered at least one callback,
destroying interpreter will cause Collectd crash when
that callback will be called.

Unfortunately, there is no way to unregister these callbacks

5 years agolua plugin: free mutex on callback destroy
Pavel Rochnyack [Wed, 1 May 2019 12:32:14 +0000 (19:32 +0700)]
lua plugin: free mutex on callback destroy

5 years agolua plugin: don't elements from stack in `clua_store_thread`.
Pavel Rochnyack [Wed, 1 May 2019 09:10:35 +0000 (16:10 +0700)]
lua plugin: don't elements from stack in `clua_store_thread`.

Debug, before:

lua plugin: nargs after store_callback: 1
lua plugin: nargs after lua_newthread: 2
lua plugin: nargs after store_thread: 0

After:

lua plugin: nargs after store_callback: 1
lua plugin: nargs after lua_newthread: 2
lua plugin: nargs after store_thread: 1

So, stack is in expected state.

5 years agolua: cleanup
Pavel Rochnyack [Wed, 1 May 2019 07:32:52 +0000 (14:32 +0700)]
lua: cleanup

5 years agoMerge pull request #3001 from usev6/write_graphite_reverse_host
Pavel Rochnyak [Tue, 30 Apr 2019 07:54:53 +0000 (14:54 +0700)]
Merge pull request #3001 from usev6/write_graphite_reverse_host

write_graphite plugin: Add option to reverse host

5 years agoDeclare var inside loop (code review change)
usev6 [Tue, 30 Apr 2019 05:39:23 +0000 (07:39 +0200)]
Declare var inside loop (code review change)