Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix...

32
1 Supervision V. Robion Monitoring Sommaire : Présentation du Monitoring Zoom sur le terme “Supervision” Quelques éléments à connaître Découpe fonctionnelle Sondes SNMP / HTTP Les 4 types d'opérations Quelques outils de monitoring Tableau de comparaison Etudes de plusieurs outils Nagios Cacti Zabbix Zennos Ganglia Shinken Comparaison de Nagios et Shinken Installation des outils Shinken Zabbix Nagios Powerchute Serveur FTP Clé bootable

Transcript of Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix...

Page 1: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

1 Supervision V. Robion

Monitoring

Sommaire :

Présentation du Monitoring

Zoom sur le terme “Supervision”

Quelques éléments à connaître

Découpe fonctionnelle

Sondes SNMP / HTTP

Les 4 types d'opérations

Quelques outils de monitoring

Tableau de comparaison

Etudes de plusieurs outils

Nagios

Cacti

Zabbix

Zennos

Ganglia

Shinken

Comparaison de Nagios et Shinken

Installation des outils

Shinken

Zabbix

Nagios

Powerchute

Serveur FTP

Clé bootable

Page 2: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

2 Supervision V. Robion

Recherches sur le monitoring

Sources : -http://decrypt.ysance.com/2011/02/comparatif-outils-monitoring-metrologie-supervision-1-zabbix-centreon-nagios-cacti-munin/ - http://www.it-connect.fr/monitoring-supervision-et-metrologie/ - https://doc.ubuntu-fr.org/shinken - http://www.monitoring-fr.org/solutions/shinken/ -https://fr.wikipedia.org/wiki/Surveillance_%28informatique%29#Type_de_r.C3.A9sultats - https://www.youtube.com/watch?v=nO5jgf8nNjo - http://wiki.monitoring-fr.org/shinken/shinken-use-ui - http://www.coyotus.com/viewtopic.php?id=699 - http://blogduyax.madyanne.fr/installation-de-shinken.html -http://blog.nicolargo.com/2012/11/installation-pas-a-pas-dun-serveur-de-supervision-shinken.html -http://hackademics.fr/showthread.php?4622-S%E9curit%E9-informatique-Monitoring-et-surveillance - https://www.fr.paessler.com/press/whitepapers/selection-criteria -http://nicolargo.developpez.com/tutoriels/Installation-pas-a-pas-d-un-serveur-de-supervision-Shinken/ - http://wiki.monitoring-fr.org/supervision/links - http://www.monitoring-fr.org/ - http://www.monitoring-fr.org/2015/09/shinken-web-ui-version-2/ - http://linuxfr.org/news/quelques-br%C3%A8ves-sur-la-supervision - https://ticalternancecesiarras.wordpress.com/2013/01/21/la-supervision-avec-shinken/ - http://www.tdeig.ch/shinken/Bilgin_RTB.pdf

Présentation du Monitoring :

“Un outil de monitoring ne présente aucun besoin d’investissements de

nouveau matériel, et ne nécessite pas non plus d’être sous contrat

d’infogérance avec votre prestataire informatique. C’est un gain de productivité

considérable pour l'organisation qui permet d’avoir un vision de la santé/état

du réseau.”

Page 3: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

3 Supervision V. Robion

Monitoring = Supervision + Métrologie

Le monitoring est le terme global que l’on emploie afin de désigner le ou les outils qui vont nous permettre de suivre (monitorer) la vie de notre infrastructure. Le monitoring se décompose ensuite en 2 disciplines toutes aussi importantes l’une que l’autre et qu’il faut identifier : Supervision et métrologie.

Supervision : vérifie l’état d’un hôte ou d’un service et remonte une alerte sur la détection d’un comportement anormal (temps de réponse trop long, statut NOK, …) et implique une action immédiate de la part des interlocuteurs concernés. Une alerte doit signifier que l’hôte ou le service est inutilisable (critical) ou risque de l’être (warning) et ne pas renvoyer de « simples informations » qui pollueraient la visibilité des réels incidents.

Métrologie : permet d’historiser les données, éventuellement d’appliquer un traitement ou filtre dessus, avant de les présenter sous forme de graphiques ou de reporting. Améliorer le service et donc le rendu des utilisateurs (internes ou clients finaux) et également de lisser les coûts. Les résultats issus de la métrologie doivent mettre aisément en valeur les améliorations à apporter en corrélant les valeurs récupérées On appelle monitoring la collecte d’informations sur les plates-formes de production du SI. On distingue 5 types d’activités de monitoring:

Type 1: le monitoring de disponibilité C’est la plus ancienne forme de monitoring, elle consiste à s’assurer de la disponibilité réelle des composants hardware et software. Ce type de monitoring est largement basé sur l’utilisation du protocole SNMP. La collecte de métriques élémentaires de performance dans les systèmes d’exploitation (CPU, mémoire, disque) entre également dans le périmètre du monitoring de type

