Skip to main content

Systemd Units

Plugin: go.d.plugin Module: systemdunits

Overview​

This collector monitors Systemd units state.

This collector is supported on all platforms.

This collector supports collecting metrics from multiple instances of this integration, including remote instances.

Default Behavior​

Auto-Detection​

This integration doesn't support auto-detection.

Limits​

The default configuration for this integration does not impose any limits on data collection.

Performance Impact​

The default configuration for this integration is not expected to impose a significant performance impact on the system.

Metrics​

Metrics grouped by scope.

The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.

Per unit​

These metrics refer to the systemd unit.

Labels:

LabelDescription
unit_namesystemd unit name

Metrics:

MetricDimensionsUnit
systemd.service_unit_stateactive, inactive, activating, deactivating, failedstate
systemd.socket_unit_stateactive, inactive, activating, deactivating, failedstate
systemd.target_unit_stateactive, inactive, activating, deactivating, failedstate
systemd.path_unit_stateactive, inactive, activating, deactivating, failedstate
systemd.device_unit_stateactive, inactive, activating, deactivating, failedstate
systemd.mount_unit_stateactive, inactive, activating, deactivating, failedstate
systemd.automount_unit_stateactive, inactive, activating, deactivating, failedstate
systemd.swap_unit_stateactive, inactive, activating, deactivating, failedstate
systemd.timer_unit_stateactive, inactive, activating, deactivating, failedstate
systemd.scope_unit_stateactive, inactive, activating, deactivating, failedstate
systemd.slice_unit_stateactive, inactive, activating, deactivating, failedstate

Alerts​

The following alerts are available:

Alert nameOn metricDescription
systemd_service_unit_failed_state systemd.service_unit_statesystemd service unit in the failed state
systemd_socket_unit_failed_state systemd.socket_unit_statesystemd socket unit in the failed state
systemd_target_unit_failed_state systemd.target_unit_statesystemd target unit in the failed state
systemd_path_unit_failed_state systemd.path_unit_statesystemd path unit in the failed state
systemd_device_unit_failed_state systemd.device_unit_statesystemd device unit in the failed state
systemd_mount_unit_failed_state systemd.mount_unit_statesystemd mount unit in the failed state
systemd_automount_unit_failed_state systemd.automount_unit_statesystemd automount unit in the failed state
systemd_swap_unit_failed_state systemd.swap_unit_statesystemd swap unit in the failed state
systemd_scope_unit_failed_state systemd.scope_unit_statesystemd scope unit in the failed state
systemd_slice_unit_failed_state systemd.slice_unit_statesystemd slice unit in the failed state
systemd_timer_unit_failed_state systemd.timer_unit_statesystemd timer unit in the failed state

Setup​

Prerequisites​

No action required.

Configuration​

File​

The configuration file name for this integration is go.d/systemdunits.conf.

You can edit the configuration file using the edit-config script from the Netdata config directory.

cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config go.d/systemdunits.conf

Options​

The following options can be defined globally: update_every, autodetection_retry.

Config options
NameDescriptionDefaultRequired
update_everyData collection frequency.1no
autodetection_retryRecheck interval in seconds. Zero means no recheck will be scheduled.0no
includeSystemd units filter.*.serviceno
timeoutSystem bus requests timeout.1no
include​

Systemd units matching the selector will be monitored.

includes:
- pattern1
- pattern2

Examples​

Service units​

Collect state of all service type units.

Config
jobs:
- name: service
include:
- '*.service'

One specific unit​

Collect state of one specific unit.

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

All unit types​

Collect state of all units.

Config
jobs:
- name: my-specific-service-unit
include:
- '*'

Multi-instance​

Note: When you define multiple jobs, their names must be unique.

Collect state of all service and socket type units.

Config
jobs:
- name: service
include:
- '*.service'

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

Troubleshooting​

Debug Mode​

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.