Dans mon article D’un Z qui veut dire Zabbix, je procédais à l’installation d’un zabbix avec des vrais morceaux de configure et de make. Avec un peu plus de recul, j’ai rencontré quelques points qui nécessitent des améliorations.
D’abord, j’ai omis l’installation de l’agent zabbix sur le serveur lui-même. Ensuite, j’ai décelé une petite faille de sécurité dans ma mise en place de la base de données MySql. Enfin, pour bien faire, un petit aménagement pour les historiques.
Voici donc un second volet pour parfaire cette installation de zabbix sur Raspbian.
Préparation pour l’agent
Avant d’installer l’agent sur mon raspbian, j’ai procédé à quelques modifications pour éviter les confusions entre le serveur et l’agent.
sudo mv /etc/init.d/zabbix /etc/init.d/zabbix-server
Puis j’ai modifié mes alias dans mon .profile
:
vi ~/.profile
# alias zb="sudo /etc/init.d/zabbix"
alias zba='sudo /etc/init.d/zabbix-agent'
alias zbs='sudo /etc/init.d/zabbix-server'
. ~/.profile
Installation de l’agent zabbix
Simple comme une debian :
sudo apt-get install zabbix-agent
Puis je modifie le fichier de configuration, suivi d’un démarrage :
sudo vi /etc/zabbix/zabbix_agentd.conf
zba start
zba status
Utilisateur mysql dédié
Un des points qui manquait dans ma première explication était la mise en place d’un compte MySql zabbix dédié. Déjà parce que c’est plus propre que d’utiliser le compte root du MySql (j’en rougis encore). En plus, le mot de passe du compte MySql utilisé est précisé en dur dans le fichier de configuration du serveur, je prendrais le soin d’augmenter sa sécurisation.
Pour commencer, je crée le compte MySql zabbix avec tous les droits sur la base zabbix. mot de passe mdpzabbix.
mysql -u root -p <password>
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'
-> IDENTIFIED BY 'mdpzabbix' WITH GRANT OPTION;
Mysql> quit;
Puis je modifie le fichier de configuration avec ce nouvel utilisateur et le mot de passe.
sudo vi /etc/zabbix/zabbix_server.conf
DBUser=zabbix
DBPassword=mdpzabbix
Enfin, je sécurise les accès à ces fichiers de configuration :
sudo chmod 640 /etc/zabbix/za*.conf
Les historiques
En pratiquant un peu, je me suis aperçu que les historiques pour l’agent n’étaient pas mis en oeuvre, et pour le serveur étaient dans le répertoire temporaire. Je suis loin d’être satisfait d’une telle mise en place ! J’ai donc effectué une remise au carré en bonne et due forme.
A mon sens ne créer qu’un seul répertoire mutualisé pour l’agent et le serveur est suffisant. Ce sont certes deux services distincts, et pour preuve on peut migrer le serveur sur une autre machine, mais je préfère éviter de multiplier les arborescences ne contenant qu’un fichier clairement identifier (ici zabbix-server.log et zabbix-agent .log)
La première étape est de créer ce répertoire avec les droits qui vont bien :
sudo mkdir /var/log/zabbix
sudo chown zabbix:zabbix /var/log/zabbix
Ensuite dans les fichiers de configuration /etc/zabbix/zabbix_server.conf
et /etc/zabbix/zabbix_agentd.conf
, je définis respectivement et mutuellement :
LogFile=/var/log/zabbix=zabbix_server.log
LogFile=/var/log/zabbix=zabbix_agentd.log
LogFileSize=5
Après l’ensemble de ces manipulations, je redémarre à l’aide de mes alias le serveur et l’agent :
zbs restart
zbs status
zba restart
zba status
Bonjour,
Petite interrogation, comment pouvez-vous faire « sudo apt-get install zabbix-agent », sachant que vous avez fait l’installation à partir des sources ?
Il me semble que vous avez lu les deux articles pour me parler de sources.
Effectivement, vu que j’ai installé le serveur sur un Raspberry Pi, j’ai préféré recompiler les sources pour être au plus proche de l’architecture de ce nano-ordinateur.
Par contre, pour l’agent, j’ai pris la solution de facilité en utilisé le package deb.
Il faut bien comprendre que le serveur et les agents déployés sur votre infrastructure (dont l’agent sur la machine hôte du serveur) sont deux éléments distincts.