11 Agent Zabbix no Microsoft Windows

Configurando o agent

Ambas as gerações de agents do Zabbix são executadas como um serviço do Windows. Para o Zabbix agent 2, substitua agentd por agent2 nas instruções abaixo.

Você pode executar uma única instância do Zabbix agent ou várias instâncias do agent em um host Microsoft Windows. Uma única instância pode usar:

  • o arquivo de configuração padrão, localizado no mesmo diretório do binário do agent;
  • um arquivo de configuração especificado na linha de comando.

No caso de várias instâncias, cada instância do agent deve ter seu próprio arquivo de configuração (uma das instâncias pode usar o arquivo de configuração padrão).

Um arquivo de configuração de exemplo está disponível no arquivo-fonte do Zabbix como:

  • conf/zabbix_agentd.conf para Zabbix agent;
  • conf/zabbix_agent2.conf para Zabbix agent2.

Se você quiser instalar o Zabbix agent/agent 2 para Windows como um serviço a partir de um arquivo compactado sem especificar explicitamente o arquivo de configuração, então, antes de instalar o agent:

  • conf/zabbix_agentd.conf deve ser copiado manualmente para o diretório onde zabbix_agentd.exe será instalado;
  • conf/zabbix_agent2.conf e o diretório conf/zabbix_agent2.d devem ser copiados manualmente para o diretório onde zabbix_agent2.exe será instalado.

Consulte as opções do arquivo de configuração para obter detalhes sobre a configuração do Zabbix agent para Windows.

Parâmetro Hostname

Para executar verificações ativas em um host, o Zabbix agent precisa ter o hostname definido. Além disso, o valor de hostname definido no lado do agent deve corresponder exatamente ao "nome do host" configurado para o host no frontend.

O valor de hostname no lado do agent pode ser definido pelo parâmetro Hostname ou HostnameItem no arquivo de configuração do agent - ou os valores padrão serão usados se qualquer um desses parâmetros não for especificado.

O valor padrão do parâmetro HostnameItem é o valor retornado pela chave do agent "system.hostname". No Windows, ele retorna o resultado da função gethostname(), que consulta provedores de namespace para determinar o nome do host local. Se nenhum provedor de namespace responder, o nome NetBIOS será retornado.

O valor padrão de Hostname é o valor retornado pelo parâmetro HostnameItem. Portanto, na prática, se ambos esses parâmetros não forem especificados, o hostname real será o nome NetBIOS do host; o Zabbix agent usará o nome NetBIOS do host para recuperar a lista de verificações ativas do Zabbix server e enviar os resultados para ele.

A chave "system.hostname" suporta dois parâmetros opcionais - type e transform.

Type determina o tipo de nome que o item deve retornar:

  • netbios (padrão) - retorna o nome NetBIOS do host, que é limitado a 15 símbolos e está somente em MAIÚSCULAS;
  • host - sensível a maiúsculas e minúsculas, retorna o nome completo e real do host Windows (sem um domínio);
  • shorthost - retorna a parte do hostname antes do primeiro ponto. Retornará uma string completa se o nome não contiver um ponto.
  • fqdn - retorna o Nome de Domínio Totalmente Qualificado (sem o ponto final).

Transform permite especificar uma regra adicional de transformação para o hostname:

  • none (padrão) - usa a capitalização original das letras;
  • lower - converte o texto para minúsculas.

Assim, para simplificar a configuração do arquivo zabbix_agentd.conf e torná-la unificada, três abordagens diferentes podem ser usadas:

  1. Deixe os parâmetros Hostname ou HostnameItem indefinidos e o Zabbix agent usará o nome NetBIOS do host como hostname.
  2. Deixe o parâmetro Hostname indefinido e defina HostnameItem assim:
    HostnameItem=system.hostname[host] - para que o Zabbix agent use o nome completo e real do host Windows (sensível a maiúsculas e minúsculas) como hostname.
    HostnameItem=system.hostname[shorthost,lower] - para que o Zabbix agent use apenas a parte do hostname antes do primeiro ponto, convertida para minúsculas.
    HostnameItem=system.hostname[fqdn] - para que o Zabbix agent use o Nome de Domínio Totalmente Qualificado como hostname.