Type 2: le monitoring des temps de réponses Il consiste à mesurer les temps de réponses de bout en bout aux requêtes des utilisateurs sur les applications. Cette mesure peut s’effectuer, soit en sortie de lien WAN, soit depuis l’extérieur par l’intermédiaire de prestataires spécialisés tels que Witbe. Ce type de monitoring est très utilisé pour le contrôle des contrats de niveaux de service (SLA).

Type 3: le monitoring des activités techniques Ce type de monitoring est basé sur l’installation de sondes spécifiques dans tous les composants d’une application: serveur HTTP, serveur d’application, middleware orientés messages, base de données. Il offre une vision détaillé des performances (et donc des variations de performance) de chacun des éléments de l’application. Les solutions qui permettent ce type de monitoring sont appelés outils d’APM (Application Performance Management). Les plus utilisés dans les projets J2EE/.NET sont Quest Performasure et Wily Introscope.

Page 4: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

4 Supervision V. Robion

Type 4: le monitoring des activités métier C’est un ensemble de pratiques de collectes de métriques « métier » en production. Cela recouvre à la fois, le Business Activity Monitoring (BAM), une forme allégée d’informatique décisionnelle pratiquée « en live » sur les bases de production, et, le monitoring des flux. Ce dernier consiste à analyser les flux échangés par les applications. La montée en puissance des protocoles de type XML rend cette approche très prometteuse car les outils peuvent aisément analyser le contenu des flux échangés. Quelques solutions de monitoring des activités métier: Systar et Apama pour le BAM, Amberpoint et Actional pour le monitoring des flux.

Type 5: le monitoring de l’expérience utilisateur

C’est une forme particulièrement avancée de monitoring qui consiste à capturer les flux échangés entre les utilisateurs et une application. Ces flux sont mémorisés et peuvent être ensuite réutilisés par les services de support pour venir en aide aux utilisateurs. Il présente aussi un grand intérêt pour les responsables marketing souhaitant analyser le comportement des utilisateurs devant les applications. Ces solutions sont généralement basées sur des composants hardware (appliance). On peut citer Quest Foglight Experience Monitor et Wily Customer Experience Manager.

Page 5: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

5 Supervision V. Robion

Zoom sur la “Supervision”

Pourquoi superviser ?

- Détecter les pannes avant l'utilisateur - Réagir plus rapidement en cas d'incident - Anticiper les problèmes - Contrôler et rendre compte - Pilotage de l'exploitation

Quoi superviser ?

- Environnement - Matériel - Réseau - Système - Bases de données - Services (HTTP, SMTP, LDAP...) - Applications - Sécurité

Pour qui superviser ?

- Dirigeants (DSI...) : Performance et disponibilité (SLA) - Administrateurs : Technique et diagnostic - Utilisateurs : Performance et disponibilité - Financier : Comptabilité et facturation

Standards de la supervision

- SNMP - Simple Network Management Protocol - IPMI - Intelligent Platform Management Interface - JMX - Java Management Interface - CIM - Common Information Model - SBLIM - Standard Based Linux Instrumentation for Manageability - WS-MANAGEMENT - Web Services for Management - WBEM - Web Based Enterprise Management - WMI - Windows Management Instrumentation

Page 6: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

6 Supervision V. Robion

Quelques éléments à connaître :

Découpe fonctionnelle

Sondes HTTP ou SNMP

Un Check est la base d’un système de supervision car ce sont les sondes qui font le

travail. Une sonde est une vérification d’un élément à surveiller. Cela peut être un Ping pour

tester un host ou une requête http afin de vérifier la disponibilité d’une URL. Une sonde est

utilisé dans la configuration d’un host ou service vie une commande. La commande détermine

utilisation d’un plugin avec les paramètres à passer à l’exécutable.

Shinken, comme Nagios, définit 4 niveaux de message de retour pour les sondes. Pour une

vérification (check) il faut définir des niveaux pour warning et critical. Ces niveaux peuvent

être ajustés au fur et à mesure. Dans la possibilité

je privilégie des check par SSH. Une sonde en SSH est sécurisée et faite sans installer un

agent sur l’élément à surveiller. Mais il faut envoyer la clé SSH publique du serveur de

monitoring vers l’hôte surveillé.

Page 7: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

7 Supervision V. Robion

Sur chaque équipement on trouve un agent Snmp. Cet agent gère les informations relatives à l’équipement et sont stockées dans une base de données propre : la MIB (Management Information Base). On positionne un manager Snmp sur l'unité qui va servir de console d'administration.

On se retrouve avec 4 types d’opérations différentes :

- get-request / get-response : l’administrateur interroge une variable particulière de la MIB. - get-next-request / get-response : l’administrateur interroge toute une table de la MIB. - set-request / get-response : l’administrateur met une valeur à jour dans la MIB. - trap : l’agent prévient l’administrateur qu’un événement particulier s’est produit.

