Skip to main content

Systemd units state collector

Systemd is a suite of basic building blocks for a Linux system.

This module monitors Systemd units state.

Requirements

  • Works only on Linux systems.
  • Disabled by default. Should be explicitly enabled in the go.d.conf:
# go.d.conf
modules:
systemdunits: yes

Metrics

The unit types and states description can be found in the official documentation.

All metrics have "systemd." prefix.

Labels per scope:

  • unit: unit_name.
MetricScopeDimensionsUnits
service_unit_stateunitactive, inactive, activating, deactivating, failedstate
socket_unit_stateunitactive, inactive, activating, deactivating, failedstate
target_unit_stateunitactive, inactive, activating, deactivating, failedstate
path_unit_stateunitactive, inactive, activating, deactivating, failedstate
device_unit_stateunitactive, inactive, activating, deactivating, failedstate
mount_unit_stateunitactive, inactive, activating, deactivating, failedstate
automount_unit_stateunitactive, inactive, activating, deactivating, failedstate
swap_unit_stateunitactive, inactive, activating, deactivating, failedstate
timer_unit_stateunitactive, inactive, activating, deactivating, failedstate
scope_unit_stateunitactive, inactive, activating, deactivating, failedstate
slice_unit_stateunitactive, inactive, activating, deactivating, failedstate

Configuration

Edit the go.d/systemdunits.conf configuration file using edit-config from the Netdata config directory, which is typically at /etc/netdata.

cd /etc/netdata # Replace this path with your Netdata config directory
sudo ./edit-config go.d/systemdunits.conf

Needs only include option. Syntax is the shell file name pattern.

Here are some examples:

jobs:
- name: my-specific-service-unit
include:
- 'my-specific.service'

- name: service-units
include:
- '*.service'

- name: socket-units
include:
- '*.socket'

For all available options, see the Systemdunits collector's configuration file.

Troubleshooting

To troubleshoot issues with the systemdunits collector, run the go.d.plugin with the debug option enabled. The output should give you clues as to why the collector isn't working.

  • Navigate to the plugins.d directory, usually at /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the plugins setting under [directories].

    cd /usr/libexec/netdata/plugins.d/
  • Switch to the netdata user.

    sudo -u netdata -s
  • Run the go.d.plugin to debug the collector:

    ./go.d.plugin -d -m systemdunits

Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.