Zabbix : Autoregistration d’agents

Zabbix : Autoregistration d’agents

Autoregistration d’agents zabbix (Windows/GNU-Linux)

Aujourd’hui nous allons voir comment réaliser de l’autoregistration avec la solution de monitoring Zabbix !

En effet, en le réalisant moi-même je me suis un peu tiré les cheveux… et au vu des nombreux posts sur différents forums, je me suis dit que je n’étais pas le seul. Bon, il faut dire que la documentation officielle est parfois… « brumeuse » si j’ose dire ?

Le lab (comme à l’époque)

On ne change pas une équipe qui gagne sauf pour saboter cette dernière, donc allons-y :

  • srv-zabbix-01, en 192.168.0.100/24 ;
  • windows11, en DHCP ;
  • ubuntu, en DHCP ;

L’autoregistration, c’est quoi au juste ?

Sur Zabbix vous avez trois façons de rajouter une asset :

  • La rajouter manuellement, via la WebUI ;
  • La rajouter via le discovery, qui est donc de la découverte réseau, via ICMP, SNMP, FTP… ;
  • La rajouter via l’autoregistration, uniquement pour agent Zabbix, avec authentification nulle ou par PSK ;

Mais en entreprise, un cas de figure très commun est de déployer par défaut l’agent Zabbix sur nos différentes assets, avec une PSK déjà pré-installée. De cette manière, une fois connectée au réseau notre asset va directement rejoindre le monitoring, et mieux encore: on va pouvoir l’incorporer dans un groupe, linker des templates, ajuster son inventaire, etc 🧙🏻

Et pour les autres assets, comme des équipements réseaux, imprimantes, ou que sais-je, on utilisera la découverte réseau.

Côté serveur

On se rend en premier lieu sur Administration puis General, et enfin Autoregistration. Ici, on va choisir la méthode de chiffrement (et non pas de « cryptage »…) via PSK, pour pre-shared key (clé pré-partagée) :

Les PSKs correspondent à des chaînes de 32 caractères en hexadécimal, ça fait p’tet peur dit comme ça mais un simple openssl rand -hex 32 et le tour est joué !

Bien, on valide le tout en notant bien précieusement le nom de la clé ainsi que son contenu.

Direction maintenant Configuration puis Actions, et enfin Create action en haut à droite :

Ici on va commencer par nos assets Linux, le plus facile.

On choisi comme condition la suivante: If type Host metadata matches « Linux », j’y reviendrai plus bas, mais pour faire simple ici l’asset va contacter notre serveur en remontant des informations spécifiques qui sont fournies via ce paramètre HostMetadata, et ensuite, on va pouvoir réaliser plusieurs opérations qui sont :

  • Le supprimer du groupe Discovered Hosts, pas obligatoire mais en faisant certains tests certaines assets tombaient dans ce groupe by default ;
  • Lier un template de base ;
  • Passeur leur inventaire en automatique ;

Libre à vous d’adapter, on peut par exemple rajouter le fait d’envoyer une notification, le rajouter à un groupe spécifique, ‘ce genre de choses…

Une fois que c’est fait, on peut passer côté Ubuntu !

Côté asset GNU/Linux

Ici j’ai donc choisi une Ubuntu des plus classiques, on installe l’agent via un apt update && apt install zabbix-agent -y et on peut s’atteler à la config :

Rien de très compliqué ici, on peut même repartir de la config de base. En gros :

  • On spécifie le LogFileSize à 10, car par défaut, pas de Log Rotate… inutile ici mais pour vos futurs déploiements croyez-moi c’est une bonne chose de l’activer ;
  • Server, ServerActive, le classique ;
  • TLSConnect, TLSAccept, TLSPSKIdentity, on choisi PSK puis on renseigne le nom de la clé généré plus haut côté serveur ;
  • TLSPSKFile, on renseigne un fichier où se trouve notre PSK, ici j’ai simplement créer un fichier key_zabbix ;
  • HostMetadata, on renseigne « Linux ». Et oui, rappelez-vous plus haut, c’est ici que l’on va fournir des informations spécifiques pour l’autoregistration ;

Une fois que c’est fait, un petit service zabbix-agent restart et on est bon !

En lieu et place de « Linux » comme metadata, on aurait très bien pu mettre « VM », ou encore « SRV-PROD », bref peut importe, cela nous sert simplement à classer nos assets.

Passons côté Window$ !

Côté asset Windows

Tout d’abord on créer une règle identique à celle pour GNU/Linux :

A la différence près est que la metadata sera « Windows ».

A noter d’ailleurs qu’il serait possible de « chain » les metadatas, dans le sens où nous pourrions très bien mettre quelque chose comme « windows, vm, prod, staging, paris« … mais je n’ai pas encore testé à l’heure où j’écris ces lignes.

Enfin soit, on télécharger le MSI pour l’agent, on ouvre une invite CMD en tant qu’Admin, et la magie peut commencer :

msiexec /i zabbix_agent-6.0.24-windows-amd64-openssl.msi /qn^ SERVER=192.168.0.100^ SERVERACTIVE=192.168.0.100^ TLSCONNECT=psk^ TLSACCEPT=psk^ TLSPSKIDENTITY=key_monitoring^ TLSPSKVALUE=cd18e3ba4f7c78e44af0ef50b844468b9b50ab62c81e75ad6ceeb87e84b5ae35^ HOSTMETADATA=Windows

Tadaaaaa, it works !

Conclusion~

Rien de très compliqué une fois qu’on a trouvé la solution, comme toujours… mais cette histoire d’HostMetadata n’est pas très claire au niveau de la doc/des différents forums. Enfin bref, j’espère vous avoir aidé dans votre noble de quête de monitorer votre parc informatique, et je n’ai plus qu’à vous souhaiter une bonne journée/soirée ! 🫡

Laisser un commentaire