Le manager va interroger l'agent qui va fouiller dans la MIB pour positionner ou donner une valeur voulue. L'agent peut de lui-même remonter une information au manager via une trap. Si une carte réseau tombe, l'agent pourra en informer le manager sans que celui-ci en ai fait la demande.

Ce protocole permet donc d'obtenir des informations variées sur un équipement à superviser.

Page 8: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

8 Supervision V. Robion

Page 9: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

9 Supervision V. Robion

Quelques outils de monitoring

Tableau de comparaison :

Mais nous allons surtout comparer ces outils : - Nagios

- Cacti - Zabbix - Zennos - Ganglia - Shinken

Nagios/Centreon

Nagios (anciennement Netsaint) est un logiciel qui permet de superviser un système d’information. Nagios est, avant toute chose, un moteur gérant l’ordonnancement des vérifications, ainsi que les actions à prendre sur incidents. L’interface web est la partie graphique visible, via un serveur web tel que Apache, et qui va permettre à l’administrateur d’avoir une vue d’ensemble de son réseau, de visualiser la supervision des équipements et de produire des rapports d’activité.

Page 10: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

10 Supervision V. Robion

Caractéristique :

C’est un programme modulaire qui se décompose en plusieurs parties:

L’ordonnanceur qui se charge d’ordonnancer les tâches de supervision Une interface Web Les plugins Une architecture en Master / Slave

Parmi les fonctionnalités que proposent Nagios, on retrouve :

la surveillance des services (SMTP, POP3, HTTP, FTP, …) la surveillance des ressources d’une machine (la charge du processeur, l’espace

disque, …) la possibilité de développer ses propres plugins la hiérarchisation des équipements composant le réseau la notification par email la journalisation des évènements

Nagios peut fonctionner avec 2 modes : avec utilisation d’une base de données ou en mode text.

Les plus :

Grosse communauté et bonne réputation Très puissant et modulaire Peut disposer d’une surcouche graphique (Centreon) Centreon apporte la gestion de graphiques Peut disposer de nombreux plugins

Les moins :

Difficile à installer et à configurer Nagios dispose d’une interface austère Nagios n’affiche pas de graphs en natif Nagios ne permet pas d’ajouter des hosts via Web

Cacti

Cacti est un logiciel de supervision réseau basé sur RRDTool. Il peut-être considéré comme un successeur à MRTG et également comme une interface à RRDTool. Cacti permet de représenter graphiquement divers statuts de périphériques réseau utilisant SNMP ou encore grâce à des scripts (Bash, PHP, Perl, VBs…) pour avoir par exemple l’espace disque restant ou bien la mémoire utilisée, la charge processeur ou le ping d’un élément actif. Les données sont récoltées auprès des différents agents SNMP (ou auprès des scripts locaux) grâce à un script php. Pour de meilleures performances un exécutable, nommé cactid, peut également effectuer les interrogations.

Page 11: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

11 Supervision V. Robion

Caractéristique :

N’est pas un outil de supervision à proprement parlé Ne reçoit pas de traps

Les plus :

Facilité d’installation Facilité de configuration Affichage rapide des graphs sur plusieurs périodes Peut-être amélioré grâce à des plugins Grosse communauté

Les moins :

Limité de base Peut mettre un certain temps à générer les graphiques

Zabbix

Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…). Zabbix permet offre des vues graphiques (générés par RRDtool) et des alertes sur seuil. Le « serveur ZABBIX » peut être décomposé en 3 parties séparées: → Le serveur de données → l’interface de gestion → 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. Un agent ZABBIX peut aussi être installé sur les hôtes Linux, UNIX et Windows afin d’obtenir des statistiques comme la charge CPU, l’utilisation du réseau, l’espace disque… Le logiciel peut réaliser le monitoring via SNMP. Fonctionnalité intéressante, il est possible de configurer des « proxy Zabbix » afin de répartir la charge ou d’assurer une meilleure disponibilité de service. Caractéristique :

Outil de supervision Auto découverte des machines du réseau Mise en place de tests indépendants sur les machines Gestion des alertes

Les plus :

Facilité d’installation Génération facile des graphs Facilité de consultation des graphs en fonction du temps Affichage clair des erreurs sur le Dashboard

Les moins :

Chaque machine à superviser doit disposer du client Zabbix Limité au ping sans le client Risque de tempêtes d’alertes Manque de flexibilité

Page 12: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

12 Supervision V. Robion

Zenoss

Tout comme Nagios, Zenoss est un outil de supervision open-source gratuit (il existe une version commerciale comportant plus d’options). Il se base sur une application Web qui va surveiller les noeuds de votre réseau et générer des rapports si chers aux yeux des décideurs informatiques… Zenoss permet de relever des métriques de serveur sans nécessiter l’installation de client. Il peut en effet se connecter via snmp, ssh, telnet, wmi. En comparaison de tous les autres, Zenoss dispose d’une interface réellement intuitive et totalement paramétrable. Le Dashboard permet aux différents administrateurs de choisir les informations qu’ils souhaitent voir apparaître au premier coût d’oeil. Caractéristique :

