[comment]: # ({1825d7ea-ec525f2f})
# 8 Descubrimiento de servicios systemd

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

[comment]: # ({f72274ad-6e5dadb8})
### Descripción general

Es posible [descubrir](/manual/discovery/low_level_discovery)
unidades systemd (servicios, por defecto) con Zabbix.

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

[comment]: # ({1b3710b6-e655c9cf})
### Clave de item

El item que se debe usar en la [regla de
descubrimiento](/manual/discovery/low_level_discovery#discovery-rule) es

    systemd.unit.discovery

::: noteimportant
Esta clave de
[item](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2) solo es
compatible con Zabbix agent 2.
:::

Este item devuelve un JSON con información sobre las unidades de systemd,
por ejemplo:

    [{
        "{#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})
##### Descubrimiento de unidades systemd deshabilitadas

También es posible descubrir unidades systemd **deshabilitadas**. En este caso,
se devuelven tres macros en el JSON resultante:

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

::: noteimportant
Para que se creen métricas y disparadores a partir de prototipos para unidades systemd deshabilitadas, asegúrese de
ajustar (o eliminar) los filtros LLD que prohíben {#UNIT.ACTIVESTATE} y {#UNIT.UNITFILESTATE}.
:::

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

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

Las siguientes macros son compatibles para su uso en el
[filtro](/manual/discovery/low_level_discovery#discovery-rule-filter)
de la regla de descubrimiento y en los prototipos de items, triggers y gráficos:

|Macro|Descripción|
|-----|-----------|
|{\#UNIT.NAME}|Nombre principal de la unidad.|
|{\#UNIT.DESCRIPTION}|Descripción legible para humanos.|
|{\#UNIT.LOADSTATE}|Estado de carga (es decir, si el archivo de unidad se ha cargado correctamente).|
|{\#UNIT.ACTIVESTATE}|Estado activo (es decir, si la unidad está iniciada actualmente o no).|
|{\#UNIT.SUBSTATE}|Subestado (una versión más detallada del estado activo que es específica del tipo de unidad, a diferencia del estado activo).|
|{\#UNIT.FOLLOWED}|Unidad cuyo estado sigue esta unidad, si existe alguna; de lo contrario, una cadena vacía.|
|{\#UNIT.PATH}|Ruta del objeto de la unidad.|
|{\#UNIT.JOBID}|ID numérico del trabajo si hay un trabajo en cola para la unidad de trabajo; `0` en caso contrario.|
|{\#UNIT.JOBTYPE}|Tipo de trabajo.|
|{\#UNIT.JOBPATH}|Ruta del objeto del trabajo.|
|{\#UNIT.UNITFILESTATE}|Estado de instalación del archivo de unidad.|
|{\#UNIT.SERVICETYPE}|Tipo de la unidad de servicio (por ejemplo, `simple`, `forking`, `oneshot`, `idle`, etc.). Esta macro se devuelve solo si la unidad es un servicio.|

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

[comment]: # ({93b3d9f5-c8363d40})
### Prototipos de métricas

Los prototipos de métricas que se pueden crear basados en el descubrimiento de servicios systemd
incluyen, por ejemplo:

-   Nombre de la métrica: `{#UNIT.DESCRIPTION} información de estado activo`; clave de la métrica:
    `systemd.unit.info["{#UNIT.NAME}"]`
-   Nombre de la métrica: `{#UNIT.DESCRIPTION} información de estado de carga`; clave de la métrica:
    `systemd.unit.info["{#UNIT.NAME}",LoadState]`

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