Es posible descubrir unidades systemd (servicios, por defecto) con Zabbix.
The item to use in the discovery rule is the
This item key is only supported in Zabbix agent 2.
This item returns a JSON with information about systemd units, for example:
[{
"{#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"
}]
Desde Zabbix 6.0.1 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 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]
Las métricas de agente systemd.unit.info
están soportadas desde Zabbix 4.4.