Outil de supervision Auto découverte des machines du réseau Création d’une carte géographiques du réseau Gestion des alertes Dashboard intuitif et apprêts amovibles

Les plus :

Facilité d’installation Facilité de configuration Création automatique des graphs Dispose d’une importante MIB de base Vue rapide des alertes Affichage des tables de routage

Les moins :

Plus gourmand en ressource machine

Ganglia Ganglia est beaucoup plus spécifique, c’est réellement un outil de supervision complémentaire destiné à la supervision d’un système en cluster. Comme cette nécessite les mêmes prérequis que la solution Opsview, il est envisageable de la mettre en place exclusivement pour superviser le cluster. Ganglia est composé de deux services principaux :

gmond : un service tournant sur chaque nœud/serveur surveillé et collectant les différentes métriques.

gmetad : un service qui consolide les données des services gmond et les stocke dans une base RRD.

Les nœuds d’un cluster Ganglia hébergent le service gmond et communiquent leur statut par UDP. gmetad a des nœuds gmond de référence pour chaque cluster qu’il gère et les interroge de manière régulière pour récupérer l’état de l’ensemble. Les bases RRD (Round Robin Databases) sont des bases de données conçues pour stocker des données évoluant au cours du temps à intervalles réguliers. RRDtool est un outil assez célèbre qui est utilisé comme backend par un grand nombre de projets (Cacti par exemple vu précédemment). Ganglia n’est donc pas une exception.

Page 13: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

13 Supervision V. Robion

La communication entre les nœuds gmond d’un cluster utilise le protocole XDR. Ce protocole est un standard de l’IETF permettant à des OS différents de communiquer entre eux (pas de problème avec la taille des indiens ;-). Cela permet de mettre en place des « clusters » hétérogènes. Les plus :

Une page avec la liste des fermes (clusters) avec : nombre de nœuds, nombre de CPUs, charge moyenne, nombre de processus;

Pour chaque ferme : o Une vue de synthèse (nombre de nœuds actifs/inactifs, utilisation des nœuds

par un diagramme en cercle, charge CPU, réseau et mémoire par graphique en ligne),

o Une vue de chaque nœud avec sa l’un des indicateurs : charge, température, mémoire, vitesse ventilateurs…

o Une vue physique de la ferme avec l’emplacement physique des nœuds, Pour chaque nœud : un résumé avec le nombre de CPUs, la mémoire, l’espace disque

; ainsi qu’un graphique pour chaque élément. Les moins :

Pour le service gmond il faut l’adapter en fonction du système d’exploitation présent sur le nœud,

Pour le service gmetad il faut lui demander d’interroger chaque nœud, Pour le service Web il faut lui configurer l’emplacement des données.

Shinken

Shinken est une application permettant la surveillance système et réseau. Elle surveille

les hôtes et services spécifiés, alertant lorsque les systèmes vont mal et quand ils vont mieux. C'est un logiciel libre sous licence GNU AGPL. Elle est complètement compatible avec le logiciel Nagios et elle a pour but d'apporter une supervision distribuée et hautement disponible facile à mettre en place. Démarrée comme une preuve de concept pour Nagios sur les architectures distribuée, le programme a rapidement démontré des performances et une flexibilité bien plus importantes que son aîné Nagios. C’est un outils qui est en train de monter, il est de plus en plus connu et possède donc de nombreux tutoriels sur internet en cas de difficulté ou erreurs. Caractéristiques :

Évolution de Nagios

Les plus :

Grosse communauté Bonne réputation Outil puissant De nombreux plugins Outil flexible Daemon partagé en plusieurs parties contrairement aux autres outils Peut gérer un parc de plus de 200 serveurs grâce à son daemon

Les moins :

Installation complexe

Page 14: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

14 Supervision V. Robion

Nagios vs Shinken

Contrairement à Nagios qui gère tout le processus avec un seul service , Shinken sépare les différentes taches en plusieurs daemons (services). Shinken comprend une d’interface utilisateur Web, qui inclut son propre serveur Web (pas besoin de configurer Apache ou Microsoft ) Shinken WebUI est lancé au démarrage Shinken, et est configuré à l’aide du fichier de configuration principal Shinken en y mettant quelques paramètres de base. Shinken est une application permettant la surveillance système et réseau. Elle surveille les hôtes et services spécifiés, alertant lorsque les systèmes vont mal et quand ils vont mieux. C'est un logiciel libre sous licence GNU AGPL. Elle est complètement compatible avec le logiciel Nagios et elle a pour but d'apporter une supervision distribuée et hautement disponible facile à mettre en place. Démarrée comme une preuve de concept pour Nagios sur les architectures distribuée1, le programme a rapidement démontré des performances et une flexibilité bien plus importantes que son aîné Nagios. Avantages :

