Es posible descubrir unidades systemd (servicios, por defecto) con Zabbix.
La métrica a utilizar en la regla de descubrimiento es
Esta métrica solo es compatible con Zabbix agent 2.
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.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"
}]
También es posible descubrir unidades systemd deshabilitadas. En este caso, se devuelven tres macros en el JSON resultante:
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}.
Las siguientes macros son compatibles para su uso en la regla de descubrimiento (filtro) y prototipos de métricas, 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 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 la unidad. |
{#UNIT.SERVICETYPE} | Tipo de la unidad de servicio (por ejemplo, simple , forking , oneshot , idle , etc.). Esta macro solo se devuelve si la unidad es un servicio. |
Los prototipos de métricas que se pueden crear basados 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 de estado de carga
; clave de la métrica: systemd.unit.info["{#UNIT.NAME}",LoadState]