Skip to content

Commit 86a0e7e

Browse files
committed
docs: pipeline: inputs: node-exporter-metrics: document powersupplyclass
Add the powersupplyclass collector, mark filesystem as available on macOS, and note the TcpExt and IpExt counters exposed by netstat. Correct the metrics default, which was stale on Linux and undocumented on macOS, and mark the timex collector as unreleased pending fluent-bit#11718. Note, update for code changes without corresponding docs PR. Signed-off-by: Eric D. Schabell <eric@schabell.org>
1 parent 0eb06a6 commit 86a0e7e

1 file changed

Lines changed: 30 additions & 25 deletions

File tree

‎pipeline/inputs/node-exporter-metrics.md‎

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ This helps with down-sampling when collecting metrics.
6464
| `diskstats.ignore_device_regex` | Specify the regular expression for the` diskstats` to prevent collection of/ignore. | `^(ram\|loop\|fd\|(h\|s\|v\|xv)d[a-z]\|nvme\\d+n\\d+p)\\d+$` |
6565
| `filesystem.ignore_filesystem_type_regex` | Specify the regular expression for the `filesystem` types to prevent collection of or ignore. | `^(autofs\|binfmt_misc\|bpf\|cgroup2?\|configfs\|debugfs\|devpts\|devtmpfs\|fusectl\|hugetlbfs\|iso9660\|mqueue\|nsfs\|overlay\|proc\|procfs\|pstore\|rpc_pipefs\|securityfs\|selinuxfs\|squashfs\|sysfs\|tracefs)$` |
6666
| `filesystem.ignore_mount_point_regex` | Specify the regular expression for the `mount` points to prevent collection of/ignore. | `^/(dev\|proc\|run/credentials/.+\|sys\|var/lib/docker/.+\|var/lib/containers/storage/.+)($\|/)` |
67-
| `metrics` | Specify which metrics are collected from the host operating system. These metrics depend on `/procfs`, `/sysfs`, systemd, or custom files. The actual values of metrics will be read from `/proc`, `/sys`, or systemd as needed. `cpu`, `cpufreq`, `meminfo`, `diskstats`, `filesystem`, `stat`, `loadavg`, `vmstat`, `netdev`, `netstat`, `sockstat`, `filefd`, `nvme`, and `processes` depend on `procfs`. `cpufreq`, `hwmon`, and `thermal_zone` depend on `sysfs`. `systemd` depends on systemd services. `textfile` requires explicit path configuration using `collector.textfile.path`. | `"cpu,cpufreq,meminfo,diskstats,filesystem,uname,stat,time,loadavg,vmstat,netdev,netstat,sockstat,filefd,systemd,nvme,thermal_zone,hwmon"` |
67+
| `metrics` | Specify which metrics are collected from the host operating system. These metrics depend on `/procfs`, `/sysfs`, systemd, or custom files. The actual values of metrics will be read from `/proc`, `/sys`, or systemd as needed. `cpu`, `cpufreq`, `meminfo`, `diskstats`, `filesystem`, `stat`, `loadavg`, `vmstat`, `netdev`, `netstat`, `sockstat`, `filefd`, `nvme`, and `processes` depend on `procfs`. `cpufreq`, `hwmon`, `thermal_zone`, and `powersupplyclass` depend on `sysfs`. `systemd` depends on systemd services. `textfile` requires explicit path configuration using `collector.textfile.path`. The default differs by operating system. | Linux: `"cpu,cpufreq,meminfo,diskstats,filesystem,uname,stat,time,loadavg,vmstat,netdev,netstat,sockstat,filefd,systemd,nvme,thermal_zone,hwmon,powersupplyclass"`. macOS: `"cpu,loadavg,meminfo,diskstats,filesystem,uname,netdev,powersupplyclass"` |
6868
| `path.procfs` | The mount point used to collect process information and metrics. | `/proc` |
6969
| `path.rootfs` | The root filesystem mount point. | `/` |
7070
| `path.sysfs` | The path in the filesystem used to collect system metrics. | `/sys` |
@@ -77,33 +77,38 @@ This helps with down-sampling when collecting metrics.
7777

7878
## Collectors available
7979

80-
The following table describes the available collectors as part of this plugin. They're enabled by default and respect the original metrics name, descriptions, and types from Prometheus Exporter. You can use your current dashboards without any compatibility problem.
80+
The following table describes the available collectors as part of this plugin. They respect the original metrics name, descriptions, and types from Prometheus Exporter, so you can use your current dashboards without any compatibility problem.
81+
82+
Most collectors are enabled by default. The `metrics` parameter lists the exact set enabled for your operating system. The `textfile` collector also requires `collector.textfile.path` to be set before it produces anything.
8183

8284
The Version column specifies the Fluent Bit version where the collector is available.
8385

