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.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"
       }]
Descoberta de les unitats de systemd desactivades

És possible també 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.
{#UNIT.SERVICETYPE} Tipus de la unitat de servei (com ara simple, forking, oneshot, idle, etc.). Aquesta macro es retorna només si la unitat és un servei.

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]