This template is for Áú»¢¶Ä²© version: 7.2
Source:
Systemd by Áú»¢¶Ä²© agent 2
Overview
This template is designed for the effortless deployment of Systemd monitoring by Áú»¢¶Ä²© via Áú»¢¶Ä²© agent 2 and doesn't require any external scripts.
Requirements
Áú»¢¶Ä²© version: 7.2 and higher.
Tested versions
This template has been tested on:
Configuration
Áú»¢¶Ä²© should be configured according to the instructions in the Templates out of the box section.
Setup
- Setup and configure zabbix-agent2 compiled with the Systemd monitoring plugin.
- Set filters with macros if you want to override default filter parameters.
Macros used
Name |
Description |
Default |
{$SYSTEMD.NAME.SOCKET.MATCHES} |
Filter of systemd socket units by name. |
.* |
{$SYSTEMD.NAME.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by name. |
CHANGE_IF_NEEDED |
{$SYSTEMD.ACTIVESTATE.SOCKET.MATCHES} |
Filter of systemd socket units by active state. |
active |
{$SYSTEMD.ACTIVESTATE.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by active state. |
CHANGE_IF_NEEDED |
{$SYSTEMD.UNITFILESTATE.SOCKET.MATCHES} |
Filter of systemd socket units by unit file state. |
enabled |
{$SYSTEMD.UNITFILESTATE.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by unit file state. |
CHANGE_IF_NEEDED |
{$SYSTEMD.NAME.SERVICE.MATCHES} |
Filter of systemd service units by name. |
.* |
{$SYSTEMD.NAME.SERVICE.NOT_MATCHES} |
Filter of systemd service units by name. |
CHANGE_IF_NEEDED |
{$SYSTEMD.ACTIVESTATE.SERVICE.MATCHES} |
Filter of systemd service units by active state. |
active |
{$SYSTEMD.ACTIVESTATE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by active state. |
CHANGE_IF_NEEDED |
{$SYSTEMD.UNITFILESTATE.SERVICE.MATCHES} |
Filter of systemd service units by unit file state. |
enabled |
{$SYSTEMD.UNITFILESTATE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by unit file state. |
CHANGE_IF_NEEDED |
{$SYSTEMD.SERVICETYPE.SERVICE.MATCHES} |
Filter of systemd service units by service type. |
.* |
{$SYSTEMD.SERVICETYPE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by service type. |
CHANGE_IF_NEEDED |
LLD rule Service units discovery
Name |
Description |
Type |
Key and additional info |
Service units discovery |
Discover systemd service units and their details. |
Áú»¢¶Ä²© agent |
systemd.unit.discovery[service] |
Item prototypes for Service units discovery
Name |
Description |
Type |
Key and additional info |
{#UNIT.NAME}: Get unit info |
Returns all properties of a systemd service unit. Unit description: {#UNIT.DESCRIPTION}. |
Áú»¢¶Ä²© agent |
systemd.unit.get["{#UNIT.NAME}"] |
{#UNIT.NAME}: Active state |
State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". |
Dependent item |
systemd.service.active_state["{#UNIT.NAME}"] Preprocessing |
{#UNIT.NAME}: Load state |
State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". |
Dependent item |
systemd.service.load_state["{#UNIT.NAME}"] Preprocessing |
{#UNIT.NAME}: Unit file state |
Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". |
Dependent item |
systemd.service.unitfile_state["{#UNIT.NAME}"] Preprocessing |
{#UNIT.NAME}: Active time |
Number of seconds since unit entered the active state. |
Dependent item |
systemd.service.uptime["{#UNIT.NAME}"] Preprocessing |
Trigger prototypes for Service units discovery
Name |
Description |
Expression |
Severity |
Dependencies and additional info |
Systemd: {#UNIT.NAME}: Service is not running |
|
last(/Systemd by Áú»¢¶Ä²© agent 2/systemd.service.active_state["{#UNIT.NAME}"])<>1 |
Warning |
Manual close: Yes |
Systemd: {#UNIT.NAME}: has been restarted |
Uptime is less than 10 minutes. |
last(/Systemd by Áú»¢¶Ä²© agent 2/systemd.service.uptime["{#UNIT.NAME}"])<10m |
Info |
Manual close: Yes |
LLD rule Socket units discovery
Name |
Description |
Type |
Key and additional info |
Socket units discovery |
Discover systemd socket units and their details. |
Áú»¢¶Ä²© agent |
systemd.unit.discovery[socket] |
Item prototypes for Socket units discovery
Name |
Description |
Type |
Key and additional info |
{#UNIT.NAME}: Get unit info |
Returns all properties of a systemd socket unit. Unit description: {#UNIT.DESCRIPTION}. |
Áú»¢¶Ä²© agent |
systemd.unit.get["{#UNIT.NAME}",Socket] |
{#UNIT.NAME}: Connections accepted per sec |
The number of accepted socket connections (NAccepted) per second. |
Dependent item |
systemd.socket.conn_accepted.rate["{#UNIT.NAME}"] Preprocessing JSON Path: $.NAccepted - Change per second
|
{#UNIT.NAME}: Connections connected |
The current number of socket connections (NConnections). |
Dependent item |
systemd.socket.conn_count["{#UNIT.NAME}"] Preprocessing |
Feedback
Please report any issues with the template at
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
This template is for Áú»¢¶Ä²© version: 7.0
Source:
Systemd by Áú»¢¶Ä²© agent 2
Overview
This template is designed for the effortless deployment of Systemd monitoring by Áú»¢¶Ä²© via Áú»¢¶Ä²© agent 2 and doesn't require any external scripts.
Requirements
Áú»¢¶Ä²© version: 7.0 and higher.
Tested versions
This template has been tested on:
Configuration
Áú»¢¶Ä²© should be configured according to the instructions in the Templates out of the box section.
Setup
- Setup and configure zabbix-agent2 compiled with the Systemd monitoring plugin.
- Set filters with macros if you want to override default filter parameters.
Macros used
Name |
Description |
Default |
{$SYSTEMD.NAME.SOCKET.MATCHES} |
Filter of systemd socket units by name |
.* |
{$SYSTEMD.NAME.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by name |
CHANGE_IF_NEEDED |
{$SYSTEMD.ACTIVESTATE.SOCKET.MATCHES} |
Filter of systemd socket units by active state |
active |
{$SYSTEMD.ACTIVESTATE.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by active state |
CHANGE_IF_NEEDED |
{$SYSTEMD.UNITFILESTATE.SOCKET.MATCHES} |
Filter of systemd socket units by unit file state |
enabled |
{$SYSTEMD.UNITFILESTATE.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by unit file state |
CHANGE_IF_NEEDED |
{$SYSTEMD.NAME.SERVICE.MATCHES} |
Filter of systemd service units by name |
.* |
{$SYSTEMD.NAME.SERVICE.NOT_MATCHES} |
Filter of systemd service units by name |
CHANGE_IF_NEEDED |
{$SYSTEMD.ACTIVESTATE.SERVICE.MATCHES} |
Filter of systemd service units by active state |
active |
{$SYSTEMD.ACTIVESTATE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by active state |
CHANGE_IF_NEEDED |
{$SYSTEMD.UNITFILESTATE.SERVICE.MATCHES} |
Filter of systemd service units by unit file state |
enabled |
{$SYSTEMD.UNITFILESTATE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by unit file state |
CHANGE_IF_NEEDED |
LLD rule Service units discovery
Name |
Description |
Type |
Key and additional info |
Service units discovery |
Discover systemd service units and their details. |
Áú»¢¶Ä²© agent |
systemd.unit.discovery[service] |
Item prototypes for Service units discovery
Name |
Description |
Type |
Key and additional info |
{#UNIT.NAME}: Get unit info |
Returns all properties of a systemd service unit. Unit description: {#UNIT.DESCRIPTION}. |
Áú»¢¶Ä²© agent |
systemd.unit.get["{#UNIT.NAME}"] |
{#UNIT.NAME}: Active state |
State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". |
Dependent item |
systemd.service.active_state["{#UNIT.NAME}"] Preprocessing |
{#UNIT.NAME}: Load state |
State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". |
Dependent item |
systemd.service.load_state["{#UNIT.NAME}"] Preprocessing |
{#UNIT.NAME}: Unit file state |
Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". |
Dependent item |
systemd.service.unitfile_state["{#UNIT.NAME}"] Preprocessing |
{#UNIT.NAME}: Active time |
Number of seconds since unit entered the active state. |
Dependent item |
systemd.service.uptime["{#UNIT.NAME}"] Preprocessing |
Trigger prototypes for Service units discovery
Name |
Description |
Expression |
Severity |
Dependencies and additional info |
Systemd: {#UNIT.NAME}: Service is not running |
|
last(/Systemd by Áú»¢¶Ä²© agent 2/systemd.service.active_state["{#UNIT.NAME}"])<>1 |
Warning |
Manual close: Yes |
Systemd: {#UNIT.NAME}: has been restarted |
Uptime is less than 10 minutes. |
last(/Systemd by Áú»¢¶Ä²© agent 2/systemd.service.uptime["{#UNIT.NAME}"])<10m |
Info |
Manual close: Yes |
LLD rule Socket units discovery
Name |
Description |
Type |
Key and additional info |
Socket units discovery |
Discover systemd socket units and their details. |
Áú»¢¶Ä²© agent |
systemd.unit.discovery[socket] |
Item prototypes for Socket units discovery
Name |
Description |
Type |
Key and additional info |
{#UNIT.NAME}: Get unit info |
Returns all properties of a systemd socket unit. Unit description: {#UNIT.DESCRIPTION}. |
Áú»¢¶Ä²© agent |
systemd.unit.get["{#UNIT.NAME}",Socket] |
{#UNIT.NAME}: Connections accepted per sec |
The number of accepted socket connections (NAccepted) per second. |
Dependent item |
systemd.socket.conn_accepted.rate["{#UNIT.NAME}"] Preprocessing JSON Path: $.NAccepted - Change per second
|
{#UNIT.NAME}: Connections connected |
The current number of socket connections (NConnections). |
Dependent item |
systemd.socket.conn_count["{#UNIT.NAME}"] Preprocessing |
Feedback
Please report any issues with the template at
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
This template is for Áú»¢¶Ä²© version: 6.4
Source:
Systemd by Áú»¢¶Ä²© agent 2
Overview
This template is designed for the effortless deployment of Systemd monitoring by Áú»¢¶Ä²© via Áú»¢¶Ä²© agent 2 and doesn't require any external scripts.
Requirements
Áú»¢¶Ä²© version: 6.4 and higher.
Tested versions
This template has been tested on:
Configuration
Áú»¢¶Ä²© should be configured according to the instructions in the Templates out of the box section.
Setup
- Setup and configure zabbix-agent2 compiled with the Systemd monitoring plugin.
- Set filters with macros if you want to override default filter parameters.
Macros used
Name |
Description |
Default |
{$SYSTEMD.NAME.SOCKET.MATCHES} |
Filter of systemd socket units by name |
.* |
{$SYSTEMD.NAME.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by name |
CHANGE_IF_NEEDED |
{$SYSTEMD.ACTIVESTATE.SOCKET.MATCHES} |
Filter of systemd socket units by active state |
active |
{$SYSTEMD.ACTIVESTATE.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by active state |
CHANGE_IF_NEEDED |
{$SYSTEMD.UNITFILESTATE.SOCKET.MATCHES} |
Filter of systemd socket units by unit file state |
enabled |
{$SYSTEMD.UNITFILESTATE.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by unit file state |
CHANGE_IF_NEEDED |
{$SYSTEMD.NAME.SERVICE.MATCHES} |
Filter of systemd service units by name |
.* |
{$SYSTEMD.NAME.SERVICE.NOT_MATCHES} |
Filter of systemd service units by name |
CHANGE_IF_NEEDED |
{$SYSTEMD.ACTIVESTATE.SERVICE.MATCHES} |
Filter of systemd service units by active state |
active |
{$SYSTEMD.ACTIVESTATE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by active state |
CHANGE_IF_NEEDED |
{$SYSTEMD.UNITFILESTATE.SERVICE.MATCHES} |
Filter of systemd service units by unit file state |
enabled |
{$SYSTEMD.UNITFILESTATE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by unit file state |
CHANGE_IF_NEEDED |
LLD rule Service units discovery
Name |
Description |
Type |
Key and additional info |
Service units discovery |
Discover systemd service units and their details. |
Áú»¢¶Ä²© agent |
systemd.unit.discovery[service] |
Item prototypes for Service units discovery
Name |
Description |
Type |
Key and additional info |
{#UNIT.NAME}: Get unit info |
Returns all properties of a systemd service unit. Unit description: {#UNIT.DESCRIPTION}. |
Áú»¢¶Ä²© agent |
systemd.unit.get["{#UNIT.NAME}"] |
{#UNIT.NAME}: Active state |
State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". |
Dependent item |
systemd.service.active_state["{#UNIT.NAME}"] Preprocessing |
{#UNIT.NAME}: Load state |
State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". |
Dependent item |
systemd.service.load_state["{#UNIT.NAME}"] Preprocessing |
{#UNIT.NAME}: Unit file state |
Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". |
Dependent item |
systemd.service.unitfile_state["{#UNIT.NAME}"] Preprocessing |
{#UNIT.NAME}: Active time |
Number of seconds since unit entered the active state. |
Dependent item |
systemd.service.uptime["{#UNIT.NAME}"] Preprocessing |
Trigger prototypes for Service units discovery
Name |
Description |
Expression |
Severity |
Dependencies and additional info |
{#UNIT.NAME}: Service is not running |
|
last(/Systemd by Áú»¢¶Ä²© agent 2/systemd.service.active_state["{#UNIT.NAME}"])<>1 |
Warning |
Manual close: Yes |
{#UNIT.NAME}: has been restarted |
Uptime is less than 10 minutes. |
last(/Systemd by Áú»¢¶Ä²© agent 2/systemd.service.uptime["{#UNIT.NAME}"])<10m |
Info |
Manual close: Yes |
LLD rule Socket units discovery
Name |
Description |
Type |
Key and additional info |
Socket units discovery |
Discover systemd socket units and their details. |
Áú»¢¶Ä²© agent |
systemd.unit.discovery[socket] |
Item prototypes for Socket units discovery
Name |
Description |
Type |
Key and additional info |
{#UNIT.NAME}: Get unit info |
Returns all properties of a systemd socket unit. Unit description: {#UNIT.DESCRIPTION}. |
Áú»¢¶Ä²© agent |
systemd.unit.get["{#UNIT.NAME}",Socket] |
{#UNIT.NAME}: Connections accepted per sec |
The number of accepted socket connections (NAccepted) per second. |
Dependent item |
systemd.socket.conn_accepted.rate["{#UNIT.NAME}"] Preprocessing JSON Path: $.NAccepted - Change per second
|
{#UNIT.NAME}: Connections connected |
The current number of socket connections (NConnections). |
Dependent item |
systemd.socket.conn_count["{#UNIT.NAME}"] Preprocessing |
Feedback
Please report any issues with the template at
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
This template is for Áú»¢¶Ä²© version: 6.2
Source:
Systemd by Áú»¢¶Ä²© agent 2
Overview
For Áú»¢¶Ä²© version: 6.2 and higher
The template to monitor systemd units.
Most of the metrics are collected in one go, thanks to Áú»¢¶Ä²© bulk data collection.
Systemd by Áú»¢¶Ä²© agent 2
¡ª collects metrics by polling zabbix-agent2.
This template was tested on:
Setup
See Áú»¢¶Ä²© template operation for basic instructions.
- Setup and configure zabbix-agent2 compiled with the Systemd monitoring plugin.
- Set filters with macros if you want to override default filter parameters.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
Name |
Description |
Default |
{$SYSTEMD.ACTIVESTATE.SERVICE.MATCHES} |
Filter of systemd service units by active state |
active |
{$SYSTEMD.ACTIVESTATE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by active state |
CHANGE_IF_NEEDED |
{$SYSTEMD.ACTIVESTATE.SOCKET.MATCHES} |
Filter of systemd socket units by active state |
active |
{$SYSTEMD.ACTIVESTATE.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by active state |
CHANGE_IF_NEEDED |
{$SYSTEMD.NAME.SERVICE.MATCHES} |
Filter of systemd service units by name |
.* |
{$SYSTEMD.NAME.SERVICE.NOT_MATCHES} |
Filter of systemd service units by name |
CHANGE_IF_NEEDED |
{$SYSTEMD.NAME.SOCKET.MATCHES} |
Filter of systemd socket units by name |
.* |
{$SYSTEMD.NAME.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by name |
CHANGE_IF_NEEDED |
{$SYSTEMD.UNITFILESTATE.SERVICE.MATCHES} |
Filter of systemd service units by unit file state |
enabled |
{$SYSTEMD.UNITFILESTATE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by unit file state |
CHANGE_IF_NEEDED |
{$SYSTEMD.UNITFILESTATE.SOCKET.MATCHES} |
Filter of systemd socket units by unit file state |
enabled |
{$SYSTEMD.UNITFILESTATE.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by unit file state |
CHANGE_IF_NEEDED |
Template links
There are no template links in this template.
Discovery rules
Name |
Description |
Type |
Key and additional info |
Service units discovery |
Discover systemd service units and their details. |
ZABBIX_PASSIVE |
systemd.unit.discovery[service] Filter: AND - {#UNIT.ACTIVESTATE} MATCHES_REGEX {$SYSTEMD.ACTIVESTATE.SERVICE.MATCHES} - {#UNIT.ACTIVESTATE} NOT_MATCHES_REGEX {$SYSTEMD.ACTIVESTATE.SERVICE.NOT_MATCHES} - {#UNIT.UNITFILESTATE} MATCHES_REGEX {$SYSTEMD.UNITFILESTATE.SERVICE.MATCHES} - {#UNIT.UNITFILESTATE} NOT_MATCHES_REGEX {$SYSTEMD.UNITFILESTATE.SERVICE.NOT_MATCHES} - {#UNIT.NAME} NOT_MATCHES_REGEX {$SYSTEMD.NAME.SERVICE.NOT_MATCHES} - {#UNIT.NAME} MATCHES_REGEX {$SYSTEMD.NAME.SERVICE.MATCHES} |
Socket units discovery |
Discover systemd socket units and their details. |
ZABBIX_PASSIVE |
systemd.unit.discovery[socket] Filter: AND - {#UNIT.ACTIVESTATE} MATCHES_REGEX {$SYSTEMD.ACTIVESTATE.SOCKET.MATCHES} - {#UNIT.ACTIVESTATE} NOT_MATCHES_REGEX {$SYSTEMD.ACTIVESTATE.SOCKET.NOT_MATCHES} - {#UNIT.UNITFILESTATE} MATCHES_REGEX {$SYSTEMD.UNITFILESTATE.SOCKET.MATCHES} - {#UNIT.UNITFILESTATE} NOT_MATCHES_REGEX {$SYSTEMD.UNITFILESTATE.SOCKET.NOT_MATCHES} - {#UNIT.NAME} NOT_MATCHES_REGEX {$SYSTEMD.NAME.SOCKET.NOT_MATCHES} - {#UNIT.NAME} MATCHES_REGEX {$SYSTEMD.NAME.SOCKET.MATCHES} |
Items collected
Group |
Name |
Description |
Type |
Key and additional info |
Systemd |
{#UNIT.NAME}: Active state |
State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". |
DEPENDENT |
systemd.service.active_state["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.ActiveState.state - DISCARD_UNCHANGED_HEARTBEAT: 30m |
Systemd |
{#UNIT.NAME}: Load state |
State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". |
DEPENDENT |
systemd.service.load_state["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.LoadState.state - DISCARD_UNCHANGED_HEARTBEAT: 30m |
Systemd |
{#UNIT.NAME}: Unit file state |
Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". |
DEPENDENT |
systemd.service.unitfile_state["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.UnitFileState.state - DISCARD_UNCHANGED_HEARTBEAT: 30m |
Systemd |
{#UNIT.NAME}: Active time |
Number of seconds since unit entered the active state. |
DEPENDENT |
systemd.service.uptime["{#UNIT.NAME}"] Preprocessing: - JAVASCRIPT: The text is too long. Please see the template. |
Systemd |
{#UNIT.NAME}: Connections accepted per sec |
The number of accepted socket connections (NAccepted) per second. |
DEPENDENT |
systemd.socket.conn_accepted.rate["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.NAccepted - CHANGE_PER_SECOND |
Systemd |
{#UNIT.NAME}: Connections connected |
The current number of socket connections (NConnections). |
DEPENDENT |
systemd.socket.conn_count["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.NConnections |
Áú»¢¶Ä²© raw items |
{#UNIT.NAME}: Get unit info |
Returns all properties of a systemd service unit. Unit description: {#UNIT.DESCRIPTION}. |
ZABBIX_PASSIVE |
systemd.unit.get["{#UNIT.NAME}"] |
Áú»¢¶Ä²© raw items |
{#UNIT.NAME}: Get unit info |
Returns all properties of a systemd socket unit. Unit description: {#UNIT.DESCRIPTION}. |
ZABBIX_PASSIVE |
systemd.unit.get["{#UNIT.NAME}",Socket] |
Triggers
Name |
Description |
Expression |
Severity |
Dependencies and additional info |
{#UNIT.NAME}: Service is not running |
- |
last(/Systemd by Áú»¢¶Ä²© agent 2/systemd.service.active_state["{#UNIT.NAME}"])<>1 |
WARNING |
Manual close: YES |
{#UNIT.NAME}: has been restarted |
Uptime is less than 10 minutes. |
last(/Systemd by Áú»¢¶Ä²© agent 2/systemd.service.uptime["{#UNIT.NAME}"])<10m |
INFO |
Manual close: YES |
Feedback
Please report any issues with the template at
You can also provide feedback, discuss the template or ask for help with it at ZABBIX forums.
This template is for Áú»¢¶Ä²© version: 6.0
Source:
Systemd by Áú»¢¶Ä²© agent 2
Overview
This template is designed for the effortless deployment of Systemd monitoring by Áú»¢¶Ä²© via Áú»¢¶Ä²© agent 2 and doesn't require any external scripts.
Requirements
Áú»¢¶Ä²© version: 6.0 and higher.
Tested versions
This template has been tested on:
Configuration
Áú»¢¶Ä²© should be configured according to the instructions in the Templates out of the box section.
Setup
- Setup and configure zabbix-agent2 compiled with the Systemd monitoring plugin.
- Set filters with macros if you want to override default filter parameters.
Macros used
Name |
Description |
Default |
{$SYSTEMD.NAME.SOCKET.MATCHES} |
Filter of systemd socket units by name |
.* |
{$SYSTEMD.NAME.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by name |
CHANGE_IF_NEEDED |
{$SYSTEMD.ACTIVESTATE.SOCKET.MATCHES} |
Filter of systemd socket units by active state |
active |
{$SYSTEMD.ACTIVESTATE.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by active state |
CHANGE_IF_NEEDED |
{$SYSTEMD.UNITFILESTATE.SOCKET.MATCHES} |
Filter of systemd socket units by unit file state |
enabled |
{$SYSTEMD.UNITFILESTATE.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by unit file state |
CHANGE_IF_NEEDED |
{$SYSTEMD.NAME.SERVICE.MATCHES} |
Filter of systemd service units by name |
.* |
{$SYSTEMD.NAME.SERVICE.NOT_MATCHES} |
Filter of systemd service units by name |
CHANGE_IF_NEEDED |
{$SYSTEMD.ACTIVESTATE.SERVICE.MATCHES} |
Filter of systemd service units by active state |
active |
{$SYSTEMD.ACTIVESTATE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by active state |
CHANGE_IF_NEEDED |
{$SYSTEMD.UNITFILESTATE.SERVICE.MATCHES} |
Filter of systemd service units by unit file state |
enabled |
{$SYSTEMD.UNITFILESTATE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by unit file state |
CHANGE_IF_NEEDED |
LLD rule Service units discovery
Name |
Description |
Type |
Key and additional info |
Service units discovery |
Discover systemd service units and their details. |
Áú»¢¶Ä²© agent |
systemd.unit.discovery[service] |
Item prototypes for Service units discovery
Name |
Description |
Type |
Key and additional info |
{#UNIT.NAME}: Get unit info |
Returns all properties of a systemd service unit. Unit description: {#UNIT.DESCRIPTION}. |
Áú»¢¶Ä²© agent |
systemd.unit.get["{#UNIT.NAME}"] |
{#UNIT.NAME}: Active state |
State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". |
Dependent item |
systemd.service.active_state["{#UNIT.NAME}"] Preprocessing |
{#UNIT.NAME}: Load state |
State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". |
Dependent item |
systemd.service.load_state["{#UNIT.NAME}"] Preprocessing |
{#UNIT.NAME}: Unit file state |
Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". |
Dependent item |
systemd.service.unitfile_state["{#UNIT.NAME}"] Preprocessing |
{#UNIT.NAME}: Active time |
Number of seconds since unit entered the active state. |
Dependent item |
systemd.service.uptime["{#UNIT.NAME}"] Preprocessing |
Trigger prototypes for Service units discovery
Name |
Description |
Expression |
Severity |
Dependencies and additional info |
{#UNIT.NAME}: Service is not running |
|
last(/Systemd by Áú»¢¶Ä²© agent 2/systemd.service.active_state["{#UNIT.NAME}"])<>1 |
Warning |
Manual close: Yes |
{#UNIT.NAME}: has been restarted |
Uptime is less than 10 minutes. |
last(/Systemd by Áú»¢¶Ä²© agent 2/systemd.service.uptime["{#UNIT.NAME}"])<10m |
Info |
Manual close: Yes |
LLD rule Socket units discovery
Name |
Description |
Type |
Key and additional info |
Socket units discovery |
Discover systemd socket units and their details. |
Áú»¢¶Ä²© agent |
systemd.unit.discovery[socket] |
Item prototypes for Socket units discovery
Name |
Description |
Type |
Key and additional info |
{#UNIT.NAME}: Get unit info |
Returns all properties of a systemd socket unit. Unit description: {#UNIT.DESCRIPTION}. |
Áú»¢¶Ä²© agent |
systemd.unit.get["{#UNIT.NAME}",Socket] |
{#UNIT.NAME}: Connections accepted per sec |
The number of accepted socket connections (NAccepted) per second. |
Dependent item |
systemd.socket.conn_accepted.rate["{#UNIT.NAME}"] Preprocessing JSON Path: $.NAccepted - Change per second
|
{#UNIT.NAME}: Connections connected |
The current number of socket connections (NConnections). |
Dependent item |
systemd.socket.conn_count["{#UNIT.NAME}"] Preprocessing |
Feedback
Please report any issues with the template at
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
This template is for Áú»¢¶Ä²© version: 5.4
Source:
Systemd by Áú»¢¶Ä²© agent 2
Overview
For Áú»¢¶Ä²© version: 5.4 and higher
The template to monitor systemd units.
Most of the metrics are collected in one go, thanks to Áú»¢¶Ä²© bulk data collection.
Systemd by Áú»¢¶Ä²© agent 2
¡ª collects metrics by polling zabbix-agent2.
This template was tested on:
Setup
See Áú»¢¶Ä²© template operation for basic instructions.
- Setup and configure zabbix-agent2 compiled with the Systemd monitoring plugin.
- Set filters with macros if you want to override default filter parameters.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
Name |
Description |
Default |
{$SYSTEMD.ACTIVESTATE.SERVICE.MATCHES} |
Filter of systemd service units by active state |
active |
{$SYSTEMD.ACTIVESTATE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by active state |
CHANGE_IF_NEEDED |
{$SYSTEMD.ACTIVESTATE.SOCKET.MATCHES} |
Filter of systemd socket units by active state |
active |
{$SYSTEMD.ACTIVESTATE.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by active state |
CHANGE_IF_NEEDED |
{$SYSTEMD.NAME.SERVICE.MATCHES} |
Filter of systemd service units by name |
.* |
{$SYSTEMD.NAME.SERVICE.NOT_MATCHES} |
Filter of systemd service units by name |
CHANGE_IF_NEEDED |
{$SYSTEMD.NAME.SOCKET.MATCHES} |
Filter of systemd socket units by name |
.* |
{$SYSTEMD.NAME.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by name |
CHANGE_IF_NEEDED |
{$SYSTEMD.UNITFILESTATE.SERVICE.MATCHES} |
Filter of systemd service units by unit file state |
enabled |
{$SYSTEMD.UNITFILESTATE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by unit file state |
CHANGE_IF_NEEDED |
{$SYSTEMD.UNITFILESTATE.SOCKET.MATCHES} |
Filter of systemd socket units by unit file state |
enabled |
{$SYSTEMD.UNITFILESTATE.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by unit file state |
CHANGE_IF_NEEDED |
Template links
There are no template links in this template.
Discovery rules
Name |
Description |
Type |
Key and additional info |
Service units discovery |
Discover systemd service units and their details. |
ZABBIX_PASSIVE |
systemd.unit.discovery[service] Filter: AND - {#UNIT.ACTIVESTATE} MATCHES_REGEX {$SYSTEMD.ACTIVESTATE.SERVICE.MATCHES} - {#UNIT.ACTIVESTATE} NOT_MATCHES_REGEX {$SYSTEMD.ACTIVESTATE.SERVICE.NOT_MATCHES} - {#UNIT.UNITFILESTATE} MATCHES_REGEX {$SYSTEMD.UNITFILESTATE.SERVICE.MATCHES} - {#UNIT.UNITFILESTATE} NOT_MATCHES_REGEX {$SYSTEMD.UNITFILESTATE.SERVICE.NOT_MATCHES} - {#UNIT.NAME} NOT_MATCHES_REGEX {$SYSTEMD.NAME.SERVICE.NOT_MATCHES} - {#UNIT.NAME} MATCHES_REGEX {$SYSTEMD.NAME.SERVICE.MATCHES} |
Socket units discovery |
Discover systemd socket units and their details. |
ZABBIX_PASSIVE |
systemd.unit.discovery[socket] Filter: AND - {#UNIT.ACTIVESTATE} MATCHES_REGEX {$SYSTEMD.ACTIVESTATE.SOCKET.MATCHES} - {#UNIT.ACTIVESTATE} NOT_MATCHES_REGEX {$SYSTEMD.ACTIVESTATE.SOCKET.NOT_MATCHES} - {#UNIT.UNITFILESTATE} MATCHES_REGEX {$SYSTEMD.UNITFILESTATE.SOCKET.MATCHES} - {#UNIT.UNITFILESTATE} NOT_MATCHES_REGEX {$SYSTEMD.UNITFILESTATE.SOCKET.NOT_MATCHES} - {#UNIT.NAME} NOT_MATCHES_REGEX {$SYSTEMD.NAME.SOCKET.NOT_MATCHES} - {#UNIT.NAME} MATCHES_REGEX {$SYSTEMD.NAME.SOCKET.MATCHES} |
Items collected
Group |
Name |
Description |
Type |
Key and additional info |
Systemd |
{#UNIT.NAME}: Active state |
State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". |
DEPENDENT |
systemd.service.active_state["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.ActiveState.state - DISCARD_UNCHANGED_HEARTBEAT: 30m |
Systemd |
{#UNIT.NAME}: Load state |
State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". |
DEPENDENT |
systemd.service.load_state["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.LoadState.state - DISCARD_UNCHANGED_HEARTBEAT: 30m |
Systemd |
{#UNIT.NAME}: Unit file state |
Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". |
DEPENDENT |
systemd.service.unitfile_state["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.UnitFileState.state - DISCARD_UNCHANGED_HEARTBEAT: 30m |
Systemd |
{#UNIT.NAME}: Active time |
Number of seconds since unit entered the active state. |
DEPENDENT |
systemd.service.uptime["{#UNIT.NAME}"] Preprocessing: - JAVASCRIPT: The text is too long. Please see the template. |
Systemd |
{#UNIT.NAME}: Connections accepted per sec |
The number of accepted socket connections (NAccepted) per second. |
DEPENDENT |
systemd.socket.conn_accepted.rate["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.NAccepted - CHANGE_PER_SECOND |
Systemd |
{#UNIT.NAME}: Connections connected |
The current number of socket connections (NConnections). |
DEPENDENT |
systemd.socket.conn_count["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.NConnections |
Áú»¢¶Ä²©_raw_items |
{#UNIT.NAME}: Get unit info |
Returns all properties of a systemd service unit. Unit description: {#UNIT.DESCRIPTION}. |
ZABBIX_PASSIVE |
systemd.unit.get["{#UNIT.NAME}"] |
Áú»¢¶Ä²©_raw_items |
{#UNIT.NAME}: Get unit info |
Returns all properties of a systemd socket unit. Unit description: {#UNIT.DESCRIPTION}. |
ZABBIX_PASSIVE |
systemd.unit.get["{#UNIT.NAME}",Socket] |
Triggers
Name |
Description |
Expression |
Severity |
Dependencies and additional info |
{#UNIT.NAME}: Service is not running |
- |
last(/Systemd by Áú»¢¶Ä²© agent 2/systemd.service.active_state["{#UNIT.NAME}"])<>1 |
WARNING |
Manual close: YES |
{#UNIT.NAME}: has been restarted (uptime < 10m) |
Uptime is less than 10 minutes |
last(/Systemd by Áú»¢¶Ä²© agent 2/systemd.service.uptime["{#UNIT.NAME}"])<10m |
INFO |
Manual close: YES |
Feedback
Please report any issues with the template at
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.
This template is for Áú»¢¶Ä²© version: 5.0
Source:
Template APP Systemd by Áú»¢¶Ä²© agent 2
Overview
For Áú»¢¶Ä²© version: 5.0 and higher
The template to monitor systemd units.
Most of the metrics are collected in one go, thanks to Áú»¢¶Ä²© bulk data collection.
Template APP Systemd by Áú»¢¶Ä²© agent 2
¡ª collects metrics by polling zabbix-agent2.
This template was tested on:
Setup
See Áú»¢¶Ä²© template operation for basic instructions.
- Setup and configure zabbix-agent2 compiled with the Systemd monitoring plugin.
- Set filters with macros if you want to override default filter parameters.
Áú»¢¶Ä²© configuration
No specific Áú»¢¶Ä²© configuration is required.
Macros used
Name |
Description |
Default |
{$SYSTEMD.ACTIVESTATE.SERVICE.MATCHES} |
Filter of systemd service units by active state |
active |
{$SYSTEMD.ACTIVESTATE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by active state |
CHANGE_IF_NEEDED |
{$SYSTEMD.ACTIVESTATE.SOCKET.MATCHES} |
Filter of systemd socket units by active state |
active |
{$SYSTEMD.ACTIVESTATE.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by active state |
CHANGE_IF_NEEDED |
{$SYSTEMD.NAME.SERVICE.MATCHES} |
Filter of systemd service units by name |
.* |
{$SYSTEMD.NAME.SERVICE.NOT_MATCHES} |
Filter of systemd service units by name |
CHANGE_IF_NEEDED |
{$SYSTEMD.NAME.SOCKET.MATCHES} |
Filter of systemd socket units by name |
.* |
{$SYSTEMD.NAME.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by name |
CHANGE_IF_NEEDED |
{$SYSTEMD.UNITFILESTATE.SERVICE.MATCHES} |
Filter of systemd service units by unit file state |
enabled |
{$SYSTEMD.UNITFILESTATE.SERVICE.NOT_MATCHES} |
Filter of systemd service units by unit file state |
CHANGE_IF_NEEDED |
{$SYSTEMD.UNITFILESTATE.SOCKET.MATCHES} |
Filter of systemd socket units by unit file state |
enabled |
{$SYSTEMD.UNITFILESTATE.SOCKET.NOT_MATCHES} |
Filter of systemd socket units by unit file state |
CHANGE_IF_NEEDED |
Template links
There are no template links in this template.
Discovery rules
Name |
Description |
Type |
Key and additional info |
Service units discovery |
Discover systemd service units and their details. |
ZABBIX_PASSIVE |
systemd.unit.discovery[service] Filter: AND - A: {#UNIT.ACTIVESTATE} MATCHES_REGEX {$SYSTEMD.ACTIVESTATE.SERVICE.MATCHES} - B: {#UNIT.ACTIVESTATE} NOT_MATCHES_REGEX {$SYSTEMD.ACTIVESTATE.SERVICE.NOT_MATCHES} - C: {#UNIT.UNITFILESTATE} MATCHES_REGEX {$SYSTEMD.UNITFILESTATE.SERVICE.MATCHES} - D: {#UNIT.UNITFILESTATE} NOT_MATCHES_REGEX {$SYSTEMD.UNITFILESTATE.SERVICE.NOT_MATCHES} - E: {#UNIT.NAME} NOT_MATCHES_REGEX {$SYSTEMD.NAME.SERVICE.NOT_MATCHES} - F: {#UNIT.NAME} MATCHES_REGEX {$SYSTEMD.NAME.SERVICE.MATCHES} |
Socket units discovery |
Discover systemd socket units and their details. |
ZABBIX_PASSIVE |
systemd.unit.discovery[socket] Filter: AND - A: {#UNIT.ACTIVESTATE} MATCHES_REGEX {$SYSTEMD.ACTIVESTATE.SOCKET.MATCHES} - B: {#UNIT.ACTIVESTATE} NOT_MATCHES_REGEX {$SYSTEMD.ACTIVESTATE.SOCKET.NOT_MATCHES} - C: {#UNIT.UNITFILESTATE} MATCHES_REGEX {$SYSTEMD.UNITFILESTATE.SOCKET.MATCHES} - D: {#UNIT.UNITFILESTATE} NOT_MATCHES_REGEX {$SYSTEMD.UNITFILESTATE.SOCKET.NOT_MATCHES} - E: {#UNIT.NAME} NOT_MATCHES_REGEX {$SYSTEMD.NAME.SOCKET.NOT_MATCHES} - F: {#UNIT.NAME} MATCHES_REGEX {$SYSTEMD.NAME.SOCKET.MATCHES} |
Items collected
Group |
Name |
Description |
Type |
Key and additional info |
Systemd |
{#UNIT.NAME}: Active state |
State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". |
DEPENDENT |
systemd.service.active_state["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.ActiveState.state - DISCARD_UNCHANGED_HEARTBEAT: 30m |
Systemd |
{#UNIT.NAME}: Load state |
State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". |
DEPENDENT |
systemd.service.load_state["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.LoadState.state - DISCARD_UNCHANGED_HEARTBEAT: 30m |
Systemd |
{#UNIT.NAME}: Unit file state |
Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". |
DEPENDENT |
systemd.service.unitfile_state["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.UnitFileState.state - DISCARD_UNCHANGED_HEARTBEAT: 30m |
Systemd |
{#UNIT.NAME}: Active time |
Number of seconds since unit entered the active state. |
DEPENDENT |
systemd.service.uptime["{#UNIT.NAME}"] Preprocessing: - JAVASCRIPT: The text is too long. Please see the template. |
Systemd |
{#UNIT.NAME}: Connections accepted per sec |
The number of accepted socket connections (NAccepted) per second. |
DEPENDENT |
systemd.socket.conn_accepted.rate["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.NAccepted - CHANGE_PER_SECOND |
Systemd |
{#UNIT.NAME}: Connections connected |
The current number of socket connections (NConnections). |
DEPENDENT |
systemd.socket.conn_count["{#UNIT.NAME}"] Preprocessing: - JSONPATH: $.NConnections |
Áú»¢¶Ä²©_raw_items |
{#UNIT.NAME}: Get unit info |
Returns all properties of a systemd service unit. Unit description: {#UNIT.DESCRIPTION}. |
ZABBIX_PASSIVE |
systemd.unit.get["{#UNIT.NAME}"] |
Áú»¢¶Ä²©_raw_items |
{#UNIT.NAME}: Get unit info |
Returns all properties of a systemd socket unit. Unit description: {#UNIT.DESCRIPTION}. |
ZABBIX_PASSIVE |
systemd.unit.get["{#UNIT.NAME}",Socket] |
Triggers
Name |
Description |
Expression |
Severity |
Dependencies and additional info |
{#UNIT.NAME}: Service is not running |
- |
{TEMPLATE_NAME:systemd.service.active_state["{#UNIT.NAME}"].last()}<>1 |
WARNING |
Manual close: YES |
{#UNIT.NAME}: has been restarted (uptime < 10m) |
Uptime is less than 10 minutes |
{TEMPLATE_NAME:systemd.service.uptime["{#UNIT.NAME}"].last()}<10m |
INFO |
Manual close: YES |
Feedback
Please report any issues with the template at
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.