La dernière version de Zabbix est la 5.2 à l'heure où j'écris ces lignes, mais les dépôts de Debian 10 ne disposent pas des paquets pour la version 5.
Nous allons donc voir comment installer et configurer l'agent zabbix depuis les dépôts officiels de Zabbix.
Installation du dépôt
On commence par récupérer le paquet permettant la configuration du dépôt
wget https://repo.zabbix.com/zabbix/5.2/debian/pool/main/z/zabbix-release/zabbix-release_5.2-1+debian10_all.deb
Puis on installe le dépôt
sudo dpkg -i zabbix-release_5.2-1+debian10_all.deb
Installation de zabbix-agent
Il faut ensuite mettre à jour la liste des paquets
sudo apt update
Pouis nous pouvons lancer la commande d'installation proprement dite
sudo apt install zabbix-agent
Configuration de zabbix-agent
Les fichiers de configuration de zabbix-agent se trouvent dans /etc.
cd /etc/zabbix
Comme pour la plupart des daemons depuis l'avènement de systemd, nous allons trouver un fichier de configuration par défaut et un dossier dans lequel placer les configurations personnalisées.
Je ne vais pas détailler le contenu du fichier de configuration par défaut, mais nous allons créer ensemble une configuration relativement standard utilisant une connexion sécurisée avec le serveur Zabbix.
Création d'une clé PSK
A l'aide de la commande openssl, nous allons créer une chaîne aléatoire de 32 caractères hexadécimaux :
sudo bash -c 'openssl rand -hex 32 > zabbix_agentd.d/zabbix-agent.psk'
Le contenu du fichier résultant resemblera à ce qui suit :
de74b8cfa6ae42ead72993115f7896905fa5df849bc308e2bb31ffdfae0b6ac2
Création du fichier de configuration
Nous allons créer un fichier 10-zabbix-agent.conf dans le dossier zabbix_agentd.d dont voici le contenu :
sudo vim /etc/zabbix/zabbix_agentd.d/10-zabbix-agent.conf
Server=<ip-du-serveur-zabbix>
ServerActive=<ip-du-serveur-zabbix>
Hostname=<nom-de-machine>
User=zabbix
TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=<identite-psk>
TLSPSKFile=/etc/zabbix/zabbix_agentd.d/zabbix-agent.psk
Le <nom-de-machine> sera le nom d'hôte que vous allez créer ensuite sur le serveur Zabbix. Ils doivent absolument être identiques, faute de quoi Zabbix sera incapable de communiquer avec lui.
<identite-psk> est une chaine de caractères que vous aurez choisi pour identifier votre machine lors de l'échange de clés psk. La encore, vous devrez être cohérent avec ce que vous déclarez dnas le formulaire de création d'hôte sur le serveur Zabbix.
Configuration du firewall
Si votre serveur est équipé d'un firewall, comme il se doit, vous devez le configurer pour qu'il accepte les connexions sur le port 10050 en tcp. Nous supposons dans cet exemple que le firewall est Uncompicated Firewall.
sudo ufw allow 10050/tcp
sudo ufw reload
On relance l'agent Zabbix
Pour que la configuration de l'agent Zabbix soit prise en compte, il nous faut relancer le service.
sudo systemctl restart zabbix-agent
On contrôle ensuite que le service fonctionne correctement.
sudo systemctl status zabbix-agent
Si tout va bien, vous devriez avoir une sortie identique à celle-ci :
● zabbix-agent.service - Zabbix Agent
Loaded: loaded (/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-03-31 18:22:45 CEST; 2s ago
Process: 1820 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS)
Main PID: 1822 (zabbix_agentd)
Tasks: 6 (limit: 4701)
Memory: 4.2M
CGroup: /system.slice/zabbix-agent.service
├─1822 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
├─1823 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
├─1824 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
├─1825 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
├─1826 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
└─1827 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
mars 31 18:22:45 ac-server systemd[1]: Starting Zabbix Agent...
mars 31 18:22:45 ac-server systemd[1]: zabbix-agent.service: Can't open PID file /run/zabbix/zabbix_agentd.pid (yet?) after start: No such file or directory
mars 31 18:22:45 ac-server systemd[1]: Started Zabbix Agent.
Conclusion
Il ne reste plus qu'à configurer l'hôte sur le serveur Zabbix, ce qui fera l'objet d'un autre article.