84-
| Name | Description | Operating system | Version |
85-
|---------------------|--------------------------------------------------------------------------------------------------|------------------|---------|
86-
| `cpu` | Exposes CPU statistics. | Linux, macOS | 1.8 |
87-
| `cpufreq` | Exposes CPU frequency statistics. | Linux | 1.8 |
88-
| `diskstats` | Exposes disk I/O statistics. | Linux, macOS | 1.8 |
89-
| `filefd` | Exposes file descriptor statistics from `/proc/sys/fs/file-nr`. | Linux | 1.8.2 |
90-
| `filesystem` | Exposes filesystem statistics from `/proc/*/mounts`. | Linux | 2.0.9 |
91-
| `hwmon` | Exposes hardware monitoring metrics from `/sys/class/hwmon`. | Linux | 2.2.0 |
92-
| `loadavg` | Exposes load average. | Linux, macOS | 1.8 |
93-
| `meminfo` | Exposes memory statistics. | Linux, macOS | 1.8 |
94-
| `netdev` | Exposes network interface statistics such as bytes transferred. | Linux, macOS | 1.8.2 |
95-
| `netstat` | Exposes network statistics from `/proc/net/netstat`. | Linux | 2.2.0 |
96-
| `nvme` | Exposes `nvme` statistics from `/proc`. | Linux | 2.2.0 |
97-
| `processes` | Exposes processes statistics from `/proc`. | Linux | 2.2.0 |
98-
| `sockstat` | Exposes socket statistics from `/proc/net/sockstat`. | Linux | 2.2.0 |
99-
| `stat` | Exposes various statistics from `/proc/stat`. This includes boot time, forks, and interruptions. | Linux | 1.8 |
100-
| `systemd` | Exposes statistics from `systemd`. | Linux | 2.1.3 |
101-
| `textfile` | Exposes custom metrics from text files. Requires `collector.textfile.path` to be set. | Linux | 2.2.0 |
102-
| `thermal_zone` | Exposes thermal statistics from `/sys/class/thermal/thermal_zone/*`. | Linux | 2.2.1 |
103-
| `time` | Exposes the current system time. | Linux | 1.8 |
104-
| `timex` | Exposes selected `adjtimex(2)` system call stats. | Linux | TBD |
105-
| `uname` | Exposes system information as provided by the `uname` system call. | Linux, macOS | 1.8 |
106-
| `vmstat` | Exposes statistics from `/proc/vmstat`. | Linux | 1.8.2 |
86+
| Name | Description | Operating system | Version |
87+
|--------------------|------------------------------------------------------------------------------------------------------------------------------------------------|------------------|--------------------------|
88+
| `cpu` | Exposes CPU statistics. | Linux, macOS | 1.8 |
89+
| `cpufreq` | Exposes CPU frequency statistics. | Linux | 1.8 |
90+
| `diskstats` | Exposes disk I/O statistics. | Linux, macOS | 1.8 |
91+
| `filefd` | Exposes file descriptor statistics from `/proc/sys/fs/file-nr`. | Linux | 1.8.2 |
92+
| `filesystem` | Exposes filesystem statistics from `/proc/*/mounts` on Linux, and from `getmntinfo` on macOS. | Linux, macOS | Linux: 2.0.9, macOS: 5.1 |
93+
| `hwmon` | Exposes hardware monitoring metrics from `/sys/class/hwmon`. | Linux | 2.2.0 |
94+
| `loadavg` | Exposes load average. | Linux, macOS | 1.8 |
95+
| `meminfo` | Exposes memory statistics. | Linux, macOS | 1.8 |
96+
| `netdev` | Exposes network interface statistics such as bytes transferred. | Linux, macOS | 1.8.2 |
97+
| `netstat` | Exposes network statistics from `/proc/net/netstat`, including the `TcpExt` and `IpExt` counters. | Linux | 2.2.0 |
98+
| `nvme` | Exposes `nvme` statistics from `/proc`. | Linux | 2.2.0 |
99+
| `powersupplyclass` | Exposes power supply statistics, such as battery capacity and charge state, from `/sys/class/power_supply` on Linux and from `IOKit` on macOS. | Linux, macOS | 5.1 |
100+
| `processes` | Exposes processes statistics from `/proc`. | Linux | 2.2.0 |
101+
| `sockstat` | Exposes socket statistics from `/proc/net/sockstat`. | Linux | 2.2.0 |
102+
| `stat` | Exposes various statistics from `/proc/stat`. This includes boot time, forks, and interruptions. | Linux | 1.8 |
103+
| `systemd` | Exposes statistics from `systemd`. | Linux | 2.1.3 |
104+
| `textfile` | Exposes custom metrics from text files. Requires `collector.textfile.path` to be set. | Linux | 2.2.0 |
105+
| `thermal_zone` | Exposes thermal statistics from `/sys/class/thermal/thermal_zone/*`. | Linux | 2.2.1 |
106+
| `time` | Exposes the current system time. | Linux | 1.8 |
107+
| `timex` | Exposes selected `adjtimex(2)` system call stats. | Linux | Unreleased |
108+
| `uname` | Exposes system information as provided by the `uname` system call. | Linux, macOS | 1.8 |
109+
| `vmstat` | Exposes statistics from `/proc/vmstat`. | Linux | 1.8.2 |
110+
111+
Collectors marked `Unreleased` aren't present in any released version yet, and enabling them has no effect. The `timex` collector is tracked in [`fluent-bit#11718`](https://github.com/fluent/fluent-bit/pull/11718).
107112

108113
## Threading
109114

0 commit comments

Comments
 (0)