serveur de supervision sous zabbix€¦  · web viewzabbix collecte des informations provenant de...

18

Upload: others

Post on 06-Nov-2020

20 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées
Page 2: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées

SommaireIntroduction...........................................................................................................................................3

1) Prérequis............................................................................................................................................4

2) Installation de Zabbix.........................................................................................................................4

3) Configuration de la base de données.................................................................................................5

4) Configuration de PHP pour zabbix......................................................................................................6

5) Configurer l’interface Web.................................................................................................................6

6) Ajout d’hôte (Linux)............................................................................................................................7

7) Ajout d’hôte (Windows).....................................................................................................................9

8) Alertes mail......................................................................................................................................14

Page 3: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées

Introduction

Zabbix est un logiciel de supervision réseau et applicatif. A ce titre, il permet de surveiller l'ensemble d'une infrastructure réseau. Il est sous licence libre (GPL) ), et sa communauté est relativement active. Zabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées dans une base de données, afin de pouvoir les analyser sur la durée et prévoir les prochaines améliorations de l’infrastructure

Zabbix fonctionne avec un « agent » installé sur la machine supervisé. Cet agent collecte des données et les envoie au serveur zabbix.

L’interface utilisateur est hébergée sur un serveur web, celle-ci est légère et peu donc être hébergée sur un serveur web peu performant.

J’ai retenu zabbix comme solution de supervision pour sa simplicité d’installation et ses fonctionnalités :

Découverte automatique des services (ex: ldap, SMTP, IMAP) sur une plage IP : « Discovery »

Surveillance temps réel : performances / disponibilité / intégrité / envoi d'alertes (mail, SMS…)

Visualisation : graphes, carte du réseau Surveillance sites web : « Scenario » Import/export de templates au format XML

Page 4: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées

1) Prérequis

Un serveur sous Centos7 avec Apache, MySQL et PHP installés. Je listerais ici les commandes pour installer chaque composant.

Apache : yum install httpdsystemctl start httpd.servicesystemctl enable httpd.service

MySQL (MariaDB) :yum install mariadb-server mariadbsystemctl start mariadbmysql_secure_installation (definir un mot de passe root et laisser les autres options par défaut)systemctl enable mariadb.service

PHP :yum install php php-mysqlsystemctl restart httpd.service

On autorise le traffic HTTP et HTTPS :firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload

Exeptions pour SELinux : setsebool -P httpd_can_network_connect on setsebool -P httpd_can_connect_zabbix 1 setsebool -P zabbix_can_network 1

2) Installation de ZabbixZabbix n’est pas disponible dans le gestionnaire de packets par défaut, on ajoute donc une configuration :rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

On peut ensuite installer zabbix :yum install zabbix-server-mysql zabbix-web-mysql

Page 5: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées

Enfin, il est possible d’installer « l’agent » Zabbix afin de collecter des informations sur le serveur zabbix :yum install zabbix-agent

3) Configuration de la base de données

Il faut ensuite configurer la base de données, pour cela on utilisera les commandes suivantes :

mysql -uroot -pcreate database zabbix character set utf8;grant all privileges on zabbix.* to zabbix@localhost identified by 'your_password';flush privileges;quit;

Pour importer les données initiales :cd /usr/share/doc/zabbix-server-mysql-3.0.4/zcat create.sql.gz | mysql -uzabbix -p zabbix

Pour que zabbix utilise cette base de données, il faut renseigner le mot de passe du compte zabbix dans le fichier de configuration du serveur :

vi /etc/zabbix/zabbix_server.conf

Il suffit de taper le mot de passe voulu après « DBPassword= » comme sur la capture d’écran suivante :

Page 6: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées

4) Configuration de PHP pour zabbix

Une modification est nécéssaire dans le fichier de configuration Apache :

vi /etc/httpd/conf.d/zabbix.conf

Il faut changer le fuseau horaire, on décommente la ligne et on remplace celui par défaut par « Europe/Paris » comme sur cette capture d’écran :

On rédemare Apache : systemctl restart httpd

On peut désormais démarrer zabbix et l’activer au démarrage : systemctl start zabbix-serversystemctl enable zabbix-server

5) Configurer l’interface WebL’interface web permet de voir les alertes et d’ajouter des hôtes à superviser, mais doit être configurée. On peut s’y connecter en tapant ceci dans un navigateur :

http://addresse_IP_du_serveur/zabbix/

Après la page d’accueil, une liste des prérequis sera affichée , toute les valeur doivent porter la mention « OK ».

La page suivante demande des informations concernant la base donnée, on entre donc les identifiants du compte mysql créé pour zabbix.

