Zabbix-agent inacessível

3

Um dos servidores monitorados pelo Zabbix não está acessível. Eu não tenho idéia porque isso funciona normalmente com outros servidores.

  • O serviço zabbix-agent no servidor monitorado está em execução.
  • Temos vários servidores, todos monitorados pelo zabbix. Em /etc/zabbix/zabbix_agentd.conf não vejo diferença entre este servidor problemático e outro que funciona normalmente.
  • Tanto o servidor zabbix quanto o servidor monitorado (agente-servidor) são hospedados pela Amazon.
  • Todos os servidores monitorados do zabbix são vinculados a um grupo de segurança com duas regras de entrada para a porta 10050 e 10051 para o IP do zabbix-server. Portanto, solicitações de entrada do zabbix-server para os zabbix-agents nesses servidores devem ser permitidas. Eles trabalham em vários servidores, mas não neste.
  • O zabbix-server tem um grupo de segurança diferente e não há regras definidas para as portas 10050 e 10051, portanto elas devem ser bloqueadas. Iptables não retorna regras.
  • Eu posso abrir uma sessão de telnet do servidor zabbix para o agente. Ele se desconecta automaticamente, mas se conecta. Então eu acho que o firewall não é o problema.
  • Servidor: Amazon Linux (como Centos)
  • Arquivo instalado: http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
  • O SELinux está desativado em todos esses agentes e no servidor.

Log do agente após a reinicialização do serviço do zabbix-agent

 10939:20151127:093938.268 Starting Zabbix Agent [agent-server.test]. Zabbix 2.2.11 (revision 56693).
 10939:20151127:093938.268 using configuration file: /etc/zabbix/zabbix_agentd.conf
 10942:20151127:093938.269 agent #1 started [listener #1]
 10945:20151127:093938.269 agent #4 started [active checks #1]
 10941:20151127:093938.270 agent #0 started [collector]
 10944:20151127:093938.270 agent #3 started [listener #3]
 10943:20151127:093938.271 agent #2 started [listener #2]
 10945:20151127:141742.930 active check configuration update from [zabbix-server-ip:10051] started to fail 
 (cannot connect to [[zabbix-server-ip]:10051]: [4] Interrupted system call)

Quando faço telnet para o servidor-agente, insira agent.version , ele retorna: ZBXD2.2.11

Conteúdo de /etc/zabbix/zabbix_server.conf (servidor):

ListenPort=10051
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBName=zabbix
DBUser=zabbix
DBPassword=******
DBSocket=/var/lib/mysql/mysql.sock
SNMPTrapperFile=/var/log/snmptt/snmptt.log
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts

Conteúdo de /etc/zabbix/zabbix_agentd.conf (agente)

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
EnableRemoteCommands=1
Server=zabbix-server-ip
ListenPort=10050
StartAgents=3
# ServerActive=zabbix-server-ip # commented out
Hostname=server.test
Timeout=3
AllowRoot=1
Include=/etc/zabbix/zabbix_agentd.d/

Netstat no servidor zabbix

$ sudo netstat -lpn | grep zabbix
tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      7624/zabbix_server  
tcp        0      0 :::10051                    :::*                        LISTEN      7624/zabbix_server

Netstat no agente problemático

$ sudo netstat -lpn | grep zabbix
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      3248/zabbix_agentd  
tcp        0      0 :::10050                    :::*                        LISTEN      3248/zabbix_agentd 

Netstat no agente de trabalho

$ sudo netstat -lpn | grep zabbix
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      24242/zabbix_agentd 
tcp        0      0 :::10050                    :::*                        LISTEN      24242/zabbix_agentd

Agente ativo vs passivo

  • Eu abri a porta 10051 no servidor para o IP do agente problemático.
  • O Telnet mostra que funciona, de agente para servidor.
  • Eu ativei a opção ActiveServer com o valor zabbix-server-ip como valor. A mensagem de erro desapareceu no log depois de reiniciar o agente.
  • O problema ainda está lá ...

Próxima tentativa:

  • Eu fiz o mesmo para um agente de trabalho, posso fazer telnet de agente para servidor.
  • ActiveServer é definido com o zabbix-server-ip, o agente é reiniciado
  • StartAgents está definido como 0, para forçar a utilização do agente ativo.
  • O Zabbix informa que este servidor está inacessível ...
  • Depois, restaurei a passiva.

Em suma, o modo ativo pode ter sido definido na configuração do agente em vários servidores, nunca funcionou. Todos os relatórios são de agentes passivos.

Interfaces de agente

  • Abertura via Monitoramento > Últimos dados, selecionando host = all, clico no nome do servidor e escolho Inventory do Host
  • O agente de trabalho exibe seu próprio endereço IP.
  • O agente problemático exibe o zabbix-server-ip.

Eu não sei porque isso acontece, mas parece estranho.

O que pode causar esse problema de conexão? Como posso reconectar o servidor com o agente?

Solução

Acontece que o endereço IP definido na configuração do host (através da interface web) era o do próprio zabbix-server. Este deve ser o endereço do agente-servidor.

    
por SPRBRN 27.11.2015 / 15:43

3 respostas

0

Acontece que o endereço IP definido na configuração do host (através da interface web) era o do próprio zabbix-server. Este deve ser o endereço do agente-servidor.

    
por 01.12.2015 / 15:34
1

Que tal a configuração atual do SELinux e iptables na caixa do agente? Você pode do agente telnet para o servidor pela porta 10051?

Você pode tentar verificar a conectividade entre caixas usando o tcpdump no agente: tcpdump -i your_interface tcp port 10050 . Usando isso, você pode ver os pacotes de entrada / saída.

    
por 30.11.2015 / 16:08
1

Eu acho que você precisa entender o modo ativo e passivo de conexão do zabbix para resolver o problema. Aqui de documentação do zabbix :

Passive and active checks

Zabbix agents can perform passive and active checks.

In a passive check the agent responds to a data request. Zabbix server (or proxy) asks for data, for example, CPU load, and Zabbix agent sends back the result.

Active checks require more complex processing. The agent must first retrieve a list of items from Zabbix server for independent processing. Then it will periodically send new values to the server.

Agora, o modo ativo para funcionar, você precisa ter a porta 10051 aberta no servidor Zabbix, para que os agentes dos clientes possam se conectar a ela. Do erro que você está recebendo, este é o problema:

10945:20151127:141742.930 active check configuration update from [zabbix-server-ip:10051] started to fail (cannot connect to [[zabbix-server-ip]:10051]: [4] Interrupted system call)

Os testes que você fez são sobre a conexão do servidor Zabbix para o cliente e parece funcionar sem nenhum problema. Mas isso não é suficiente para o modo ativo funcionar. A conexão do agente cliente para o servidor na porta 10051 não está funcionando no seu caso e você precisa se concentrar nisso.

As informações que você forneceu são enganosas:

The zabbix-server has a different security group, and no rules set for ports 10050 and 10051, so they should be blocked. Iptables returns no rules.

O acima sobre a porta não pode ser verdade, como você está usando o modo ativo. O servidor deve ter a porta 10051 aberta para os clientes se conectarem ou você deve usar o modo passivo.

Portanto, verifique as regras de firewall necessárias entre elas e certifique-se de que o cliente / agente possa alcançar o servidor nessa porta. Tenho certeza de que o outro agente (no outro servidor em funcionamento) pode acessar o servidor Zabbix na porta 10051.

    
por 30.11.2015 / 16:48