Áú»¢¶Ä²©

8 Descubrimiento de los servicios systemd

¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô general

Es posible descubrir unidades systemd (servicios, por defecto) con Áú»¢¶Ä²©.

Clave de la ³¾¨¦³Ù°ù¾±³¦²¹

La ³¾¨¦³Ù°ù¾±³¦²¹ a utilizar en la regla de descubrimiento es

systemd.unit.discovery

Esta clave de ³¾¨¦³Ù°ù¾±³¦²¹ solo es compatible con el agente 2 de Áú»¢¶Ä²©.

Esta ³¾¨¦³Ù°ù¾±³¦²¹ 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"
       }]
Descubrimiento de unidades systemd deshabilitadas

Desde Áú»¢¶Ä²© 6.0.1 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 ³¾¨¦³Ù°ù¾±³¦²¹s 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

Las siguientes macros son compatibles para su uso en el filtro de la regla de descubrimiento y en prototipos de ³¾¨¦³Ù°ù¾±³¦²¹s, iniciadores y gr¨¢ficos:

Macro ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô
{#UNIT.NAME} Nombre de la unidad principal.
{#UNIT.DESCRIPTION} ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨®²Ô 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.

Prototipos de ³¾¨¦³Ù°ù¾±³¦²¹s

Los prototipos de ³¾¨¦³Ù°ù¾±³¦²¹s que se pueden crear bas¨¢ndose en el descubrimiento de servicios systemd incluyen, por ejemplo:

  • Nombre de la ³¾¨¦³Ù°ù¾±³¦²¹: {#UNIT.DESCRIPTION} informaci¨®n de estado activo; clave de la ³¾¨¦³Ù°ù¾±³¦²¹: systemd.unit.info["{#UNIT.NAME}"]
  • Nombre de la ³¾¨¦³Ù°ù¾±³¦²¹: {#UNIT.DESCRIPTION} informaci¨®n del estado de carga; clave de la ³¾¨¦³Ù°ù¾±³¦²¹: systemd.unit.info["{#UNIT.NAME}",LoadState]

Las ³¾¨¦³Ù°ù¾±³¦²¹s de agente systemd.unit.info est¨¢n soportadas desde Áú»¢¶Ä²© 4.4.