[comment]: # ({1825d7ea-ec525f2f})
# 8 Erkennung von systemd-Diensten

[comment]: # ({/1825d7ea-ec525f2f})

[comment]: # ({f72274ad-6e5dadb8})
### Übersicht

Es ist möglich, systemd-Units (standardmäßig Services) mit Zabbix zu [entdecken](/manual/discovery/low_level_discovery).

[comment]: # ({/f72274ad-6e5dadb8})

[comment]: # ({1b3710b6-e655c9cf})
### Datenpunktschlüssel

Der im [Erkennungsregel](/manual/discovery/low_level_discovery#discovery-rule) zu verwendende Datenpunkt ist

    systemd.unit.discovery

::: noteimportant
Dieser
[Datenpunkt](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2)-Schlüssel wird
nur von Zabbix Agent 2 unterstützt.
:::

Dieser Datenpunkt gibt ein JSON mit Informationen über systemd-Units zurück, zum
Beispiel:

    [{
        "{#UNIT.NAME}": "mysqld.service",
        "{#UNIT.DESCRIPTION}": "MySQL Server",
        "{#UNIT.LOADSTATE}": "loaded",
        "{#UNIT.ACTIVESTATE}": "active",
        "{#UNIT.SUBSTATE}": "running",
        "{#UNIT.FOLLOWED}": "",
        "{#UNIT.PATH}": "/org/freedesktop/systemd1/unit/mysqld_2eservice",
        "{#UNIT.JOBID}": 0,
        "{#UNIT.JOBTYPE}": "",
        "{#UNIT.JOBPATH}": "/",
        "{#UNIT.UNITFILESTATE}": "enabled"
        "{#UNIT.SERVICETYPE}": "simple"
    }, {
        "{#UNIT.NAME}": "systemd-journald.socket",
        "{#UNIT.DESCRIPTION}": "Journal Socket",
        "{#UNIT.LOADSTATE}": "loaded",
        "{#UNIT.ACTIVESTATE}": "active",
        "{#UNIT.SUBSTATE}": "running",
        "{#UNIT.FOLLOWED}": "",
        "{#UNIT.PATH}": "/org/freedesktop/systemd1/unit/systemd_2djournald_2esocket",
        "{#UNIT.JOBID}": 0,
        "{#UNIT.JOBTYPE}": "",
        "{#UNIT.JOBPATH}": "/",
        "{#UNIT.UNITFILESTATE}": "enabled"
    }]

[comment]: # ({/1b3710b6-e655c9cf})

[comment]: # ({cbc19e2b-2d3b32d7})
##### Erkennung deaktivierter systemd-Units

Es ist auch möglich, **deaktivierte** systemd-Units zu erkennen. In diesem Fall 
werden im resultierenden JSON drei Makros zurückgegeben: 

-    {#UNIT.PATH}
-    {#UNIT.ACTIVESTATE}
-    {#UNIT.UNITFILESTATE}. 

::: noteimportant
Damit Datenpunkte und Auslöser aus Prototypen für deaktivierte systemd-Units erstellt werden, stellen Sie sicher, dass Sie 
einschränkende LLD-Filter für {#UNIT.ACTIVESTATE} und {#UNIT.UNITFILESTATE} anpassen (oder entfernen).
:::

[comment]: # ({/cbc19e2b-2d3b32d7})

[comment]: # ({9bd149f1-0272b801})
### Unterstützte Makros

Die folgenden Makros werden zur Verwendung im
[Filter](/manual/discovery/low_level_discovery#discovery-rule-filter)
der Discovery-Regel und in Prototypen von Datenpunkten, Auslösern und Diagrammen unterstützt:

|Makro|Beschreibung|
|-----|-----------|
|{\#UNIT.NAME}|Name der primären Unit.|
|{\#UNIT.DESCRIPTION}|Menschenlesbare Beschreibung.|
|{\#UNIT.LOADSTATE}|Ladezustand (d. h. ob die Unit-Datei erfolgreich geladen wurde)|
|{\#UNIT.ACTIVESTATE}|Aktivzustand (d. h. ob die Unit derzeit gestartet ist oder nicht)|
|{\#UNIT.SUBSTATE}|Unterzustand (eine feinere Version des Aktivzustands, die spezifisch für den Unit-Typ ist, was auf den Aktivzustand nicht zutrifft)|
|{\#UNIT.FOLLOWED}|Unit, deren Zustand von dieser Unit verfolgt wird, falls vorhanden; andernfalls eine leere Zeichenfolge.|
|{\#UNIT.PATH}|Objektpfad der Unit.|
|{\#UNIT.JOBID}|Numerische Job-ID, wenn für die Job-Unit ein Job in der Warteschlange steht; andernfalls `0`.|
|{\#UNIT.JOBTYPE}|Job-Typ.|
|{\#UNIT.JOBPATH}|Objektpfad des Jobs.|
|{\#UNIT.UNITFILESTATE}|Der Installationszustand der Unit-Datei.|
|{\#UNIT.SERVICETYPE}|Typ der Service-Unit (z. B. `simple`, `forking`, `oneshot`, `idle` usw.). Dieses Makro wird nur zurückgegeben, wenn die Unit ein Service ist.|

[comment]: # ({/9bd149f1-0272b801})

[comment]: # ({93b3d9f5-c8363d40})
### Datenpunkt-Prototypen

Datenpunkt-Prototypen, die auf Basis der systemd-Service-Erkennung erstellt werden können,
umfassen zum Beispiel:

-   Datenpunktname: `{#UNIT.DESCRIPTION} active state info`; Datenpunktschlüssel:
    `systemd.unit.info["{#UNIT.NAME}"]`
-   Datenpunktname: `{#UNIT.DESCRIPTION} load state info`; Datenpunktschlüssel:
    `systemd.unit.info["{#UNIT.NAME}",LoadState]`

[comment]: # ({/93b3d9f5-c8363d40})