Supervision distribuée hautement disponible très facile à mettre en place, et de manière intégrée à la configuration globale

Gestion des noms en UTF-8 Presque 5 fois plus de performances que le Nagios classique Multiplateforme : tourne nativement sur GNU/Linux et Windows. Il est même possible

de mixer les deux dans une même architecture! Simplicité de migration depuis Nagios.

Page 15: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

15 Supervision V. Robion

Shinken se découpe en 6 modules :

Module Description Module Description Module

Description

Receiver

- Reçoit les données des vérifications passives - Reçoit les ordres externes et les transmet à l'arbiter

Réactionner

- Récupère les alertes sur le scheduler - Envoie les alertes dans le format souhaité

Broker

- Reçoit les résultats du scheduler - Exporte les résultats des vérifications vers des logiciels tiers

Arbiter

- Lit la configuration - Envoie la configuration aux autres composants - Gère les autres composants

- Transmet les ordres aux autres composants

Scheduler

- Ordonnance les vérifications

- Prépare les résultats - Prépare les notifications

Poller

- Reçoit les ordres du scheduler - Lance les greffons qui effectuent les vérifications - Renvoi les résultats au scheduler

Les greffons sont : - des petits exécutables lancés par le Poller - peuvent se présenter sous formes de scripts ou de fichier binaires compilés - doivent afficher le texte sur la sortie standard et respecter un code de sortie

Page 16: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

16 Supervision V. Robion

Monitoring de l’onduleur

Sources : https://trac.resel.fr/wiki/Configuration/Onduleur http://www.materiel.net/minisites/guide_achat_onduleur/administration-onduleur.php http://www.01net.com/actualites/des-onduleurs-enfin-sous-haute-surveillance-168319.html http://wwdeb.crdp.ac-caen.fr/mediase3/index.php/Gestion_de_l%27onduleur http://forums.monitoring-fr.org/index.php?topic=7937.0;prev_next=prev#new

Nous avons pour mission en plus de superviser des serveurs, de gérer un onduleur afin qu’il éteigne proprement les serveurs en cas de coupures de courant. Nous allons donc installer un outil de monitoring qui pourra gérer l’onduleur. L’onduleur sera, sinon, gérer avec un outil a pars.

Nous avons à disposition tous les outils de monitoring open-source de notre choix ainsi que l’outil Powerchute.

Nous pouvons brancher l’onduleur à un serveur via liaison série RS232 ou alors directement sur le réseau via prise ethernet.

→ Connexion via SSH au serveur Adresse Ip : 172.16.19.176 Mot de passe : *******

Page 17: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

17 Supervision V. Robion

→ Connexion au wiki du département de la recherche mathématique :

http://wiki.math.sciences.univ-nantes.prive/mediawiki/index.php/Accueil Login WikiSysop Mot de passe *******

Installation Shinken :

https://doc.ubuntu-fr.org/shinken http://wiki.kogite.fr/index.php/Installation_de_Shinken_sur_une_Debian http://blogduyax.madyanne.fr/installation-de-shinken.html http://shinkenlab.io/online-course-1-installation/

pré-requis :

ntp ntpdate /etc/network/interfaces apt.conf /etc/wgetrc

Installation de Shinken 2.2 sous ubuntu 14.04

apt-get install python-pycurl python-setuptools nagios-plugins

Créer l’utilisateur Shinken :

adduser shinken --home /usr/local/shinken

Télécharger puis décompresser shinken :

wget http://shinken-monitoring.org/pub/shinken-2.2.tar.gz tar -xvzf shinken-2.2.tar.gz

Page 18: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

18 Supervision V. Robion

cd shinken-2.2 python setup.py install

Problème build-essential

nano /etc/apt/sources.list

Rajouter la ligne suivante dans le fichier sources.list

deb http://ftp.debian.org/debian/ stable main contrib non-free

Fermer en enregistrant le fichier puis saisir les commandes :

apt-get update apt-cache search build-essential --names-only build-essential apt-get install build-essential

Puis cliquer sur “OK”

Installation Zabbix :

https://memo-linux.com/installer-zabbix-sur-debian-jessie/

Installer les paquets suivants : zabbix-server-mysql, zabbix-frontend-php, zabbix-agent

apt-get install zabbix-server-mysql zabbix-frontend-php zabbix-agent

Ces paquets vont installer :

apache2 apache2-bin apache2-data apache2-utils fping libaio1 libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libdbd-mysql-perl libdbi-perl libgd3 libhtml-template-perl libiksemel3 libltdl7 liblua5.1-0 libmysqlclient18 libodbc1libonig2 libopenipmi0 libperl5.20 libpq5 libqdbm14 libsensors4 libsnmp-base libsnmp30 libterm-readkey-perl libvpx1 libxpm4 mysql-client-5.5 mysql-common mysql-server mysql-server-5.5 mysql-server-core-5.5 php5 php5-cli php5-common php5-gd php5-json php5-ldap php5-pgsql php5-readline snmpd ssl-cert ttf-dejavu-core zabbix-agent zabbix-frontend-php zabbix-server-mysql

