Grafana Alloy is the new name for our distribution of the OTel collector.
Grafana Agent has been deprecated and is in Long-Term Support (LTS) through October 31, 2025.
Grafana Agent will reach an End-of-Life (EOL) on November 1, 2025.
Read more about why we recommend migrating to Grafana Alloy.
Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.
The prometheus.integration.node_exporter component embeds
node_exporter which exposes a
wide variety of hardware and OS metrics for *nix-based systems.
The node_exporter itself is comprised of various collectors, which can be
enabled and disabled at will. For more information on collectors, refer to the
collectors-list section.
The prometheus.integration.node_exporter component can only appear once per
configuration file, and a block label must not be passed to it.
Usage
river
prometheus.integration.node_exporter{}
Arguments
The following arguments can be used to configure the exporter’s behavior.
All arguments are optional. Omitted fields take their default values.
Name
Type
Description
Default
Required
set_collectors
list(string)
Overrides the default set of enabled collectors with the collectors listed.
no
enable_collectors
list(string)
Collectors to mark as enabled.
no
disable_collectors
list(string)
Collectors to mark as disabled.
no
include_exporter_metrics
boolean
Whether metrics about the exporter itself should be reported.
false
no
procfs_path
string
The procfs mountpoint.
/proc
no
sysfs_path
string
The sysfs mountpoint.
/sys
no
rootfs_path
string
Specify a prefix for accessing the host filesystem.
/
no
set_collectors defines a hand-picked list of enabled-by-default
collectors. If set, anything not provided in that list is disabled by
default. See the Collectors list for the default set of
enabled collectors for each supported operating system.
enable_collectors enables more collectors over the default set, or on top
of the ones provided in set_collectors.
disable_collectors extends the default set of disabled collectors. In case
of conflicts, it takes precedence over enable_collectors.
Blocks
The following blocks are supported inside the definiton of
prometheus.integration.node_exporter to configure collector-specific options:
List of CPUs from which perf metrics should be collected.
no
tracepoint
list(string)
Array of perf tracepoints that should be collected.
no
powersupply block
name
type
description
default
required
ignored_supplies
string
Regexp of power supplies to ignore for the powersupplyclass collector.
"^$"
no
runit block
name
type
description
default
required
service_dir
string
Path to runit service directory.
"/etc/service"
no
supervisord block
name
type
description
default
required
url
string
XML RPC endpoint for the supervisord collector.
"http://localhost:9001/RPC2"
no
Setting SUPERVISORD_URL in the environment overrides the default value.
An explicit value in the block takes precedence over the environment variable.
systemd block
name
type
description
default
required
enable_restarts
boolean
Enables service unit metric service_restart_total
false
no
start_time
boolean
Enables service unit metric unit_start_time_seconds
false
no
task_metrics
boolean
Enables service unit task metrics unit_tasks_current and unit_tasks_max.
false
no
unit_exclude
string
Regexp of systemd units to exclude. Units must both match include and not match exclude to be collected.
".+\\.(automount|device|mount|scope|slice)"
no
unit_include
string
Regexp of systemd units to include. Units must both match include and not match exclude to be collected.
".+"
no
tapestats block
name
type
description
default
required
ignored_devices
string
Regexp of tapestats devices to ignore.
"^$"
no
textfile block
name
type
description
default
required
textfile_directory
string
Directory to read *.prom files from for the textfile collector.
no
vmstat block
name
type
description
default
required
fields
string
Regexp of fields to return for the vmstat collector.
"^(oom_kill|pgpg|pswp|pg.*fault).*"
no
Exported fields
The following fields are exported and can be referenced by other components.
Name
Type
Description
targets
list(map(string))
The targets that can be used to collect node_exporter metrics.
For example, the targets could either be passed to a prometheus.relabel
component to rewrite the metrics’ label set, or to a prometheus.scrape
component that collects the exposed metrics.
Component health
prometheus.integration.node_exporter is only reported as unhealthy if given
an invalid configuration. In those cases, exported fields retain their last
healthy values.
Debug information
prometheus.integration.node_exporter does not expose any component-specific
debug information.
Debug metrics
prometheus.integration.node_exporter does not expose any component-specific
debug metrics.
Collectors list
The following table lists the available collectors that node_exporter brings
bundled in. Some collectors only work on specific operating systems; enabling a
collector that is not supported by the host OS where Flow is running
is a no-op.
Users can choose to enable a subset of collectors to limit the amount of
metrics exposed by the prometheus.integration.node_exporter component,
or disable collectors that are expensive to run.
Name
Description
OS
Enabled by default
arp
Exposes ARP statistics from /proc/net/arp.
Linux
yes
bcache
Exposes bcache statistics from /sys/fs/bcache.
Linux
yes
bonding
Exposes the number of configured and active slaves of Linux bonding interfaces.
Linux
yes
boottime
Exposes system boot time derived from the kern.boottime sysctl.
Darwin, Dragonfly, FreeBSD, NetBSD, OpenBSD, Solaris
yes
btrfs
Exposes statistics on btrfs.
Linux
yes
buddyinfo
Exposes statistics of memory fragments as reported by /proc/buddyinfo.
Linux
no
conntrack
Shows conntrack statistics (does nothing if no /proc/sys/net/netfilter/ present).
Linux
yes
cpu
Exposes CPU statistics.
Darwin, Dragonfly, FreeBSD, Linux, Solaris
yes
cpufreq
Exposes CPU frequency statistics.
Linux, Solaris
yes
devstat
Exposes device statistics.
Dragonfly, FreeBSD
no
diskstats
Exposes disk I/O statistics.
Darwin, Linux, OpenBSD
yes
dmi
Exposes DMI information.
Linux
yes
drbd
Exposes Distributed Replicated Block Device statistics (to version 8.4).
Linux
no
drm
Exposes GPU card info from /sys/class/drm/card?/device.
Linux
no
edac
Exposes error detection and correction statistics.
Linux
yes
entropy
Exposes available entropy.
Linux
yes
ethtool
Exposes ethtool stats.
Linux
no
exec
Exposes execution statistics.
Dragonfly, FreeBSD
yes
fibrechannel
Exposes FibreChannel statistics.
Linux
yes
filefd
Exposes file descriptor statistics from /proc/sys/fs/file-nr.
Linux
yes
filesystem
Exposes filesystem statistics, such as disk space used.
Darwin, Dragonfly, FreeBSD, Linux, OpenBSD
yes
hwmon
Exposes hardware monitoring and sensor data from /sys/class/hwmon.
Linux
yes
infiniband
Exposes network statistics specific to InfiniBand and Intel OmniPath configurations.
Linux
yes
interrupts
Exposes detailed interrupts statistics.
Linux, OpenBSD
no
ipvs
Exposes IPVS status from /proc/net/ip_vs and stats from /proc/net/ip_vs_stats.
Linux
yes
ksmd
Exposes kernel and system statistics from /sys/kernel/mm/ksm.
Linux
no
lnstat
Exposes Linux network cache stats.
Linux
no
loadavg
Exposes load average.
Darwin, Dragonfly, FreeBSD, Linux, NetBSD, OpenBSD, Solaris
yes
logind
Exposes session counts from logind.
Linux
no
mdadm
Exposes statistics about devices in /proc/mdstat (does nothing if no /proc/mdstat present).
Linux
yes
meminfo
Exposes memory statistics.
Darwin, Dragonfly, FreeBSD, Linux, OpenBSD
yes
meminfo_numa
Exposes memory statistics from /proc/meminfo_numa.
Linux
no
mountstats
Exposes filesystem statistics from /proc/self/mountstats. Exposes detailed NFS client statistics.
Linux
no
netclass
Exposes network interface info from /sys/class/net.
Linux
yes
netdev
Exposes network interface statistics such as bytes transferred.
Darwin, Dragonfly, FreeBSD, Linux, OpenBSD
yes
netstat
Exposes network statistics from /proc/net/netstat. This is the same information as netstat -s.
Linux
yes
network_route
Exposes network route statistics.
Linux
no
nfs
Exposes NFS client statistics from /proc/net/rpc/nfs. This is the same information as nfsstat -c.
Linux
yes
nfsd
Exposes NFS kernel server statistics from /proc/net/rpc/nfsd. This is the same information as nfsstat -s.
Linux
yes
ntp
Exposes local NTP daemon health to check time.
any
no
nvme
Exposes NVMe statistics.
Linux
yes
os
Exposes os-release information.
Linux
yes
perf
Exposes perf based metrics (Warning: Metrics are dependent on kernel configuration and settings).
Linux
no
powersupplyclass
Collects information on power supplies.
any
yes
pressure
Exposes pressure stall statistics from /proc/pressure/.
Linux (kernel 4.20+ and/or CONFIG_PSI)
yes
processes
Exposes aggregate process statistics from /proc.
Linux
no
qdisc
Exposes queuing discipline statistics.
Linux
no
rapl
Exposes various statistics from /sys/class/powercap.
Linux
yes
runit
Exposes service status from runit.
any
no
schedstat
Exposes task scheduler statistics from /proc/schedstat.
Linux
yes
sockstat
Exposes various statistics from /proc/net/sockstat.
Linux
yes
softnet
Exposes statistics from /proc/net/softnet_stat.
Linux
yes
stat
Exposes various statistics from /proc/stat. This includes boot time, forks and interrupts.
Linux
yes
supervisord
Exposes service status from supervisord.
any
no
systemd
Exposes service and system status from systemd.
Linux
no
tapestats
Exposes tape device stats.
Linux
yes
tcpstat
Exposes TCP connection status information from /proc/net/tcp and /proc/net/tcp6. (Warning: The current version has potential performance issues in high load situations.)
Exposes thermal zone & cooling device statistics from /sys/class/thermal.
Linux
yes
time
Exposes the current system time.
any
yes
timex
Exposes selected adjtimex(2) system call stats.
Linux
yes
udp_queues
Exposes UDP total lengths of the rx_queue and tx_queue from /proc/net/udp and /proc/net/udp6.
Linux
yes
uname
Exposes system information as provided by the uname system call.
Darwin, FreeBSD, Linux, OpenBSD
yes
vmstat
Exposes statistics from /proc/vmstat.
Linux
yes
wifi
Exposes WiFi device and station statistics.
Linux
no
xfs
Exposes XFS runtime statistics.
Linux (kernel 4.4+)
yes
zfs
Exposes ZFS performance statistics.
Linux, Solaris
yes
zoneinfo
Exposes zone stats.
Linux
no
Running on Docker/Kubernetes
When running Flow in a Docker container, you need to bind mount the filesystem,
procfs, and sysfs from the host machine, as well as set the corresponding
arguments for the component to work.
You may also need to add capabilities such as SYS_TIME and make sure that the
Agent is running with elevated privileges for some of the collectors to work
properly.
Example
This example uses a prometheus.scrape component to collect metrics
from prometheus.integration.node_exporter:
river
prometheus.integration.node_exporter{}// Configure a prometheus.scrape component to collect node_exporter metrics.prometheus.scrape"demo"{targets = prometheus.integration.node_exporter.targets
forward_to =[/* ... */]}