Il est possible de découvrir des unités systemd (services, par défaut) avec Zabbix.
### Clé d'élément
L'élément à utiliser dans la règle de découverte est
Cette clé d'élément n'est prise en charge que dans l'agent Zabbix 2.
Cet élément renvoie un JSON avec 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.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"
}]
Depuis Zabbix 6.0.1, 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 :
Pour que des éléments et des déclencheurs soient créés à partir de prototypes pour les unités systemd désactivées, assurez-vous d'ajuster (ou de supprimer) les filtres LLD interdisant pour {#UNIT.ACTIVESTATE} et {#UNIT.UNITFILESTATE}.
Les macros suivantes sont prises en charge pour une utilisation dans le filtre de règle de découverte et les prototypes d'éléments, de déclencheurs et de graphiques :
Macro | Description |
---|---|
{#UNIT.NAME} | Nom de l'unité principale. |
{#UNIT.DESCRIPTION} | Description lisible par l'homme. |
{#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 qui est spécifique au type d'unité, ce que l'état actif n'est pas) |
{#UNIT.FOLLOWED} | Unité qui est suivie dans son état par cette unité, s'il y en a ; sinon une chaîne vide. |
{#UNIT.PATH} | Chemin de l'objet unité. |
{#UNIT.JOBID} | ID de travail numérique s'il y a un travail en file d'attente pour l'unité de travail ; 0 sinon. |
{#UNIT.JOBTYPE} | Type de tâche. |
{#UNIT.JOBPATH} | Chemin de l'objet du travail. |
{#UNIT.UNITFILESTATE} | L'état d'installation du fichier d'unité. |
Les prototypes d'élément pouvant être créés sur la base de la découverte de service systemd incluent, par exemple :
{#UNIT.DESCRIPTION}
; Clé de l'élément : systemd.unit.info["{#UNIT.NAME}"]
{#UNIT.DESCRIPTION}
; Clé de l'élément : systemd.unit.info["{#UNIT.NAME}",LoadState]
Les éléments agent systemd.unit.info
sont pris en charge depuis Zabbix 4.4.