La page suivante peut être laissée par défaut, la case « Name » est optionnelle, elle permet de différencier zabbix des autres serveurs de supervision si il y en a.

On a enfin un récapitulatif des informations entrées.L’utilisateur par défaut de l’interface web est admin avec zabbix comme mot de passe.

Page 7: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées

6) Ajout d’hôte (Linux)

Pour ajouter un hôte à superviser, on commence par installer l’agent zabbix sur la machine visée : rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpmyum install zabbix-agent

Ensuite il faut ouvrir le fichier de configuration de l’agent :vi /etc/zabbix/zabbix_agentd.conf

On cherche les lignes suivantes et on remplace par les informations voulues :

Server = Adresse du serveur ZabbixServerActive = Adresse du serveur ZabbixHostname = FQDN ou hostname de la machine supervisée

Puis on relance l’agent Zabbix :systemctl restart zabbix-agent

Ajouter une exception dans le pare-feu sur la machine supervisée : firewall-cmd --add-port=10050/tcp --permanent

Activer l’agent au démarrage :systemctl enable zabbix-agent

Pour ajouter l’hôte au serveur zabbix, se connecter à l’interface web, cliquer sur configuration puis hosts :

Puis cliquer sur create host et remplir comme dans la capture suivante :

Page 8: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées

Lors de mes test je n’avais pas de serveur DNS, j’ai donc utilisé l’adresse IP du serveur supervisé dans « Agent interfaces » et je n’ai pas donné de FQDN pour cette machine.

On se rend ensuite dans le menu templates

Cliquer sur select et ajouter le template « OS Linux »

Après avoir ajouté le template aux « linked templates », on peut cliquer ajouter l’hôte

La machine est ajoutée à la liste d’hôtes supervisés

Page 9: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées

7) Ajout d’hôte (Windows)

Télécharger Zabbix sur le site officiel : https://www.zabbix.com/download_agents

Une fois extrait, on l’installe avec la commande suivante : C:\Users\Administrateur><chemin_complet_vers_zabbix_agentd.exe> --config <chemin_complet_vers_ agentd.win.conf> --install

On ouvre zabbix_agentd.win.conf et on édite manuellement ces paramètres :Server = IP du serveur ZabbixServerActive = IP du serveur Zabbix Hostname = FQDN ou hostname de la machine supervisée

On démarre le service :C:\Users\Administrateur>chemin_complet_vers_zabbix_agentd.exe --start

Pour l’arrêter ou le désinstaller, même commande en remplaçant  « --start » par « --stop » ou « --uninstall »

On ouvre services.msc dans une invite de commande pour vérifier que l’agent zabbix se lance bien au démarrage :

Page 10: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées

Ajouter une exception dans le pare-feu Windows :

Sélectionner autoriser un autre programme :

Page 11: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées

Puis on clique sur Parcourir pour ajouter zabbix_agentd.exe :

On donne les autorisations nécessaires à l’application puis on valide les paramètres :

Page 12: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées

Enfin il faut ajouter l’hôte au serveur Zabbix (comme précédemment pour le serveur Linux) :

On ajoute le template « OS Windows » aux « Linked templates » :

La machine est ajoutée à la liste des hôtes :

Page 13: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées

8) Alertes mail

Pour configurer l’envoi d’alertes sur une adresse Gmail, il faut installer SSMTP :yum install ssmtp mailx

Une fois installé, on ouvre le fichier de configuration :vi /etc/ssmtp/ssmtp.conf

On entre la configuration suivante :

root = [email protected] mailhub = smtp.gmail.com:587 rewriteDomain = domaine_local hostname = FQDN_localUseTLS = Yes UseSTARTTLS = Yes AuthUser = utilisateur_gmail AuthPass = mot_de_passe_GmailFromLineOverride = YES

Il faut autoriser l’accès pour les applications moins sécurisées, via les paramètres de sécurité du compte Gmail.

Ensuite on se rend sur l’interface web, dans le menu Administration puis Media types :

On clique sur create media type en haut à droite

Page 14: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées

Puis on remplit les case comme ci-dessous :

On se rend ensuite dans user profile, puis media et on clique sur add :

Page 15: Serveur de supervision sous Zabbix€¦  · Web viewZabbix collecte des informations provenant de serveurs, machines virtuelles, équipements réseau …Ces informations sont stockées

Une fenêtre va s’ouvrir, on remplit avec les informations voulues comme l’adresse mail à laquelle sera envoyée les alerte, le script à exécuter, la période de temps durant laquelle les mail seront envoyés et quelles alertes doivent être envoyées :

On clique sur Add puis Update

On se rend ensuite dans Configuration puis Actions :

On active les éléments des « event source » Triggers et Internal :