====== 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) : {{:fr:zabbix-setup.png?200|}} Les autres écrans sont à valider sans modification. On peut ensuite se connecter et changer les mots de passe, et configurer LDAP : {{:fr:zabbix-ldap.png?200|}} 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. * https://www.zabbix.com/documentation/2.0/manual/discovery/auto_registration * https://www.zabbix.com/documentation/3.2/manual/discovery/network_discovery 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 ==== {{:fr:zabbix-menu-configuration.png|}} === 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. {{tag>sysadmin serveur}}