Fluentd input plugin to collect metrics which is similar to Fluent-bit's node_exporter_metrics.
fluent-plugin-node-exporter-metrics provides 2 types of input/parser plugins.
- node_exporter_metrics (Input plugin)
- node_exporter_metrics (Parser plugin, for debugging purpose)
As fluent-plugin-node-exporter-metrics depends external libraries, you must install dependency libraries in beforehand.
Note that CMake 3.13 or later must be installed.
$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo yum install libcap-ng-devel gcc cmake3 make
$ sudo dnf install libcap-ng-devel gcc cmake make
$ gem install fluent-plugin-node-exporter-metrics
Or (If you already using td-agent)
$ sudo td-agent-gem install fluent-plugin-node-exporter-metrics
Add following line to your Gemfile:
gem "fluent-plugin-node-exporter-metrics"
And then execute:
$ bundle
11 collectors are available. All collector is enabled by default.
See each collector documentation in details.
- cpu
- cpufreq (requires specific permission to use)
- diskstats
- filefd
- loadavg
- meminfo
- netdev
- stat
- time
- uname
- vmstat
parameter | type | description | default |
---|---|---|---|
scrape_interval | time (optional) | Interval to scrape metrics from node | 5 |
procfs_path | string (optional) | Path to mount point to collect process information and metrics | /proc |
sysfs_path | string (optional) | Path to file-system to collect system metrics | /sys |
tag | string (optional) | Tag string | |
cpu | bool (optional) | Enable cpu collector | true |
cpufreq | bool (optional) | Enable cpufreq collector | true |
diskstats | bool (optional) | Enable diskstats collector | true |
filefd | bool (optional) | Enable filefd collector | true |
loadavg | bool (optional) | Enable loadavg collector | true |
meminfo | bool (optional) | Enable meminfo collector | true |
netdev | bool (optional) | Enable netdev collector | true |
stat | bool (optional) | Enable stat collector | true |
time | bool (optional) | Enable time collector | true |
uname | bool (optional) | Enable uname collector | true |
vmstat | bool (optional) | Enable vmstat collector | true |
Here is the sample configuration.
<source>
@type node_exporter_metrics
tag node_metrics
</source>
Event is emitted as {"cmetrics": <MESSAGEPACK_BINARY_BLOBS>}
.
2021-09-21 10:47:54.255725938 +0900 node_metrics: {"cmetrics":"...."}
This parser plugin is designed for debugging purpose to check metrics binary blobs.
No configuration parameters.
Here is the sample configuration to use @type node_exporter_metrics
in filter section.
<source>
@type node_exporter_metrics
tag node_metrics
cpu false
cpufreq false
diskstats false
filefd false
loadavg false
meminfo false
netdev false
stat false
time true
uname false
vmstat false
</source>
<filter node_metrics>
@type parser
key_name cmetrics
<parse>
@type node_exporter_metrics
</parse>
</filter>
<match node_metrics>
@type stdout
</match>
Here is the result.
2021-09-21 10:57:48.015023773 +0900 node_metrics: [{"name":"node_time_seconds","value":1.632189468,"desc":"System time in seconds since epoch (1970).","ts":1632189468014812147}]
Why is error_class=Fluent::ConfigError error="Linux capability CAP_DAC_READ_SEARCH must be enabled" happen?
See Prerequisite for cpufreq section for enabling cpufreq collector.
- Copyright(c) 2021- Kentaro Hayashi
- License
- Apache License, Version 2.0