web-dev-qa-db-fra.com

Zabbix-Agent inaccessible

L'un des serveurs surveillés par Zabbix n'est pas accessible. Je ne sais pas pourquoi cela fonctionne normalement avec d'autres serveurs.

  • Le service Zabbix-Agent sur le serveur surveillé est en cours d'exécution.
  • Nous avons plusieurs serveurs, tous surveillés par Zabbix. Dans /etc/zabbix/zabbix_agentd.conf Je ne vois aucune différence entre ce serveur problématique et une autre qui fonctionne normalement.
  • Le serveur Zabbix et le serveur surveillé (agent-serveur) sont hébergés par Amazon.
  • Tous les serveurs surveillés Zabbix sont liés à un groupe de sécurité avec deux règles entrantes pour le port 10050 et 10051 pour l'adresse IP zabbix-serveur. Donc, les demandes entrantes du serveur Zabbix aux zabbix-agents de ces serveurs devraient être autorisées. Ils travaillent sur plusieurs serveurs, mais pas sur celui-ci.
  • Le Zabbix-Server possède un groupe de sécurité différent et aucune règle définie pour les ports 10050 et 10051, ils doivent donc être bloqués. Iptables ne renvoie aucune règle.
  • Je peux ouvrir une session Telnet à partir du serveur Zabbix à l'agent. Il se déconnecte automatiquement, mais il se connecte. Je suppose donc que le pare-feu n'est pas le problème.
  • Serveur: Amazon Linux (Centos comme)
  • Fichier installé: http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
  • SELINUX est désactivé sur tous ces agents et sur le serveur.

Agent journal après le redémarrage de Zabbix-Agent Service

 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)

Lorsque j'ai Telnet sur le serveur d'agent, entrez agent.version, il retourne: ZBXD2.2.11

Contenu de /etc/zabbix/zabbix_server.conf (serveur):

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

Contenu de /etc/zabbix/zabbix_agentd.conf (agent)

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 sur Zabbix Server

$ 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 sur l'agent problématique

$ 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 sur l'agent de travail

$ 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

Agent VS Passif

  • J'ai ouvert le port 10051 sur le serveur pour l'agent IP de l'agent problématique.
  • Telnet montre que cela fonctionne, de l'agent au serveur.
  • J'ai activé l'option ActiveServer avec la valeur zabbix-serveur-IP en tant que valeur. Le mesage d'erreur est parti dans le journal après le redémarrage de l'agent.
  • Le problème est toujours là...

Ensuite, essayez:

  • J'ai fait la même chose pour un agent de travail, peut-on Telnet de l'agent au serveur.
  • ActiveServer est défini avec le zabbix-Server-IP, l'agent est redémarré
  • StartAgents est défini sur 0, pour forcer à l'aide de l'agent actif.
  • Zabbix indique que ce serveur est inaccessible ...
  • Ensuite, je me suis réinitialisé au passif.

Dans l'ensemble, le mode actif a peut-être été défini dans la configuration de l'agent sur plusieurs serveurs, elle n'a jamais fonctionné. Tous les rapports proviennent d'agents passifs.

Interfaces d'agent

  • Ouverture via la surveillance> Dernières données, sélectionnant Host = Tout, je clique sur le nom du serveur et choisissez l'inventaire hôte
  • L'agent de travail affiche sa propre adresse IP.
  • L'agent problématique affiche le zabbix-Server-IP.

Je ne sais pas pourquoi cela se produit, mais cela semble étrange.

Que peut causer ce problème de connexion? Comment puis-je reconnecter le serveur avec l'agent?

Solution

Il s'avère que l'adresse IP définie dans la configuration hôte (via l'interface Web) était celle du zabbix-serveur lui-même. Cela devrait bien sûr être l'adresse de l'agent-serveur.

3
SPRBRN

Il s'avère que l'adresse IP définie dans la configuration hôte (via l'interface Web) était celle du zabbix-serveur lui-même. Cela devrait bien sûr être l'adresse de l'agent-serveur.

0
SPRBRN

Je pense que vous devez comprendre le mode de connexion actif et passif de Zabbix pour résoudre le problème. Ici de Zabbix Documentation :

Vérifications passives et actives

Les agents Zabbix peuvent effectuer des chèques passives et actifs.

Dans un contrôle passif, l'agent répond à une demande de données. Zabbix Server (ou proxy) demande des données, par exemple, la charge de la CPU et l'agent Zabbix renvoie le résultat.

Les chèques actifs nécessitent un traitement plus complexe. L'agent doit d'abord récupérer une liste d'éléments de Zabbix Server pour un traitement indépendant. Ensuite, cela envoie périodiquement de nouvelles valeurs au serveur.

Maintenant, le mode actif de fonctionnement, vous devez disposer de Port 10051 ouvert sur Zabbix Server, de sorte que les agents des clients puissent se connecter à celui-ci. De l'erreur ce que vous obtenez, c'est le problème:

10945: 20151127: 141742.930 Vérification active Mise à jour de la configuration de [ZABBIX-Server-IP: 10051] a commencé à échouer (Impossible de se connecter à [[[Zabbix-Server-IP]: 10051]: [4] Appel de système interrompu)

Les tests que vous avez faites concernent la connexion du serveur Zabbix au client et semble fonctionner sans problème. Mais ce n'est pas assez pour le mode actif pour fonctionner. La connexion de l'agent client au serveur sur le port 10051 ne fonctionne pas dans votre cas et vous devez vous concentrer sur cela.

Les informations que vous avez fournies sont trompeuses:

Le Zabbix-Server possède un groupe de sécurité différent et aucune règle définie pour les ports 10050 et 10051, ils doivent donc être bloqués. Iptables ne renvoie aucune règle.

Ce qui précède sur le port ne peut pas être vrai, car vous utilisez le mode actif. Le serveur doit avoir le port 10051 ouvert pour que les clients se connectent ou vous devez utiliser le mode passif.

Donc, veuillez vérifier les règles de pare-feu nécessaires entre les deux et assurez-vous que le client/agent peut atteindre le serveur sur ce port. Je suis sûr que l'autre agent (sur l'autre serveur de travail) peut atteindre le serveur Zabbix sur le port 10051.

2
Diamond