Es posible descubrir unidades systemd (servicios, por defecto) con Zabbix.
La métrica a utilizar en la regla de descubrimiento es
Esta clave de métrica solo es compatible con el agente 2 de Zabbix.
Esta métrica 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.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"
}]
También es posible descubrir unidades systemd deshabilitadas. En este caso se devuelven tres macros en el JSON resultante:
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}.
Las siguientes macros son compatibles para su uso en el filtro de la regla de descubrimiento y en prototipos de métricas, iniciadores 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 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, que el estado activo no es) |
{#UNIT.FOLLOWED} | Unidad que está siendo seguida en su estado por esta unidad, si la hay; de lo contrario, una cadena vacía. |
{#UNIT.PATH} | Ruta del objeto unitario. |
{#UNIT.JOBID} | ID de trabajo numérico 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 unidad. |
Los prototipos de métricas que se pueden crear basándose en el descubrimiento de servicios systemd incluyen, por ejemplo:
{#UNIT.DESCRIPTION} información de estado activo
; clave de la métrica: systemd.unit.info["{#UNIT.NAME}"]
{#UNIT.DESCRIPTION} información del estado de carga
; clave de la métrica: systemd.unit.info["{#UNIT.NAME}",LoadState]