É possível descobrir unidades systemd (serviços, por padrão) com Zabbix.
O item a ser usado na descoberta regra é a
::: não importante este item é suportado apenas no agente Zabbix 2. :::
Este item retorna um JSON com informações sobre unidades systemd, por exemplo:
[{
"{#UNIT.NAME}": "mysqld.service",
"{#UNIT.DESCRIPTION}": "Servidor MySQL",
"{#UNIT.LOADSTATE}": "carregado",
"{#UNIT.ACTIVESTATE}": "ativo",
"{#UNIT.SUBSTATE}": "executando",
"{#UNIT.FOLLOWED}": "",
"{#UNIT.PATH}": "/org/freedesktop/systemd1/unit/mysqld_2eservice",
"{#UNIT.JOBID}": 0,
"{#UNIT.JOBTYPE}": ""
"{#UNIT.JOBPATH}": "/",
"{#UNIT.UNITFILESTATE}": "habilitado"
}, {
"{#UNIT.NAME}": "systemd-journald.socket",
"{#UNIT.DESCRIPTION}": "Soquete de diário",
"{#UNIT.LOADSTATE}": "carregado",
"{#UNIT.ACTIVESTATE}": "ativo",
"{#UNIT.SUBSTATE}": "executando",
"{#UNIT.FOLLOWED}": "",
"{#UNIT.PATH}": "/org/freedesktop/systemd1/unit/systemd_2djournald_2esocket",
"{#UNIT.JOBID}": 0,
"{#UNIT.JOBTYPE}": "",
"{#UNIT.JOBPATH}": "/"
"{#UNIT.UNITFILESTATE}": "habilitado"
}]
Desde o Zabbix 6.0.1 também é possível descobrir unidades systemd desativadas. Nesse caso, três macros são retornadas no JSON resultante:
Para ter itens e acionadores criados a partir de protótipos para unidades do systemd desabilitadas, certifique-se de ajustar (ou remover) filtros de proibição de LLD para {#UNIT.ACTIVESTATE} e {#UNIT.UNITFILESTATE}.
As seguintes macros têm suporte para uso na regra de descoberta filtro e protótipos de itens, gatilhos e gráficos:
Macro | Descrição |
---|---|
{#UNIT.NAME} | Nome da unidade primária. |
{#UNIT.DESCRIPTION} | Descrição legível por humanos. |
{#UNIT.LOADSTATE} | Estado de carregamento (ou seja, se o arquivo de unidade foi carregado com sucesso) |
{#UNIT.ACTIVESTATE} | Estado ativo (ou seja, se a unidade está iniciada ou não) |
{#UNIT.SUBSTATE} | Subestado (uma versão mais refinada do estado ativo que é específico para o tipo de unidade, que o estado ativo não é) |
{#UNIT.FOLLOWED} | Unidade que está sendo seguida em seu estado por esta unidade, se houver; caso contrário, uma string vazia. |
{#UNIT.PATH} | Caminho do objeto da unidade. |
{#UNIT.JOBID} | ID de trabalho numérico se houver um trabalho na fila para a unidade de trabalho; 0 caso contrário. |
{#UNIT.JOBTYPE} | Tipo de trabalho. |
{#UNIT.JOBPATH} | Caminho do objeto de trabalho. |
{#UNIT.UNITFILESTATE} | O estado de instalação do arquivo de unidade. |
Protótipos de itens que podem ser criados com base na descoberta de serviços do systemd incluem, por exemplo:
{#UNIT.DESCRIPTION}
; chave do item: systemd.unit.info["{#UNIT.NAME}"]
{#UNIT.DESCRIPTION}
; chave do item: systemd.unit.info["{#UNIT.NAME}",LoadState]
systemd.unit.info
agente items são suportado desde o Zabbix 4.4.