Zabbix / Linux Agent Active - Pas de donnée remontée

Bonjour,

Je continue, avec difficulté, ma découverte de Zabbix. Mon premier host, sur le réseau local du serveur, est configuré avec le template « Linux by Zabbix agent active »

Dans la config de mon client j’ai bien indiquée l’IP de mon serveur, à savoir :
Server=192.168.1.189/24
ServerActive=192.168.1.189:10051

Je ne vois aucune erreur dans mes logs, serveur et agent.

Cependant aucun donnée ne remonte.

Etat

Merci d’avance pour tout éclairage.

Pour commencer je t’invite à mettre une configuration ultra minimale sur ton agent et ensuite à ajouter des options (à l’installation de le fichier est long comme ma b… :D, je le remplace par ce bloc pour me simplifier la vie et y ajoute tous ce que j’ai besoin, c’est bien plus lisible ^^ ):

AllowKey=system.run[*]
ControlSocket=/run/zabbix/zabbix_agent2.sock
Hostname=XXXXXXXXXXXXX
Include=/etc/zabbix/zabbix_agent2.d/plugins.d/
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0                                                                                                                                                                             
PidFile=/var/run/zabbix/zabbix_agent2.pid
Server=192.168.1.189
ServerActive=192.168.1.189
Timeout=10

Tu pourras remarquer qu’il y a un bloc include (en réalité il y en a autant que tu veux) pour ajouter le(s) dossier(s) où stocker tes user parameter

Côté interface web lorsque tu rempli la configuration de l’hôte assure toi surtout que le hostname soit identique (idem quand tu commencera à jouer avec le chiffrement TLS ou sur la partie snmp).

Regarde du côté ensuite des logs pour comparer avec le serveur et l’agent, tu peux aussi utiliser les commandes zabbix send et get côté age,t et serveur.

depuis le serveur :

zabbix_get -s <host> -p <port:10050> -k <key>

Depuis l’hôte :

zabbix_agent2 -t <key>

https://www.zabbix.com/documentation/current/en/manpages/zabbix_agent2

1 J'aime

Merci bien @Clochette

Par contre je vois que tu utilises Agent2, j’ai vu que c’était « plus performant » mais j’ai commencé mes essais avec Agent qui est toujours installé en base et utilisé, en mode passif, par le serveur.

Pour info zabbix_get fonctionne.

Je poursuis mes tests avec tes conseils.

Oui il vaut mieux utiliser l’agent2 désormais pour zabbix, c’est le plus efficace.

Je continue à être perdu.

Mon test avec l’agent standard et un fichier de conf minimal n’est pas plus concluant.

Je viens d’installer l’agent2 sur mon client (lxc zimbra sous ubuntu20) mais je ne trouve pas de template « Linux by Zabbix agent 2 » dans mes templates et quand je regarde la liste officille , il n’est pas présent …

Oublie le 2 c’set juste pour dire que c’est la deuxième version de l’agent (plus récent avec la partie send et get intégrer).

Les templates ne change pas je te rassure.

Attention les test actifs ne peuvent pas être testé avec un zabbix_get, c’est la particuliarité de ce type de test.

1 J'aime

Enfin un résultat logique*, cela ne fonctionne pas mieux avec Agent2

*en ce sens où je n’ai nulle part vu qu’Agent(1) ne fonctionnait pas / plus.

Sauf autre idée, je vais laisser passer un peu de temps et reprendrai les essais sur un autre lxc en installant Zabbbix sans Proxmox Helper.

A toute fin utile je partage ci-dessous les logs après avoir redémarré le serveur le client.