Installer maintenant le paquet php-mysql :

apt-get install php5-mysql

Page 19: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

19 Supervision V. Robion

Activer le démarrage par défaut de Zabbix :

sed -i -e 's/START\=no/START\=yes/g' /etc/default/zabbix-server

Configuration du serveur MySql

Connexion au serveur MySql :

mysql -u root -p%motdepasse

Création de la base Zabbix :

create database zabbix;

Création d’un compte utilisateur zabbix avec comme mot de passe zabbix :

grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

Relance des privilèges MySql

flush privileges;

Quitter MySql

exit

Importation des tables pour la base Zabbix :

zcat /usr/share/zabbix-server-mysql/schema.sql.gz | mysql -u zabbix -pzabbix zabbix zcat /usr/share/zabbix-server-mysql/images.sql.gz | mysql -u zabbix -pzabbix zabbix zcat /usr/share/zabbix-server-mysql/data.sql.gz | mysql -u zabbix -pzabbix zabbix

Configuration du serveur Zabbix :

Modifier le mot de passe pour la connexion au serveur Mysql :

nano /etc/zabbix/zabbix_server.conf

Page 20: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

20 Supervision V. Robion

DBHost=localhost DBName=zabbix DBPassword=zabbix DBSocket=/var/run/mysqld/mysqld.sock DBPort=3306

Relancer le serveur Zabbix :

systemctl restart zabbix-server

Vérification du fonctionnement de Zabbix dans les logs :

tail -50 /var/log/zabbix-server/zabbix_server.log

tail -50 /var/log/zabbix-server/zabbix_server.log 9815:20150305:105530.729 Got signal [signal:15(SIGTERM),sender_pid:9875,sender_uid:0,reason:0]. Exiting ... 9815:20150305:105532.731 syncing history data... 9815:20150305:105532.731 syncing history data done 9815:20150305:105532.731 syncing trends data... 9815:20150305:105532.731 syncing trends data done 9815:20150305:105532.731 Zabbix Server stopped. Zabbix 2.2.7 (revision 50148). 9885:20150305:105532.761 Starting Zabbix Server. Zabbix 2.2.7 (revision 50148). 9885:20150305:105532.761 ****** Enabled features ****** 9885:20150305:105532.761 SNMP monitoring: YES 9885:20150305:105532.762 IPMI monitoring: YES 9885:20150305:105532.762 WEB monitoring: YES 9885:20150305:105532.762 VMware monitoring: YES 9885:20150305:105532.762 Jabber notifications: YES 9885:20150305:105532.762 Ez Texting notifications: YES 9885:20150305:105532.762 ODBC: YES 9885:20150305:105532.762 SSH2 support: YES 9885:20150305:105532.762 IPv6 support: YES 9885:20150305:105532.762 ****************************** 9885:20150305:105532.762 using configuration file: /etc/zabbix/zabbix_server.conf

Configuration de l’interface web de Zabbix

Création du fichier de configuration pour Apache2 :

nano /etc/apache2/conf-available/zabbix-server.conf

Coller ceci dans le fichier “zabbix-server.conf” :

<IfModule mod_alias.c> Alias /zabbix /usr/share/zabbix </IfModule>

Page 21: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

21 Supervision V. Robion

<Directory /usr/share/zabbix> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>

Activer cette nouvelle configuration :

a2enconf zabbix-server

Modification du fichier de configuration de Php :

nano /etc/php5/apache2/php.ini

Modifier les valeurs de ces lignes dans ce fichier :

max_execution_time = 600 max_input_time = 600 memory_limit = 256M post_max_size = 32M upload_max_filesize = 16M date.timezone = "Europe/Paris"

PS : Pensez à supprimer le point virgule avant (date.timezone = “Europe/Paris”) Relancez Apache2 :

systemctl restart apache2

Fin du paramétrage de Zabbix via l’interface web Ouvrir le navigateur internet et saisir dans la barre URL :http://{Ip_Serveur}/zabbix/setup.php

Pour se rendre sur l’URL du serveur dans un navigateur, nous devons par exemple ouvrir firefox (iceweasel) ou lorsque nous tapons la commande “firefox” pour lancer le navigateur, nous avons cette réponse :

(process:6397): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed Error: cannot open display: :0.0

Ceci est dû au fait que nous n’avons pas d’interface graphique mais juste un terminal, il faut donc lancer le navigateur du serveur mais qu’il soit afficher sur notre poste, nous devons donc faire la commande :

ssh -X nom_utilisateur@Ip_Serveur

Page 22: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

22 Supervision V. Robion

Or le message suivant s’affiche :

Alors, tapez les commandes suivantes :

ssh-keygen -f “/home/math/.ssh/know_hosts” -R IP_Serveur ssh -X nom_utilisateur@Ip_Serveur

