Supervision des serveurs de la plateforme : Différence entre versions
(→Nagios) |
(→Zabbix) |
||
Ligne 46 : | Ligne 46 : | ||
==== <span style="color:#6A6AFF">Zabbix</span> ==== | ==== <span style="color:#6A6AFF">Zabbix</span> ==== | ||
+ | Le « serveur ZABBIX » peut être décomposé en trois parties séparées : Le serveur de données, l'interface de gestion et le serveur de traitement. Chacune d'elles peut être disposée sur une machine différente pour répartir la charge et optimiser les performances. | ||
+ | |||
+ | Le système dont l'utilisation des ressources doit être analysée comporte un agent fonctionnant sous forme de daemon appelé zabbix-agentd et écoutant par défaut sur le port TCP 10050. Celui-ci est chargé d’exécuter sur le système différents scripts permettant d'échantillonner l'état des ressources des différents composants du système (Mémoire, CPU, débit réseau, entrées-sorties, nombre de connexion à une application, etc.). Le serveur Zabbix appelle donc régulièrement cet agent et lui demande les informations concernant telle ou telle ressource. | ||
+ | |||
+ | Son interface web est écrite en PHP. Elle agit directement sur les informations stockées dans la base de données. Chaque information nécessaire au serveur de traitement étant réactualisée automatiquement, il n'y a pas d'action à effectuer sur le binaire pour lui indiquer qu'il y a eu une mise à jour. | ||
+ | |||
+ | Cette interface dispose des fonctionnalités principales suivantes: | ||
+ | |||
+ | #Affichage des données et état des machines | ||
+ | #Génération de graphiques (évolution des données et état des machines/liens) | ||
+ | #Classement et groupement des machines surveillées | ||
+ | #Auto découverte de machines et ajout automatique | ||
+ | #Gestion fine des droits d'accès pour les utilisateurs de l'interface | ||
==== <span style="color:#6A6AFF">MRTG</span> ==== | ==== <span style="color:#6A6AFF">MRTG</span> ==== |
Version du 24 mai 2018 à 10:49
Sommaire
Présentation générale du projet
Objectif du stage
L'objectif de ce stage est que trouver une application Web standard sous Linux permettant à un administrateur d'obtenir un tableau de bord de machines virtuelles désiminées sur plusieurs machines physiques. Configurer cette application pour obtenir les informations suivantes :
- état de santé des machines physiques : température, état des disques, ...
- occupation des machines physiques : utilisation CPU, utilisation espace disque, utilisation mémoire
- état de santé des connexions réseau : réseau Renater, réseau ADSL, réseau SDSL
- état de santé des machines virtuelles : temps d'exécution de chaque machine virtuelle
- occupation des machines virtuelles : utilisation disque et mémoire
- état de certaines applications critiques :
* date de validité des clefs DNSSEC * dates des dernières sauvegardes des machines virtuelles
Recherche sur des applications de surveillance système et réseau
Nagios
- Superviser des services réseaux : (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, LDAP, etc.)
- Superviser les ressources des serveurs (charge du processeur, occupation des disques durs, utilisation de la mémoire paginée) et ceci sur les systèmes #d'exploitation les plus répandus.
- Interface avec le protocole SNMP.
- La supervision à distance peut utiliser SSH ou un tunnel SSL (notamment via un agent NRPE).
- Les plugins sont écrits dans les langages de programmation les plus adaptés à leur tâche : scripts shell (Bash, ksh, etc.), C++, Perl, Python, Ruby, PHP, C#, etc.
- La vérification des services se fait en parallèle.
- Possibilité de définir une hiérarchie dans le réseau pour pouvoir faire la différence entre un serveur en panne et un serveur injoignable.
- La remontée des alertes est entièrement paramétrable grâce à l'utilisation de plugins (alerte par courrier électronique, SMS, etc.).
- Acquittement des alertes par les administrateurs.
- Gestion des escalades pour les alertes (une alerte non acquittée est envoyée à un groupe différent).
- Limitation de la visibilité, les utilisateurs peuvent avoir un accès limité à quelques éléments.
- Capacité de gestion des oscillations (nombreux passages d'un état normal à un état d'erreur dans un temps court).
- Créer ses propres plugins, dans le langage désiré. Il suffit de respecter la norme Nagios des Codes retour
0 OK (tout va bien) 1 WARNING (le seuil d'alerte est dépassé) 2 CRITICAL (le service a un problème) 3 UNKNOWN (impossible de connaître l'état du service)
Zabbix
Le « serveur ZABBIX » peut être décomposé en trois parties séparées : Le serveur de données, l'interface de gestion et le serveur de traitement. Chacune d'elles peut être disposée sur une machine différente pour répartir la charge et optimiser les performances.
Le système dont l'utilisation des ressources doit être analysée comporte un agent fonctionnant sous forme de daemon appelé zabbix-agentd et écoutant par défaut sur le port TCP 10050. Celui-ci est chargé d’exécuter sur le système différents scripts permettant d'échantillonner l'état des ressources des différents composants du système (Mémoire, CPU, débit réseau, entrées-sorties, nombre de connexion à une application, etc.). Le serveur Zabbix appelle donc régulièrement cet agent et lui demande les informations concernant telle ou telle ressource.
Son interface web est écrite en PHP. Elle agit directement sur les informations stockées dans la base de données. Chaque information nécessaire au serveur de traitement étant réactualisée automatiquement, il n'y a pas d'action à effectuer sur le binaire pour lui indiquer qu'il y a eu une mise à jour.
Cette interface dispose des fonctionnalités principales suivantes:
- Affichage des données et état des machines
- Génération de graphiques (évolution des données et état des machines/liens)
- Classement et groupement des machines surveillées
- Auto découverte de machines et ajout automatique
- Gestion fine des droits d'accès pour les utilisateurs de l'interface