8 Descoberta de serveis systemd

Vista general

És possible descobrir unitats de systemd (serveis, per defecte) amb Zabbix.

### Clau d'element

L'element a emprar a la regla de descoberta és

 systemd.unit.discovery

Aquesta clau d'element només s'admet amb l'agent Zabbix 2.

Aquest element retorna un JSON amb la informació de les unitats systemd, per 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"
       }]
Descoberta de les unitats de systemd desactivades

Des de Zabbix 6.0.1 també és possible descobrir unitats systemd desactivades. En aquest cas, es retornen tres macros al JSON resultant:

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

Per crear elements i triggers a partir de prototips per a unitats de sistema desactivades, assegureu-vos d'ajustar (o esborrar) els filtres LLD que no permeten {#UNIT.ACTIVESTATE} i {#UNIT.UNITFILESTATE}.

Macros admeses

Les macros següents s'admeten per emprar-les al filtre de regla de descoberta i elements prototip, triggers i gràfics:

Macro Descripció
{#UNIT.NAME} Nom de la unitat principal.
{#UNIT.DESCRIPTION} Descripció llegible.
{#UNIT.LOADSTATE} Estat de càrrega (és a dir, si el fitxer de la unitat s'ha carregat correctament)
{#UNIT.ACTIVESTATE} Estat actiu (és a dir, si la unitat és engegada o no)
{#UNIT.SUBSTATE} Subestat (una versió més fina de l'estat actiu que és específica del tipus d'unitat, quin estat actiu no ho és)
{#UNIT.FOLLOWED} Unitat que segueix en el seu estat aquesta unitat, si n'hi ha; en cas contrari, una cadena buida.
{#UNIT.PATH} Camí de l'objecte de la unitat.
{#UNIT.JOBID} ID de treball numèric si hi ha un treball a la cua per a la unitat de treball; 0 en cas contrari.
{#UNIT.JOBTYPE} Tipus de treball.
{#UNIT.JOBPATH} Camí de l'objecte de treball.
{#UNIT.UNITFILESTATE} L'estat d'instal·lació del fitxer de la unitat.

Prototipus d'elements

Els prototips d'elements que es poden crear basant-se en la descoberta de serveis de systemd inclouen, per exemple:

  • Nom de l'element: {#UNIT.DESCRIPTION} active stat info; Clau d'element: systemd.unit.info["{#UNIT.NAME}"]
  • Nom de l'element: {#UNIT.DESCRIPTION} active stat info; Clau d'element: systemd.unit.info["{#UNIT.NAME}",LoadState]

Els elements de l'agent systemd.unit.info són compatibles des de Zabbix 4.4.