systemd-report — Generate report of system metrics
systemd-report [OPTIONS...]
Note: this command is experimental for now. While it is likely to become a regular component of systemd, it might still change in behaviour and interface.
systemd-report requests metrics from the system and writes them to standard output.
The following commands are understood:
Acquire a list of metrics values from all local services providing them, and write them to standard output. Optionally takes one or more match expressions for filtering the metrics to show. The expression either may be a literal metric family name to search for, or a prefix of one (which will be matched only at dot boundaries). If multiple matches are specified as multiple parameters, any metric matching any of the specified matches are shown.
Acquire a list of metric families from all local services providing them, and write them to standard output. This returns primarily static information about metrics, their data types and human readable description, without values.
Match expressions supported by metrics are supported by describe too.
Acquire a list of metrics and build a JSON report.
Match expressions supported by metrics are supported here too.
This command can be used to send the report built by generate
to an external server. Two upload mechanisms are supported. If an "http://" or
"https://" URL is specified with --url=, an HTTP upload will be
performed to the specified location. Otherwise, any sockets under
/run/systemd/metrics-upload/ will be used to call
io.systemd.Report.Upload().
Match expressions supported by metrics are supported here too.
Show list of known metrics sources.
The following options are understood:
--system, --user¶Query per-system metrics sources (the default), or the per-user metrics sources.
--no-pager¶Do not pipe output into a pager.
--json=MODE¶Shows output formatted as JSON. Expects one of "short" (for the
shortest possible output without any redundant whitespace or line breaks), "pretty"
(for a pretty version of the same, with indentation and line breaks) or "off" (to turn
off JSON output, the default).
-j¶Equivalent to --json=pretty if running on a terminal, and
--json=short otherwise.
--no-legend¶Do not print the legend, i.e. column headers and the footer with hints.
-h, --help¶--version¶--url=URL¶Upload the collected report to the specified address instead of writing it to
standard output. URL must point to a server accepting POST requests with
a JSON-formatted report body.
Note: both "http://" and "https://" URLs are supported, but
connections over plain HTTP are made without encryption. Thus, this mode should
only be used in specific situations where integrity and confidentiality of the report is not required
or is ensured through some other means. Using "https://" is recommended.
--key=FILENAME¶Takes a path to a SSL key file in PEM format, used for client certificate
authentication when uploading. Can also be set to "-", to disable client certificate
authentication. Defaults to
/etc/pki/systemd/private/systemd-report.pem.
--cert=FILENAME¶Takes a path to a SSL certificate file in PEM format, used for client certificate
authentication when uploading. Defaults to
/etc/pki/systemd/certs/systemd-report.pem.
--trust=FILENAME|all¶Takes a path to a SSL CA certificate file in PEM format used to verify the server
certificate, or the literal string all to disable certificate checking
entirely. Defaults to /etc/pki/systemd/ca/trusted.pem.
--network-timeout=SEC¶Timeout for the network upload operation. Takes a value in seconds (or in other
time units if suffixed with "ms", "min", "h",
etc.); see
systemd.time(7)
for details. Defaults to 30 seconds.
--extra-header=NAME: VALUE¶Inject an additional HTTP header into the upload request. May be specified multiple
times to add several headers. Passing an empty string clears any headers added by previous
--extra-header= uses.