Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

8 Descoberta de serviços systemd

Visão geral

É possível descobrir unidades systemd (serviços, por padrão) com o Zabbix.

Chave do item

O item a ser usado na regra de descoberta é

systemd.unit.discovery

Esta chave de item é suportada apenas no Zabbix agent 2.

Este item retorna um JSON com informações sobre as unidades do systemd, por exemplo:

[{
           "{#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"
       }]
Descoberta de unidades systemd desabilitadas

Também é possível descobrir unidades systemd desabilitadas. Neste caso, três macros são retornadas no JSON resultante:

  • {#UNIT.PATH}
  • {#UNIT.ACTIVESTATE}
  • {#UNIT.UNITFILESTATE}.

Para que items e triggers sejam criados a partir de protótipos para unidades systemd desabilitadas, certifique-se de ajustar (ou remover) os filtros LLD proibitivos para {#UNIT.ACTIVESTATE} e {#UNIT.UNITFILESTATE}.

Macros suportadas

As seguintes macros são suportadas para uso na regra de descoberta (filtro) e protótipos de items, triggers 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 da unidade foi carregado com sucesso)
{#UNIT.ACTIVESTATE} Estado ativo (ou seja, se a unidade está atualmente iniciada ou não)
{#UNIT.SUBSTATE} Subestado (uma versão mais detalhada do estado ativo que é específica para o tipo de unidade, o 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 numérico do job se houver um job na fila para a unidade; 0 caso contrário.
{#UNIT.JOBTYPE} Tipo do job.
{#UNIT.JOBPATH} Caminho do objeto do job.
{#UNIT.UNITFILESTATE} O estado de instalação do arquivo da unidade.
{#UNIT.SERVICETYPE} Tipo da unidade de serviço (por exemplo, simple, forking, oneshot, idle, etc.). Esta macro é retornada apenas se a unidade for um serviço.

Protótipos de item

Protótipos de item que podem ser criados com base na descoberta de serviços systemd incluem, por exemplo:

  • Nome do item: {#UNIT.DESCRIPTION} active state info; chave do item: systemd.unit.info["{#UNIT.NAME}"]
  • Nome do item: {#UNIT.DESCRIPTION} load state info; chave do item: systemd.unit.info["{#UNIT.NAME}",LoadState]