Zabbix
Installation et configuration du serveur Zabbix
Installation avec des paquets :
https://www.zabbix.com/documentation/3.0/manual/installation/install_from_packages
Installation sous debian Jessie
wget http://repo.zabbix.com/zabbix/3.0/debian/pool/main/z/zabbix-release/zabbix-release_3.0-1+jessie_all.deb dpkg -i zabbix-release_3.0-1+jessie_all.deb apt-get update
apt-get update apt-get install zabbix-server-pgsql zabbix-frontend-php php5-pgsql
ou
apt-get update apt-get install zabbix-server-mysql zabbix-frontend-php
J'ai choisi d'utiliser Postgresql car on utilise Mariadb et le paquet Zabbix exige Mysql. Le paquet php5-pgsql est forcé manuellement pour éviter le paquet php5-mysql qui est en conflit avec php5-mysqlnd que l'on utilise.
Vérifier la configuration pour postgresql, l'authentification doit se faire par mot de passe pour les connexions locales. Dans pg_hba.conf :
local all all md5
Configuration de la base de données et démarrage
# cd /usr/share/doc/zabbix-server-pgsql/
# su postgres
$ psql
> CREATE DATABASE zabbix;
> CREATE USER zabbix PASSWORD '....';
> GRANT ALL ON DATABASE zabbix TO zabbix;
> \q
$ zcat create.sql.gz | psql zabbix -U zabbix -W
$ exit
# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=....
# service zabbix-server start
Configuration de l'interface Web
# vi /etc/apache2/conf-available/zabbix.conf php_value date.timezone Europe/Paris # service apache2 reload
On peut maintenant joindre : https://monsite/zabbix/setup.php pour la suite de l'installation.
Configuration de la base de données (j'ai pas fait comme ça, j'ai dû modifier à la main après coup, mais cette config devrait marcher) :
Les autres écrans sont à valider sans modification.
On peut ensuite se connecter et changer les mots de passe, et configurer LDAP :
Les utilisateurs créés vont s'authentifier sur l'annuaire, mais il est nécessaire de les créer à la main.
Envoi de mail
Il faut configurer le service pour qu'il puisse envoyer des mails. Dans Administration>Type de média
sélectionnez E-mail.
- serveur SMTP : mail.gandi.net
- Port du serveur SMTP : 25
- SMTP helo : khaganat.net
- adresse SMTP : admin@khaganat.net
- Sécurité de la connexion : Aucun
- Authentification : Mot de passe normal
- Nom d'utilisateur : assoc@khaganat.net
- Mot de passe : entrer le mot de passe du mail.
Utilisation
Découverte de l'agent
Avant d'installer les agents sur les machines, il faut configurer la découverte des agents, de façon à ce qu'ils soients automatiquement ajoutés aux hôtes dès qu'ils sont configurés.
Pour résumer :
Aller dans Configuration → Action
, choisir “Source de l'évènement : enregistrement automatique” et créer.
- Dans l'onglet Action, donner un nom.
- Dans l'onglet condition, on peut mettre des conditions de façon optionnelle.
- Dans l'onglet Opération, ajouter une opération, ici
Ajouter hôte
Lier aux modèles: Template App Zabbix Agent, Template OS Linux
Configurer le mode d'inventaire d'hôte: Automatique
.
Dans les adresses IP, mettre ce qui est lié au VPN.
Installation et configuration de l'agent
Tout d'abord, installer :
apt-get install zabbix-agent
Quatre options à configurer dans l'agent (/etc/zabbix/zabbix_agend.conf) après son installation :
Server=10.10.100.1
ListenIP=10.10.100.XX # adresse IP de la machine sur le VPN
ServerActive=10.10.100.1
Hostname=xxxxxxx # nom de la machine
Cela nécessite au préalable que le VPN soit configuré et actif sur le serveur, s'il y a un VPN. Pour finir, relancer l'agent :
systemctl restart zabbix-agent
Optionnellement, aller sur l'interface de Zabbix et vérifier la configuration de l'hôte : groupe linux servers et template agent zabbix, inventaire automatique.
Démarrage automatique
Ces options devraient permettre que les services se relancent automatiquement au démarrage :
systemctl enable zabbix-agent systemctl enable zabbix-server
On peut vérifier le succès de cette opération avec ces commandes :
systemctl status zabbix-agent systemctl status zabbix-server
Si on voit une ligne avec Active: active
c'est bon :
Active: active (running) since Thu 2018-03-01 10:03:32 CET; 1 minute ago
Mise en place d'outils
Monitoring de la présence d'etherpad : scénario web et déclencheur
Une fois connecté au frontend web, aller dans configuration, hôtes. On obtient le menu dont une copie est placée ci-dessus.
Un liste des hôtes est disponible, avec les différentes possibilités de paramétrage liées. Exemple :
Zabbix server Applications 12 Éléments 73 Déclencheurs 45 Graphiques 16 Découverte 2 Web 1 10.10.100.1: 10050 Template App Zabbix Server, Template OS Linux (Template App Zabbix Agent) Activé
- Les éléments sont les choses à monitorer, on peu en créer ou en utiliser de tout prêts
- Les déclencheurs sont liés aux éléments et déterminent quand il y a des erreurs
- Les graphiques utilisent les éléments pour faire de jolis graphiques avec les données collectées
- Les scénarios Web permettent de tester des sites Web
On va utiliser un scénario web, et donc on clique dessus pour ouvrir la configuration des scénarios liés au poste que l'on veut tester, puis sur “Créer un scénario Web” en haut à droite de la page.
On donne un nom “Test Etherpad”, on crée une nouvelle application “Web application”, puis on clique sur l'onglet “étapes”.
On fait ajouter, on met un nom, l'url, et code d'état requis : 200
Penser à valider, c'est maintenant utilisable pour un graphique, mais il faut ajouter un déclencheur. Cliquer donc sur déclencheur, “Créer un déclencheur” en haut à droite. Lui donner un nom et construire une expression, j'ai mis “{Zabbix server:web.test.fail[Pad].last()}>0” en la construisant avec l'interface en cliquant sur “Ajouter”. Ce qui signifie que le déclencheur est activé si au moins une des étapes du scénario web a échoué. Choisir une sévérité, j'ai mis “Haut”. Valider.
Ce déclencheur est ce qui va générer des alarmes.
Un graphique
Le graphique sert aussi à collecter les données.
Cliquons maintenant sur graphique. En faire un nouveau, lui donner un nom, et ajouter des éléments. Cocher ceux qui nous intéressent, en rapport avec le scénario, ajouter et valider.
Vérifions le graphique dans “Surveillance” “Graphique”, on peut choisir le graphique en choisissant d'abord le groupe et l'hôte qui conviennent. Cliquer sur le + sur fond bleu permettra de trouver le graphique listé sur la page d'accueil.
Un écran
Un écran regroupe plusieurs graphiques.
Dans “Surveillance” “Écrans”, créer un écran, lui choisir un nom et une taille.
Dans chaque case, on choisit un graphique à afficher.
Cliquer sur le + sur fond bleu permet d'afficher un lien sur la page d'accueil.
L'écran : https://khaganat.net/zabbix/screens.php?elementid=20 récapitule pas mal de graphiques.