Nous avons donc cette interface :

Suivre ces étapes :

Cliquez sur “Next”

Page 23: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

23 Supervision V. Robion

Next

L’utilisateur et le mot de passe sont ceux qui ont été mis lors de l’installation des tous premier paquets.

Page 24: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

24 Supervision V. Robion

Remplissez la case Name puis cliquez sur Next

Connectez-vous avec les identifiants : login : admin mot de passe : zabbix

Agent Zabbix

Mise en place de l’agent :

Page 25: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

25 Supervision V. Robion

http://powtos.fr/233-agent_zabbix/

Configuration de l’agent : https://www.digitalocean.com/community/tutorials/how-to-install-zabbix-on-ubuntu-configure-it-to-monitor-multiple-vps-servers

Installation du paquet agent Zabbix

Debian

Nous téléchargeons le paquet de l'agent : wget http://repo.zabbix.com/zabbix/2.4/debian/pool/main/z/zabbix-release/zabbix-release_2.4-1+wheezy_all.deb

Nous installons le paquet : dpkg -i zabbix-release_2.4-1+wheezy_all.deb

Nous mettons à jour nos dépôts et installons l'agent : apt-get update && apt-get install zabbix-agent

Ubuntu

Nous téléchargeons le paquet : wget http://repo.zabbix.com/zabbix/2.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.4-1+trusty_all.deb

Nous installons le paquet : dpkg -i zabbix-release_2.4-1+trusty_all.deb

Nous mettons à jour nos dépôts et installons l'agent : apt-get update && apt-get install zabbix-agent

Fichier de configuration

Le fichier de configuration est identique pour Debian et Ubuntu. Nous configurons l'agent zabbix 2.4 : nano /etc/zabbix/zabbix_agentd.conf

[...] Server=172.16.19.176 #IP du serveur Zabbix

Page 26: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

26 Supervision V. Robion

[...] Hostname=Serv_Zabbix #hostname serveur Zabbix [...]

Nous redémarrons l'agent : /etc/init.d/zabbix-agent restart

L’installation de l’agent zabbix est à présent terminée.

Ensuite il faut configurer l’hôte depuis le serveur, il faut se rendre dans “Configuration > Hôtes” puis “créer un hôte” en haut à droite.

Puis vous entrez les configurations nécessaires comme ceci :

Page 27: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

27 Supervision V. Robion

TUTO ZABBIX : /home/math/Documents/ValentinR/Zabbix - wiki.html

A faire : Se renseigner comment monitorer un d’onduleur Installer l’agent zabbix sur le serveur bashung Installer l’agent zabbix sur proxmox2

http://www.generation-linux.fr/index.php?post/2009/06/03/Zabbix-un-excellent-logiciel-de-supervision-reseau

Nous nous connectons sur le serveur proxmox2 sur lequel nous devons déposer un agent hors nous avons un problème pour installer les paquets

Pour cela on se doit de modifier le contenu du fichier « apt.conf » qui sert à configurer le gestionnaire de paquets Aptitude. Éditez grâce à votre éditeur de texte préféré, le fichier « apt.conf » situé dans /etc/apt Acquire::http::Proxy "http://172.16.1.12:3128"; Sauf que le problème persiste, mais en regardant bien le message d’erreur, on s’aperçois que c’est le protocole ftp qui est concerné, on décide donc d’ajouter une ligne comme ceci (les protocoles concerné par le proxy sont donc http, https et ftp) : Acquire::http::Proxy "http://172.16.1.12:3128"; Acquire::https::Proxy "https://172.16.1.12:3128"; Acquire::ftp::Proxy "ftp://172.16.1.12:3128"; Et maintenant l’installation des paquets se fait correctement.

ZABBIX : http://www.syloe.com/supervision-zabbix/

Tuto pour le script zabbix : http://www.generation-linux.fr/index.php?post/2009/06/19/Executer-une-commande-a-distance-en-cas-d-alerte-Zabbix Marque onduleur : APC câble série : USB>Serie Pour configurer l’onduleur branché par câble série au serveur, il faut d’abord atteindre le port, il faut donc utiliser Putty afin de se connecter sur le port : http://quick-tutoriel.com/322-comment-utiliser-un-adaptateur-usb-serie-rs-232-sous-ubuntu/ Conf master(superviseur) et slave(machine auquel est rattaché l’onduleur) https://trac.resel.fr/wiki/Configuration/Onduleur pb dpkg

Page 28: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

28 Supervision V. Robion

Remove your /var/lib/dpkg/lock file and force package reconfiguration.

sudo rm /var/lib/dpkg/lock sudo dpkg --configure -a

Superviser une interface avec zabbix via port serie/usb : https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/zabbix_agent?s[]=serial&s[]=usb

NAGIOS