O nome do host também é usado como parte do nome do serviço do Windows, que é utilizado para instalar, iniciar, parar e desinstalar o serviço do Windows. Por exemplo, se o arquivo de configuração do Zabbix agent especificar Hostname=Windows_db_server, então o agent será instalado como um serviço do Windows "Zabbix Agent [Windows_db_server]". Portanto, para ter um nome de serviço do Windows diferente para cada instância do Zabbix agent, cada instância deve usar um nome de host diferente.

Instalando o agent como serviço do Windows

Antes de instalar o agent, copie manualmente o arquivo conf/zabbix_agentd.conf para o diretório onde o zabbix_agentd.exe será instalado.

Para instalar uma única instância do agent Zabbix com o arquivo de configuração padrão:

zabbix_agentd.exe --install

Em um sistema de 64 bits, uma versão de 64 bits do agent Zabbix é necessária para que todas as verificações relacionadas à execução de processos de 64 bits funcionem corretamente.

Se você deseja usar um arquivo de configuração diferente do padrão, deve usar o seguinte comando para instalar o serviço:

zabbix_agentd.exe --config <seu_arquivo_de_configuração> --install

Um caminho completo para o arquivo de configuração deve ser especificado.

Múltiplas instâncias do agent Zabbix podem ser instaladas como serviços da seguinte forma:

  zabbix_agentd.exe --config <arquivo_de_configuração_para_instância_1> --install --multiple-agents
  zabbix_agentd.exe --config <arquivo_de_configuração_para_instância_2> --install --multiple-agents
  ...
  zabbix_agentd.exe --config <arquivo_de_configuração_para_instância_N> --install --multiple-agents

O serviço instalado agora deve estar visível no Painel de Controle.

Iniciando o agent

Para iniciar o serviço do agent, você pode usar o Painel de Controle ou fazer isso pela linha de comando.

Para iniciar uma única instância do agent Zabbix com o arquivo de configuração padrão:

 zabbix_agentd.exe --start

Para iniciar uma única instância do agent Zabbix com outro arquivo de configuração:

 zabbix_agentd.exe --config <seu_arquivo_de_configuração> --start

Para iniciar uma das múltiplas instâncias do agent Zabbix:

 zabbix_agentd.exe --config <arquivo_de_configuração_para_esta_instância> --start --multiple-agents

Parando o agent

Para parar o serviço do agent, você pode usar o Painel de Controle ou fazer isso pela linha de comando.

Para parar uma única instância do agent Zabbix iniciada com o arquivo de configuração padrão:

 zabbix_agentd.exe --stop

Para parar uma única instância do agent Zabbix iniciada com outro arquivo de configuração:

 zabbix_agentd.exe --config <seu_arquivo_de_configuração> --stop

Para parar uma das múltiplas instâncias do agent Zabbix:

 zabbix_agentd.exe --config <arquivo_de_configuração_para_esta_instância> --stop --multiple-agents

Desinstalando o serviço do agent no Windows

Para desinstalar uma única instância do agent do Zabbix usando o arquivo de configuração padrão:

   zabbix_agentd.exe --uninstall

Para desinstalar uma única instância do agent do Zabbix usando um arquivo de configuração não padrão:

   zabbix_agentd.exe --config <seu_arquivo_de_configuração> --uninstall

Para desinstalar múltiplas instâncias do agent do Zabbix dos serviços do Windows:

  zabbix_agentd.exe --config <arquivo_de_configuração_da_instância_1> --uninstall --multiple-agents
  zabbix_agentd.exe --config <arquivo_de_configuração_da_instância_2> --uninstall --multiple-agents
  ...
  zabbix_agentd.exe --config <arquivo_de_configuração_da_instância_N> --uninstall --multiple-agents

Limitações

O agent Zabbix para Windows não oferece suporte a configurações não padrão do Windows, onde as CPUs são distribuídas de forma não uniforme entre os nós NUMA. Se as CPUs lógicas forem distribuídas de forma não uniforme, as métricas de desempenho da CPU podem não estar disponíveis para algumas CPUs. Por exemplo, se houver 72 CPUs lógicas com 2 nós NUMA, ambos os nós devem ter 36 CPUs cada.