Logs serveur
198499:20241127:163450.362 Starting Zabbix Server. Zabbix 7.0.6 (revision c1d7a081969).
198499:20241127:163450.362 ****** Enabled features ******
198499:20241127:163450.362 SNMP monitoring: YES
198499:20241127:163450.362 IPMI monitoring: YES
198499:20241127:163450.362 Web monitoring: YES
198499:20241127:163450.362 VMware monitoring: YES
198499:20241127:163450.362 SMTP authentication: YES
198499:20241127:163450.362 ODBC: YES
198499:20241127:163450.362 SSH support: YES
198499:20241127:163450.362 IPv6 support: YES
198499:20241127:163450.362 TLS support: YES
198499:20241127:163450.362 ******************************
198499:20241127:163450.362 using configuration file: /etc/zabbix/zabbix_server.conf
198499:20241127:163450.376 current database version (mandatory/optional): 07000000/07000015
198499:20241127:163450.376 required mandatory version: 07000000
198501:20241127:163450.381 starting HA manager
198501:20241127:163450.390 HA manager started in active mode
198499:20241127:163450.390 server #0 started [main process]
198503:20241127:163450.391 server #1 started [service manager #1]
198504:20241127:163450.391 server #2 started [configuration syncer #1]
198510:20241127:163450.521 server #5 started [alerter #2]
198513:20241127:163450.522 server #8 started [lld manager #1]
198514:20241127:163450.522 server #9 started [lld worker #1]
198508:20241127:163450.522 server #3 started [alert manager #1]
198515:20241127:163450.522 server #10 started [lld worker #2]
198509:20241127:163450.523 server #4 started [alerter #1]
198511:20241127:163450.524 server #6 started [alerter #3]
198512:20241127:163450.524 server #7 started [preprocessing manager #1]
198516:20241127:163450.525 server #11 started [housekeeper #1]
198518:20241127:163450.525 server #12 started [timer #1]
198520:20241127:163450.526 server #13 started [http poller #1]
198522:20241127:163450.526 server #14 started [browser poller #1]
198512:20241127:163450.526 [1] thread started [preprocessing worker #1]
198512:20241127:163450.526 [2] thread started [preprocessing worker #2]
198512:20241127:163450.526 [3] thread started [preprocessing worker #3]
198512:20241127:163450.526 [4] thread started [preprocessing worker #4]
198512:20241127:163450.526 [5] thread started [preprocessing worker #5]
198512:20241127:163450.526 [6] thread started [preprocessing worker #6]
198512:20241127:163450.526 [7] thread started [preprocessing worker #7]
198512:20241127:163450.527 [8] thread started [preprocessing worker #8]
198523:20241127:163450.527 server #15 started [discovery manager #1]
198512:20241127:163450.528 [10] thread started [preprocessing worker #10]
198512:20241127:163450.528 [11] thread started [preprocessing worker #11]
198512:20241127:163450.528 [12] thread started [preprocessing worker #12]
198512:20241127:163450.528 [13] thread started [preprocessing worker #13]
198512:20241127:163450.528 [14] thread started [preprocessing worker #14]
198512:20241127:163450.528 [15] thread started [preprocessing worker #15]
198512:20241127:163450.528 [16] thread started [preprocessing worker #16]
198524:20241127:163450.528 server #16 started [history syncer #1]
198529:20241127:163450.528 server #17 started [history syncer #2]
198542:20241127:163450.529 server #18 started [history syncer #3]
198543:20241127:163450.529 server #19 started [history syncer #4]
198544:20241127:163450.530 server #20 started [escalator #1]
198512:20241127:163450.530 [9] thread started [preprocessing worker #9]
198553:20241127:163450.537 server #21 started [proxy poller #1]
198559:20241127:163450.539 server #26 started [poller #3]
198561:20241127:163450.540 server #27 started [poller #4]
198555:20241127:163450.541 server #22 started [self-monitoring #1]
198556:20241127:163450.542 server #23 started [task manager #1]
198557:20241127:163450.542 server #24 started [poller #1]
198558:20241127:163450.543 server #25 started [poller #2]
198523:20241127:163450.546 thread started [discovery worker #1]
198523:20241127:163450.546 thread started [discovery worker #2]
198523:20241127:163450.546 thread started [discovery worker #3]
198523:20241127:163450.546 thread started [discovery worker #4]
198523:20241127:163450.546 thread started [discovery worker #5]
198568:20241127:163450.552 server #28 started [poller #5]
198576:20241127:163450.555 server #36 started [alert syncer #1]
198587:20241127:163450.557 server #46 started [agent poller #1]
198574:20241127:163450.558 server #34 started [trapper #5]
198570:20241127:163450.560 server #30 started [trapper #1]
198571:20241127:163450.561 server #31 started [trapper #2]
198572:20241127:163450.561 server #32 started [trapper #3]
198578:20241127:163450.562 server #38 started [history poller #2]
198584:20241127:163450.563 server #44 started [odbc poller #1]
198573:20241127:163450.563 server #33 started [trapper #4]
198579:20241127:163450.564 server #39 started [history poller #3]
198585:20241127:163450.565 server #45 started [http agent poller #1]
198580:20241127:163450.566 server #40 started [history poller #4]
198585:20241127:163450.567 thread started
198569:20241127:163450.568 server #29 started [unreachable poller #1]
198581:20241127:163450.568 server #41 started [history poller #5]
198575:20241127:163450.569 server #35 started [icmp pinger #1]
198582:20241127:163450.569 server #42 started [availability manager #1]
198583:20241127:163450.569 server #43 started [trigger housekeeper #1]
198577:20241127:163450.570 server #37 started [history poller #1]
198588:20241127:163450.571 server #47 started [snmp poller #1]
198589:20241127:163450.571 server #48 started [configuration syncer worker #1]
198588:20241127:163450.571 thread started
198590:20241127:163450.571 server #49 started [internal poller #1]
198591:20241127:163450.572 server #50 started [proxy group manager #1]
198587:20241127:163450.572 thread started
198559:20241127:163455.545 forced reloading of the snmp cache on [poller #3]
198561:20241127:163455.545 forced reloading of the snmp cache on [poller #4]
198557:20241127:163455.547 forced reloading of the snmp cache on [poller #1]
198558:20241127:163455.548 forced reloading of the snmp cache on [poller #2]
198568:20241127:163455.557 forced reloading of the snmp cache on [poller #5]
198569:20241127:163455.573 forced reloading of the snmp cache on [unreachable poller #1]

Logs agent
2024/11/27 15:35:11.432725 Starting Zabbix Agent 2 (7.0.6)
2024/11/27 15:35:11.434545 OpenSSL library (OpenSSL 1.1.1f 31 Mar 2020) initialized
2024/11/27 15:35:11.434690 using configuration file: /etc/zabbix/zabbix_agent2.conf
2024/11/27 15:35:11.434859 using plugin ‹ Agent › (built-in) providing following interfaces: exporter
2024/11/27 15:35:11.434930 using plugin ‹ Ceph › (built-in) providing following interfaces: exporter, runner, configurator
2024/11/27 15:35:11.434958 using plugin ‹ Cpu › (built-in) providing following interfaces: exporter, collector, runner
2024/11/27 15:35:11.434991 using plugin ‹ DNS › (built-in) providing following interfaces: exporter
2024/11/27 15:35:11.435023 using plugin ‹ Docker › (built-in) providing following interfaces: exporter, configurator
2024/11/27 15:3Log serveur5:11.435071 using plugin ‹ EmberPlus › (/usr/sbin/zabbix-agent2-plugin/zabbix-agent2-plugin-ember-plus) providing following interfaces: exporter, runner, configurator
2024/11/27 15:35:11.435093 using plugin ‹ File › (built-in) providing following interfaces: exporter, configurator
2024/11/27 15:35:11.435113 using plugin ‹ Hw › (built-in) providing following interfaces: exporter, configurator
2024/11/27 15:35:11.435131 using plugin ‹ Kernel › (built-in) providing following interfaces: exporter
2024/11/27 15:35:11.435149 using plugin ‹ Log › (built-in) providing following interfaces: exporter, configurator
2024/11/27 15:35:11.435164 using plugin ‹ MQTT › (built-in) providing following interfaces: watcher, configurator
2024/11/27 15:35:11.435199 using plugin ‹ MSSQL › (/usr/sbin/zabbix-agent2-plugin/zabbix-agent2-plugin-mssql) providing following interfaces: exporter, runner, configurator
2024/11/27 15:35:11.435231 using plugin ‹ Memcached › (built-in) providing following interfaces: exporter, runner, configurator
2024/11/27 15:35:11.435250 using plugin ‹ Memory › (built-in) providing following interfaces: exporter
2024/11/27 15:35:11.435267 using plugin ‹ Modbus › (built-in) providing following interfaces: exporter, configurator
2024/11/27 15:35:11.435285 using plugin ‹ MongoDB › (/usr/sbin/zabbix-agent2-plugin/zabbix-agent2-plugin-mongodb) providing following interfaces: exporter, runner, configurator
2024/11/27 15:35:11.435305 using plugin ‹ Mysql › (built-in) providing following interfaces: exporter, runner, configurator
2024/11/27 15:35:11.435323 using plugin ‹ NetIf › (built-in) providing following interfaces: exporter
2024/11/27 15:35:11.435341 using plugin ‹ Oracle › (built-in) providing following interfaces: exporter, runner, configurator
2024/11/27 15:35:11.435391 using plugin ‹ PostgreSQL › (/usr/sbin/zabbix-agent2-plugin/zabbix-agent2-plugin-postgresql) providing following interfaces: exporter, runner, configurator
2024/11/27 15:35:11.435415 using plugin ‹ Proc › (built-in) providing following interfaces: exporter, collector
2024/11/27 15:35:11.435433 using plugin ‹ ProcExporter › (built-in) providing following interfaces: exporter
2024/11/27 15:35:11.435451 using plugin ‹ Redis › (built-in) providing following interfaces: exporter, runner, configurator
2024/11/27 15:35:11.435469 using plugin ‹ Smart › (built-in) providing following interfaces: exporter, configurator
2024/11/27 15:35:11.435487 using plugin ‹ Sw › (built-in) providing following interfaces: exporter, configurator
2024/11/27 15:35:11.435509 using plugin ‹ Swap › (built-in) providing following interfaces: exporter
2024/11/27 15:35:11.435527 using plugin ‹ SystemRun › (built-in) providing following interfaces: exporter, configurator
2024/11/27 15:35:11.435545 using plugin ‹ Systemd › (built-in) providing following interfaces: exporter
2024/11/27 15:35:11.435563 using plugin ‹ TCP › (built-in) providing following interfaces: exporter, configurator
2024/11/27 15:35:11.435581 using plugin ‹ UDP › (built-in) providing following interfaces: exporter, configurator
2024/11/27 15:35:11.435598 using plugin ‹ Uname › (built-in) providing following interfaces: exporter
2024/11/27 15:35:11.435615 using plugin ‹ Uptime › (built-in) providing following interfaces: exporter
2024/11/27 15:35:11.435632 using plugin ‹ Users › (built-in) providing following interfaces: exporter, configurator
2024/11/27 15:35:11.435669 using plugin ‹ VFSDev › (built-in) providing following interfaces: exporter, collector
2024/11/27 15:35:11.435687 using plugin ‹ VFSDir › (built-in) providing following interfaces: exporter
2024/11/27 15:35:11.435705 using plugin ‹ VfsFs › (built-in) providing following interfaces: exporter
2024/11/27 15:35:11.435723 using plugin ‹ WebCertificate › (built-in) providing following interfaces: exporter, configurator
2024/11/27 15:35:11.435739 using plugin ‹ WebPage › (built-in) providing following interfaces: exporter, configurator
2024/11/27 15:35:11.435756 using plugin ‹ ZabbixAsync › (built-in) providing following interfaces: exporter
2024/11/27 15:35:11.435785 using plugin ‹ ZabbixStats › (built-in) providing following interfaces: exporter, configurator
2024/11/27 15:35:11.435800 lowering the plugin ZabbixSync capacity to 1 as the configured capacity 1000 exceeds limits
2024/11/27 15:35:11.435817 using plugin ‹ ZabbixSync › (built-in) providing following interfaces: exporter
2024/11/27 15:35:11.435958 Plugin communication protocol version is 6.4.0
2024/11/27 15:35:11.435998 Zabbix Agent2 hostname: [Zabbix server]

Salut,

deux petites remarques:

  • sur ton screenshot, l’interface sur laquelle Zabbix doit contacter l’agent installé sur Zimbra est 192.168.1.206:10051. Or, le port d’écoute par défaut de l’agent est le 10050, donc à moins que tu n’aies explicitement défini le port 10051 dans le fichier de conf de l’agent sur l’hôte Zimbra (ce qui serait pas terrible comme idée vu que c’est le port d’écoute par défaut de zabbix-server), modifie la définition de l’hôte dans Zabbix.
  • 2024/11/27 15:35:11.435998 Zabbix Agent2 hostname: [Zabbix server] => je pense que tu as omis de renseigner le paramètre Hostname= dans le fichier de conf de l’agent. Il faut que ce paramètre soit défini avec la même valeur dans le fichier de conf de l’agent, et dans la définition de l’hôte côté serveur, sinon l’agent et le serveur ne savent pas qu’ils « parlent du même hôte »

PS:

Oui l’agent 1 fonctionne encore très bien, mais l’agent 2 offrirait de meilleures performances, et surtout permet plus de choses, comme la supervision des unités systemd par exemple

1 J'aime

Merci @Sputnik93 pour ta réponse.

Tout est grandement utile dans mon cas

J’ai mis 10050 et redémarrer les services, pas de changement.
Ceci dit je ne comprends pas puisque qu’en utilisant une interface active le serveur n’a pas besoin/ne peut pas contacter l’agent.

J’ai « Zabbix server » dans le fichier de conf de l’agent et « Zabbix server » dans le nom Zabbix du server.
Ceci dit « Zabbix server » n’est pas le hostname de ma machine, qui est « zabbix ». J’ai déjà fait, sans succés, un essai avec tous ces noms à « zabbix » … mais comme port pour l’interface 10051 …

Le port d’écourte de l’agent c’est 10050 par défaut, le hostname doit être conforme comme dit plus haut sur le fichier de conf de l’agent ET sur la page de l’hôte.

Question sans doute idiote mais le serveur Zabbix est-il capable d’initié une connexion ssh (initié, pas besoin de complété la connexion) il faut se méfie des container LXC et du ping, cela peu être la machine hôte qui répond ?

Dans le fichier de configuration comme dit plus haut on se fie à l’ip (sans ports ou autre) pour atteindre le serveur.

Attention ce n’est pas l’interface mais les items qui sont en actif ou en passif, l’interface c’est le mode de communication et son adresse (dit vulgairement).
Donc oui un item actif n’est pas interrogeable par le serveur, c’est une information transmise par l’agent.

Tu as mis un agent pour l’instant assure toi de la bonne communication de ce dernier avec le serveur, une item passive comme agent.ping devrait te permettre de pouvoir bien vérifier le bon fonctionnement.

Donc pour résumer sur l’hôte on vérifie que le port 10051 soit en écoute et sur l’agent le port 10050, on s’assure de la concordance de hostname entre l’agent et la page de de la machine à monitorer, ainsi que son ip.

Pour savoir ton serveur zabbis tu l’as installé où et comment du coup ?

1 J'aime

Dans un proxmox, dans un lxc créé par Proxmox Helper

Le client (agent) est dans un autre lxc, dans un autre serveur sur le même réseau local.

Pas possible directement car existe déjà en mode actif, je verrai comment faire plus tard.

Les autres points sont a priori Ok.

Pour l’instant j’ai augmenté le niveau de log de 3 à 4.

Sur le client je vois toutes les 5s
2024/11/27 22:12:31.000787 [101] In refreshActiveChecks() from 192.168.1.189:10051
2024/11/27 22:12:31.002930 [101] End of refreshActiveChecks() from 192.168.1.189:10051

Sur le serveur il y a beaucoup de lignes, en filtrant active, j’ai récupéré
211772:20241127:231711.002 trapper got ‹ {« request »:« active checks »,« host »:« Zabbix server »,« version »:« 7.0.6 »,« variant »:2,« session »:« b493eec17fa45eb73237a4a32cabc629 »,« config_revision »:1} ›
211772:20241127:231711.002 In send_list_of_active_checks_json()
211772:20241127:231711.002 send_list_of_active_checks_json() sending [{« response »:« success »}]
211772:20241127:231711.002 End of send_list_of_active_checks_json():SUCCEED
211707:20241127:231713.367 In ha_check_nodes() ha_status:active db_status:0
211707:20241127:231713.369 End of ha_check_nodes() nodeid:cm3t6f90e0001h6iyjizwwlaa ha_status:active db_status:0

Je ne sais pas interpréter ces infos … ma prochajne étape tcpdump?

Problème résolu.

Ma config était correcte, en particulier mon host :
Hote

Par contre quand j’ai cliqué sur le modèle le champs « Modèles » étaiit vide, tout est devenu Ok quand je saisie le modèle concerné tq l’image ci-dessous
Modèle

J’imagine que ce n’est pas un comportement normal mais il est trop tôt pour conclure quant à un bug? une installation erronée? une erreur de ma part? …?

Et je trouve bizarre qu’on puisse changer le modèle d’un modèle !?

Merci à tous pour votre aide.

PS : j’installe Zabbix suite à la panne de mon serveur distant qui héberge mon serveur Rudder, panne que je ne pourrai résoudre que fin d’année. Ce serveur Rudder, en place depuis ~10ans, me sert à tout, configuration et surveillance. A court terme j’attends de Zabbix un suivi que je n’ai plus, je verrai à l’usage si l’archivage d’information qu’il va m’apporter m’est utile.

1 J'aime

Bien que d’une prise en main parfois difficile, Zabbix est assez riche. J’utilise beaucoup le système de la Map pour avoir un visuel rapide de la situation

1 J'aime

Je vais découvrir.

Rudder et Zabbix sont complémentaire (un plugin Zabbix existe dans Rudder) que je perçois comme cela aujourd’hui

Rudder Zabbix
Configuration +++ ?
Surveillance + +++
Audit +++ ?
Archivage 0 +++
Modèles (Templates) 0 +
Ressources consommées + -
  • « + Avanatge »
  • « - Inconvénient »

J’apprécie les modèles (Templates) pré-existants.

Zabbix est un outil de monitoring, son rôle est de surveiller des points de contrôles.
Il a une capacité d’archivage des métriques (les valeurs dans le temps de ces points de contrôles).
S’il y a un plugin dans Rudder c’est pour permettre la gestion des fichiers de configuration de Zabbix. C’est plus une fonctionnalité de Rudder qu’une complémentarité avec Zabbix.
L’ordonnancement peut ainsi désactiver un point de contrôle suite à une action d’automatisation (par exemple, si une machine est arrêter par Rudder il faut pou voir arrêter aussi la supervision de cette machines car sinon cela générera des alertes).
Ça permet de faire des Downtime, ou en français une plage de maintenance dans la supervision.

Dans Zabbix, le système de template est très pratique :slight_smile:
Une fois compris le principe on peut en créer soit même. IL faut cependant faire attention à ne pas créer un template qui recoupe trop un autre sinon il y a une erreur dans la configuration qui en découle.