prometheus_sysctl_exporter
—
print kernel state as Prometheus metrics
prometheus_sysctl_exporter |
[-dgh ] [-e
pattern] [-i
pattern] [prefix ...] |
Prometheus is a monitoring system that gathers metrics from its targets by
fetching them through HTTP GET requests. Metrics are identified by a name and
an optional set of labels. Sample values are required to be numerical.
The prometheus_sysctl_exporter
utility
prints the values of sysctl nodes to standard output, formatted such that
they can be scraped by Prometheus directly. By default, it prints metrics
for all numerically representable nodes in the sysctl namespace. It is also
possible to limit output to a smaller number of metrics by specifying one or
more prefixes as arguments.
Metrics printed by this utility are named
‘sysctl_
’, followed by the name of the
sysctl node having its ‘.
’ separators
replaced by ‘_
’. Components on which
it is desirable to aggregate (e.g., names of devices) are omitted from the
metric's name, but are appended as labels instead.
There are two different methods for exporting the output of
prometheus_sysctl_exporter
to Prometheus. The first
method is to periodically invoke this utility through
cron(8)
and store its output in a textfile. The metrics in this textfile can then be
served over HTTP using the Prometheus node exporter's textfile collector.
The second method is to run this utility through
inetd(8).
TCP port 9124 has been allocated for this purpose.
The following options are available:
-d
- Print descriptions of metrics when available.
-e
pattern
- Same as
-i
, except exclude metrics that match
pattern.
-g
- Gzip compresses the HTTP response body.
-h
- Precede the output with a HTTP response header. This flag is required when
running this utility through
inetd(8).
-i
pattern
- If specified, include metrics that match pattern.
The format of pattern is to be a regular expression
as described in
re_format(7).
The provided regular expression is tested against the Prometheus metric
name.
cron(8),
inetd(8),
sysctl(8),
SYSCTL_ADD_NODE_WITH_LABEL(9)
Prometheus project:
https://prometheus.io/.
Prometheus exposition formats:
https://prometheus.io/docs/instrumenting/exposition_formats/.
Prometheus node exporter:
https://github.com/prometheus/node_exporter.
Prometheus default port allocations:
https://github.com/prometheus/prometheus/wiki/Default-port-allocations.
prometheus_sysctl_exporter
first appeared in
FreeBSD 12.0.