Installer nagios : https://blog.jolos.fr/2015/09/installer-nagios-4-sur-debian-8/ http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/ Installation snmp : http://www.it-connect.fr/installation-de-snmp-sous-linux/ Superperviser onduleur : ? http://www.be-root.com/2015/07/01/supervision-onduleur-nagios/ Informations sur l’architecture de Nagios : http://blog.nicolargo.com/2008/06/structure-des-fichiers-de-configuration-de-nagios-3.html Installation Centreon : http://www.sugarbug.web4me.fr/atelier/installations/debian/debian_centreon_26/#engine https://documentation.centreon.com/docs/centreon/en/latest/installation/from_sources.html http://raphaelt.fr/wiki/doku.php?id=monitoring:centreon:install http://djibril.developpez.com/tutoriels/linux/nagios-pour-debutant/ http://www.sugarbug.web4me.fr/atelier/installations/debian/debian_centreon_26/

Superviser les hôtes

Modifier le fichier localhost.cfg :

Page 29: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

29 Supervision V. Robion

Ainsi que les lignes de services dans la suite de ce fichier.

PowerChute

https://www.youtube.com/watch?v=HIqyVijvzPg&spfreload=10

Connexion sur PowerChute :

Nous avons ensuite installé cet outil sur le serveur puis avons établis la

communication entre le serveur et l’onduleur :

Page 30: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

30 Supervision V. Robion

Il faut maintenant créer un script qui va permettre, lors d’une coupure de courant, d’éteindre proprement les serveurs et pourquoi pas d’envoyer une notification par message (E-mail et/ou SMS).

Pour cela nous devons, lorsqu’un évènement doit éteindre les serveur, créer un script qui pourrait passer sur les serveurs via connections SSH, hors les serveurs sont protégé par un mot de passe qu’il faut rentrer après avoir entré le nom d’utilisateur, nous devons donc contourner cela en mettant pourquoi pas en place un clé RSA pour que le serveur de supervision puisse se logger sans problème aux autres serveur afin de faire une commande shutdown automatiquement.

http://voidandany.free.fr/index.php/simplifier-les-connexions-ssh/

Sauf que le l’onduleur APC n’a pas le même langage que la console Linux, il est donc difficile de créer une clé RSA depuis celui ci afin qu’il puisse se connecter sur les serveurs. Il aurait donc peut être fallu que l’onduleur soit connecté par série/USB à un serveur Linux afin que celui ci puisse avoir une clé, mais nous ne savons pas comment contrôler un onduleur branché sur un serveur.

Vu que l’onduleur est supervisé par la machine 172.16.19.176 (Shinken), il est peut être possible d’installer une clé RSA sur shinken, et la clé publique sur les postes supervisé.

Installation de la clé RSA

Nous allons d’abord généré cette clé avec cette commande :

ssh-keygen -t rsa

Page 31: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

31 Supervision V. Robion

Puis nous allons copier cette clé sur le ou les serveur(s) concernés par le script :

ssh-copy-id -i .ssh/id_rsa.pub [email protected]

https://www.youtube.com/watch?v=d3NtshHkzkU → installation clé RSA

La clé RSA principale a donc été placée sur le serveur shinken. Les clés publiques (id_rsa.pub) sont placé sur nos pc pour les tests, les scripts fonctionnent comme il faut, nous pouvons éteindre les ordinateurs (ou serveurs) à distance via SSH grâce à une clé RSA et une connexion automatique en root.

lien : https://www.youtube.com/watch?v=d3NtshHkzkU

Sur le serveur :

Se connecter en SSH en exécutant le script sur la machine distante :

Sur le PC à éteindre : Exécution du script qui va se connecter en root et exécuter la commande qui éteindra le pc :

Page 32: Monitoring - Weeblyportfolio-valentinrobion.weebly.com/uploads/5/2/1/8/... · 2019-09-26 · Zabbix Il permet de superviser réseau, systèmes (processeur, disque, mémoire, processus,…).

32 Supervision V. Robion

Nous avons donc le script principal sur le serveur shinken : script_shutdown.sh

#!/bin/sh #ssh nomutilisateur@adresseip "sh /chemin/du/script/a/executer.sh" ssh [email protected] "sh /script/shutdown.sh" exit

Et les scripts qui s'exécutent sur les ordinateurs ou serveurs distants grâce à celui-ci : script_shutdown_execute.sh

#!/bin/sh echo mdpduroot | sudo -S poweroff exit

Le serveur Shinken gère l’onduleur grâce à Powerchute, nous devons donc faire en sorte que lorsque la batterie de l’onduleur s’active (et qu’il y a donc une coupure de courant), le script s’exécute depuis le shinken sur les serveurs concernés par le shutdown afin qu’ils puissent s’éteindre correctement. D’autres scripts peuvent être ajoutés afin d'exécuter certaines taches avant d'éteindre correctement les serveurs, ainsi nous pouvons faire en sorte qu’un email ou un sms soit envoyé afin de prévenir l’administrateur de cette panne.