[comment]: # ({1825d7ea-ec525f2f})
# 8 Découverte des services systemd

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

[comment]: # ({f72274ad-6e5dadb8})
### Aperçu

Il est possible de [découvrir](/manual/discovery/low_level_discovery) des unités systemd (services, par défaut) avec Zabbix.

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

[comment]: # ({1b3710b6-e655c9cf})
### Clé d’élément

L’élément à utiliser dans la [règle de
découverte](/manual/discovery/low_level_discovery#discovery-rule) est

    systemd.unit.discovery

::: noteimportant
Cette clé
d’[élément](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2) n’est
prise en charge que par Zabbix agent 2.
:::

Cet élément renvoie un JSON contenant des informations sur les unités systemd, par
exemple :

    [{
        "{#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})
##### Découverte des unités systemd désactivées

Il est également possible de découvrir les unités systemd **désactivées**. Dans ce cas, 
trois macros sont renvoyées dans le JSON résultant : 

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

::: noteimportant
Pour que les éléments et les déclencheurs soient créés à partir des prototypes pour les unités systemd désactivées, veillez à 
ajuster (ou supprimer) les filtres LLD d’exclusion pour {#UNIT.ACTIVESTATE} et {#UNIT.UNITFILESTATE}.
:::

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

[comment]: # ({9bd149f1-0272b801})
### Macros prises en charge

Les macros suivantes peuvent être utilisées dans le [filtre](/manual/discovery/low_level_discovery#discovery-rule-filter) de la règle de découverte ainsi que dans les prototypes d'éléments, de déclencheurs et de graphiques :

|Macro|Description|
|-----|-----------|
|{\#UNIT.NAME}|Nom principal de l'unité.|
|{\#UNIT.DESCRIPTION}|Description lisible par l'utilisateur.|
|{\#UNIT.LOADSTATE}|État de chargement (c'est-à-dire si le fichier d'unité a été chargé avec succès).|
|{\#UNIT.ACTIVESTATE}|État actif (c'est-à-dire si l'unité est actuellement démarrée ou non).|
|{\#UNIT.SUBSTATE}|Sous-état (une version plus fine de l'état actif, spécifique au type d'unité, contrairement à l'état actif).|
|{\#UNIT.FOLLOWED}|Unité dont l'état est suivi par cette unité, s'il y en a une ; sinon, une chaîne vide.|
|{\#UNIT.PATH}|Chemin de l'objet unité.|
|{\#UNIT.JOBID}|ID numérique de tâche si une tâche est en file d'attente pour l'unité de tâche ; `0` sinon.|
|{\#UNIT.JOBTYPE}|Type de tâche.|
|{\#UNIT.JOBPATH}|Chemin de l'objet tâche.|
|{\#UNIT.UNITFILESTATE}|État d'installation du fichier d'unité.|
|{\#UNIT.SERVICETYPE}|Type de l'unité de service (par exemple, `simple`, `forking`, `oneshot`, `idle`, etc.). Cette macro n'est renvoyée que si l'unité est un service.|

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

[comment]: # ({93b3d9f5-c8363d40})
### Prototypes d'éléments

Les prototypes d'éléments pouvant être créés sur la base de la découverte des services systemd
incluent, par exemple :

-   Nom de l'élément : `{#UNIT.DESCRIPTION} active state info` ; clé de l'élément :
    `systemd.unit.info["{#UNIT.NAME}"]`
-   Nom de l'élément : `{#UNIT.DESCRIPTION} load state info` ; clé de l'élément :
    `systemd.unit.info["{#UNIT.NAME}",LoadState]`

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