Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

8 Descubrimiento de los servicios systemd

Descripción general

Es posible descubrir unidades systemd (servicios, por defecto) con Zabbix.

Clave del elemento

El elemento a utilizar en la regla de descubrimiento es

systemd.unit.discovery

Esta clave de elemento solo es compatible con Zabbix agent 2.

Este elemento devuelve un JSON con información sobre las unidades 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"
       }]
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}.

Para crear métricas e iniciadores a partir de prototipos para unidades systemd deshabilitadas, asegúrese de ajustar (o eliminar) la prohibición de filtros LLD para {#UNIT.ACTIVESTATE} y {#UNIT.UNITFILESTATE}.

Macros compatibles

Se admiten los siguientes macros para su uso en la regla de descubrimiento y prototipos de elementos, disparadores y gráficos:

Macro Descripción
{#UNIT.NAME} Nombre de la unidad principal.
{#UNIT.DESCRIPTION} Descripción legible por humanos.
{#UNIT.LOADSTATE} Estado de carga (es decir, si el archivo de la unidad se ha cargado correctamente)
{#UNIT.ACTIVESTATE} Estado activo (es decir, si la unidad está actualmente iniciada o no)
{#UNIT.SUBSTATE} Subestado (una versión más detallada del estado activo que es específica del tipo de unidad, lo que el estado activo no es)
{#UNIT.FOLLOWED} Unidad cuyo estado está siendo seguido por esta unidad, si existe; 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 de trabajo.
{#UNIT.UNITFILESTATE} El estado de instalación del archivo de la unidad.
{#UNIT.SERVICETYPE} Tipo de la unidad de servicio (por ejemplo, simple, forking, oneshot, idle, etc.). Este macro solo se devuelve si la unidad es un servicio.

Prototipos de métricas

Los prototipos de métricas que se pueden crear basándose 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 del estado de carga; clave de la métrica: systemd.unit.info["{#UNIT.NAME}",LoadState]