Le rapport de mon stage à moi
Transcription
Le rapport de mon stage à moi
Étude et mise en place d'une solution de supervision basée sur F.A.N. pour la préfecture des bouches du Rhône Teddy Perrin < [email protected] > V. 11-1214 Table des matières Présentation et objectifs....................................................................................................................1 1. Étude de la doc existante...............................................................................................................2 1.1. L'existant...............................................................................................................................2 1.1.3. Documentation................................................................................................................2 Technique..................................................................................................................................................... 2 1.2. Solution actuelle.....................................................................................................................3 1.2.1. État des lieux..................................................................................................................3 1.2.2. Analyse de la solution en place........................................................................................3 2. Besoins.........................................................................................................................................4 2.1. 2.2. 2.3. 2.4. Contraintes.............................................................................................................................4 Serveur..................................................................................................................................4 M.I.B......................................................................................................................................5 Documentation.......................................................................................................................6 3. Mise en place du serveur de supervision.........................................................................................7 3.1. Installation et configuration de la distribution FAN...................................................................7 3.1.1. Installation du système d'exploitation..............................................................................7 3.1.2. Configuration du réseau..................................................................................................9 Interface réseau........................................................................................................................................... 9 Les routes..................................................................................................................................................... 9 Le DNS......................................................................................................................................................... 9 Le nom de machine.................................................................................................................................... 10 Sauvegarde et restauration de la config réseau.......................................................................................... 10 MàJ et nouveaux paquets : proxy................................................................................................................ 10 3.2. Configuration du système d'exploitation................................................................................11 3.3. Configuration de Nagios et Centreon.....................................................................................12 3.3.1. Configuration de Nagios.................................................................................................12 Les fichiers de configurations principaux.................................................................................................... 12 Exemples de fichiers de configuration :...................................................................................................... 13 Test de la configuration............................................................................................................................... 16 3.3.2. Configuration de Centreon.............................................................................................17 Les fichiers de configuration....................................................................................................................... 17 Modèles...................................................................................................................................................... 17 Hôtes.......................................................................................................................................................... 19 Groupe d'hôte............................................................................................................................................. 20 Services...................................................................................................................................................... 20 Commande................................................................................................................................................. 21 Utilisateurs / Contacts................................................................................................................................ 21 Périodes...................................................................................................................................................... 22 Notifications............................................................................................................................................... 22 Bases de données...................................................................................................................................... 23 MIBs........................................................................................................................................................... 23 Status Map................................................................................................................................................. 24 4. La supervision du réseau..............................................................................................................25 4.1. Configurations supplémentaires............................................................................................25 Clients Microsoft Windows.......................................................................................................................... 25 4.2. Visualisation.........................................................................................................................27 4.2.1. Les hôtes et les services................................................................................................27 4.2.2. Les graphiques..............................................................................................................28 Personnalisation des courbes..................................................................................................................... 28 4.3. Compte utilisateur en lecture seul.........................................................................................29 4.3.1. Création du compte.......................................................................................................29 4.3.2. Gestion des ACL.............................................................................................................30 Création du groupe d'accès........................................................................................................................ 30 Paramétrage "lecture seule"....................................................................................................................... 30 Paramétrage de la visualisation du contenu............................................................................................... 32 5. Alertes automatiques...................................................................................................................33 5.1. Alertes automatiques par mail...............................................................................................33 Configuration de Postfix.............................................................................................................................. 33 5.2. Alertes automatiques par SMS...............................................................................................34 Méthode classique...................................................................................................................................... 34 Avec smstool.............................................................................................................................................. 35 6. Sauvegardes................................................................................................................................37 6.1. Sauvegarde des configurations et données............................................................................38 6.2. Restaurations des configurations et données.........................................................................39 Conclusion.......................................................................................................................................41 Technique....................................................................................................................................41 Personnel....................................................................................................................................41 FAQ.................................................................................................................................................42 Glossaire.........................................................................................................................................43 Crédits............................................................................................................................................44 Remerciements................................................................................................................................45 Supervision avec F.A.N. Présentation et objectifs Présentation et objectifs La SRDSIC (Service Régional et Départemental du Système d'Information et de Communication) se trouve dans l'hôtel préfectoral, à Marseille. Le préfet, représentant du Gouvernement, dirige les services de l’État dans le département, à l’exception de l'inspection académique et de la direction départementale des finances publiques qui ne relèvent que partiellement de son autorité. Il reste seul chargé de l’ordre public, au sens large, du contrôle administratif des collectivités et de leurs établissements, et de l’exercice des missions régaliennes de l'État. Les principaux services fournis par la préfecture sont : La représentation de l’État et la communication La sécurité des personnes et des biens Le service au public et la délivrance des titres Le respect de la légalité et de l’État de droit L'intégration sociale et la lutte contre les exclusions L'administration du territoire et le développement économique La préfecture de Marseille est épaulée localement par 3 sous-préfectures situées à Istres, Arles et Aix-en-Provence. Le SRDSIC est subdivisé en plusieurs services dont M. Thierry Lepage est le responsable. Pour ma part, mon stage est effectué sous la bienveillance de Lionel Mourre du service Administration Réseau et Systèmes informatiques. Mon stage portera sur la mise en place d'une solution de supervision basée sur F.A.N. (Fully Automated Nagios), solution qui était déjà en production mais dont le service a du être interrompu suite à une panne matériel. Je me baserai donc sur une documentation existante afin de remettre en œuvre une solution similaire et présentant les mêmes caractéristiques. L'accent sera mis sur les graphes d'utilisation de bandes passantes et il devra être rédigé les documentations technique, administrateur et utilisateur. Il faudra également anticiper l'intégration future des [ DDCS, DDPP, DDSP et DDTM ] au sein du même "réseau". Il peut également être tenté de récupérer les anciennes bases de données et de les intégrer dans la nouvelle installation. V. 11-1214 T. Perrin Page 1 / 45 Supervision avec F.A.N. 1. Étude de la doc existante 1. Étude de la doc existante 1.1. L'existant 1.1.3. Documentation Technique Une documentation est à ma disposition, décrivant la réflexion qui a conduit au choix de la distribution F.A.N., l'installation et les configurations nécessaires. Cette documentation a été réalisé par Tristan Laisné en Juin 2009. Voici la structure de cette documentation : A. Étude et test des solutions de supervision de réseau B. Installation et configuration du serveur 1. Installation et configuration générale 2. Installation et configuration du système de notification par mail 3. Installation et configuration du système de notification par SMS C. Mise en place de la supervision 1.Ajouts des hôtes 2.Ajouts des services à surveiller V. 11-1214 T. Perrin Page 2 / 45 Supervision avec F.A.N. 1.2. Solution actuelle 1.2. Solution actuelle 1.2.1. État des lieux La solution basée sur F.A.N. était installée sur une tour PC . Malheureusement suite à une série d'incidents électriques le matériel a fini par lâcher et n'a pas été remplacé. Cette solution n'est donc plus. Toutefois une autre installation, de Nagios seul, existe. Sur un réseau séparé. Bases de données : Disques durs HS → Pas de redondance. 1.2.2. Analyse de la solution en place La solution n'étant plus en production, nous étudierons le document technique ayant servi d'étude avant installation. Le choix s'est donc porté sur la distribution FAN (Fully Automated Nagios) qui est une distribution GNU/Linux CentOS avec Nagios pré-installé, ainsi que les plu-gins les plus utilisés. Sont également pré-installés Nagvis, Centreon et NaReTo : Nagvis permet de créé des cartes personnalisées du réseau. Centreon fournit à Nagios une interface web, et donc graphique, facilitant sa configuration et son utilisation. NaReTo permet une vue global du réseau (état du réseau, suivi des alertes et graphiques des disponibilités). En plus de ses fonctionnalités graphiques et statistiques, la distribution FAN offre une grande simplicité d'installation et de configuration. Enfin, le grand nombre de plu-gins permet de faire évoluer son système facilement. V. 11-1214 T. Perrin Page 3 / 45 Supervision avec F.A.N. 2. Besoins 2. Besoins Éléments à superviser : nom et IP Services à surveiller : services critiques, associés aux éléments Destinataires des alertes (mails et SMS) : Établir une politique de remonté d'alarme cohérente (contact, horaires, groupe de contacts, etc) Utilisateurs de la plate-forme Schéma réseau représentant les dépendances entre éléments. 2.1. Contraintes Réutilisation de F.A.N. Même configuration des alertes (mails ET SMS) Visualisation graphique + statistiques. L'installation, configuration et administration de F.A.N. nécessitent des compétences dans divers domaines, tel que : l'administration d'un serveur web de type apache2 les bases de données MySQL l'architecture réseau (routeurs, switches, périphériques finaux) le serveur de messagerie Postfix le service/protocole SNMP Anticiper la possible intégration de plusieurs autres réseaux à court terme (± 1 an). 2.2. Serveur Physique → un PC. Une interface graphique était présente sur la version précédente de la solution de supervision, il s'agissait de XFCE qui avait été choisit pour sa légèreté (basse consommation CPU et mémoire). Nous l'installerons donc sans pour autant l'activer au démarrage du serveur. L'administrateur aura donc le choix de son utilisation. Il est envisageable de placer les bases de données sur un disque séparé du système. V. 11-1214 T. Perrin Page 4 / 45 Supervision avec F.A.N. 2.3. M.I.B. 2.3. M.I.B. Les MIBs (Management Information Base) sont des bases de données utilisées pour la gestion des réseaux, manipulables par des protocoles tels que SNMP. Ces informations sont structurées sur une entité réseau tel qu'un routeur, un switch ou un serveur. Les MIBs ont une structure hiérarchique. Chaque information est un "object identifier" (OID) ; un suite de nombres séparés par des points, qui identifient cet OID de manière unique, et un nom indiqué dans le document, qui décrit ainsi la MIB. Par exemple, 1.3.6.1.2.1.2.2.1.2 est l'object identifier ifDescr qui est la chaîne de caractères décrivant une interface réseau (comme eth0 sur GNU/Linux ou Ethernet0 sur un routeur Cisco). Une des MIB les plus connues est MIB-II, décrite dans le RFC 1213, et qui est mise en œuvre dans quasiment tous les équipements TCP/IP. Elle compte 10 groupes, "system", "interfaces" (dont fait partie ifDescr), "Address Translation", "IP", "ICMP", "TCP", "UDP", "EGP", "transmission" et "SNMP". Les MIB sont décrites en utilisant ASN.1. Par exemple, ifDescr est décrite par : ifDescr OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "A textual string containing information about the interface. This string should include the name of the manufacturer, the product name and the version of the hardware interface." ::= { ifEntry 2 } V. 11-1214 T. Perrin Page 5 / 45 Supervision avec F.A.N. 2.3. M.I.B. Pour trouver les MIB correspondant au matériel qu'on souhaite superviser,on peut utiliser le moteur de recherche dédié disponible à l'adresse suivante (payant) : http://www.mibdepot.com/cgi-bin/xsearch_index3.cgi On peut aussi tenter de les récupérer sur les sites des constructeurs. Dans le cas présent, il nous faudra des MIBs Alcatel et 3com. Avant d'importer une MIB, il faut s'assurer que le fabricant existe dans la base, sinon le créer. Le projet Net-SNMP gère une grande quantité de matériel : http://www.net-snmp.org et http://www.net-snmp.org/wiki/ 2.4. Documentation Les documentations technique et administrateur seront des versions épurées de ce rapport de stage, accompagnées d'une FAQ et d'un glossaire. La documentation utilisateur ne traitera que de la partie "utilisation", associée à une FAQ ainsi qu'un glossaire. La documentation administrateur contiendra les identifiants, mots de passe, nom d'hôte et adresses IP des matériels supervisés. Cette documentation administrateur sera à l'usage exclusive du bureau Administration Réseaux et Systèmes Informatiques V. 11-1214 T. Perrin Page 6 / 45 Supervision avec F.A.N. 3. Mise en place du serveur de supervision 3. Mise en place du serveur de supervision Les mots de passe, noms de périphériques et adresses qui suivent ne sont utilisés qu'à des fins de tests et seront bien sûr modifiés lors de la mise en production. Les valeurs réelles ne figureront alors que sur le document administrateur qui ne sera fournit qu'à Messieurs Thierry Lepage – chef des services SIC , Lionel Mourre et Jean-Claude Weingaertner – administrateurs réseau et systèmes informatiques. La mise en place s'effectue au préalable sur un serveur de test sous Virtualbox. Tenir compte du temps nécessaires à la mise en production effective : Mise en place et premiers résultats : 1 semaine. Configuration avancé et stabilisé + pérennisation : plusieurs semaines 3.1. Installation et configuration de la distribution FAN 3.1.1. Installation du système d'exploitation Après avoir récupéré la version qui nous intéresse à l'adresse http://fannagioscd.sourceforge.net, on commence l'installation. L'application permettant l'installation est en mode semi-graphique et utilise une interface ncurse. Pour passer des champs de choix à ceux de validation/annulation, on peut utiliser la touche <TAB>. Installation par disque USB, CD/DVD ou PXE. A la fenêtre d'accueil il suffit d'appuyer sur la touche <Entrée> - ou <Enter> - (--install or upgrade in graphical mode). On choisit ensuite la langue : French et le type de clavier : fr-latin1. V. 11-1214 T. Perrin Page 7 / 45 Supervision avec F.A.N. 3.1.1. Installation du système d'exploitation Attention ! Pour le partitionnement des disques, on choisira de supprimer TOUTES les partitions existantes et d'utiliser celui par défaut. Il convient donc d'insister sur le fait que toutes les données présentes sur le(s) disque(s) seront supprimées et perdues. Le reste de l'installation se fait tout seul, il vous sera seulement demandé d'entrer un mot de passe pour root, puis de le confirmer en le tapant une seconde fois. Pour notre test nous choisissons Provence130. Après redémarrage du système on se connecte en CLI avec le compte root et le mot de passe définit précédemment. Important : Après avoir taper "root", puis <Entrée>, rien ne s'affichera lorsque vous rentrerez le mot de passe. C'est un fonctionnement tout à fait normal sur les machines GNU/Linux-BSD. Après avoir taper le mot de passe, validez, vous êtes connecté. V. 11-1214 T. Perrin Page 8 / 45 Supervision avec F.A.N. 3.1.2. Configuration du réseau 3.1.2. Configuration du réseau Au lancement il nous est proposé de configurer l'authentification, le réseau, le DNS et …, mais il est préférable de le faire comme proposé dans le reste de la documentation. Interface réseau L'utilitaire de configuration du réseau peut également être lancé avec la commande system-config-network ou encore : ~# nano /etc/sysconfig/networking/devices/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes HWADDR=01:23:45:AB:CD:EF TYPE=Ethernet NETMASK=255.255.252.0 IPADDR=10.13.vv.zzz GATEWAY=10.13.xx.yyy On appuie sur les touches <Ctrl> + <x> pour quitter puis <o> pour valider l'enregistrement des modifications. Il est bien sûr possible d'utiliser Emacs, Vi ou Vim pour l'édition de fichiers. Se reporter aux documentations des applications et/ou aux pages de man. Les routes Pour que les routes soient prises en compte au démarrage il faut les inscrire dans un fichier texte : ~# nano /etc/sysconfig/network-scripts/route-eth0 GATEWAY0=10.13.xx.yyy NETMASK0=255.255.252.0 ADDRESS0=10.13.vv.zzz Le DNS On édite ensuite le fichier resolv.conf pour lui indiquer l'adresse du DNS principal et des DNS secondaires : ~# nano /etc/resol.conf nameserver 10.113.xx.yyy nameserver 10.221.vv.www nameserver 10.235.uu.zzz V. 11-1214 T. Perrin Page 9 / 45 Supervision avec F.A.N. 3.1.2. Configuration du réseau Le nom de machine Par commodité et souci de clarté nous allons renommer la machine faisant office de serveur Nagios (Variable HOSTNAME) : ~# nano /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=PREF13-nagios # ou PREF13-nagios est le nouveau nom Sauvegarde et restauration de la config réseau Sauvegarde : ~# system-config-network-cmd -e > ~/network-config Restauration : ~# system-config-network-cmd -i -c -f ~/network-config avec -i : importation des données, -c : suppression de la configuration existante avant import et -f : spécifie le fichier à importer. MàJ et nouveaux paquets : proxy Les mises à jour et l'installation de nouveaux paquets nécessite l'ajout de l'adresse de proxy dans le fichier de configuration de yum. On le rajoute donc en fin de fichier, juste avant les dépôts supplémentaires : ~# nano /etc/yum.conf ... installonly_limit = 5 # Configuration proxy proxy=http://10.253.xx.yyy:pppp/ proxy_username=le_login proxy_password=le_mot-de-passe # PUT YOUR REPOS HERE OR IN separate files named file.repo # in /etc/yum.repos.d ... V. 11-1214 T. Perrin Page 10 / 45 Supervision avec F.A.N. 3.2. Configuration du système d'exploitation 3.2. Configuration du système d'exploitation Si pour une obscure raison, la nécessité d'avoir une interface graphique sur le serveur se fait trop pressante, voici un remède : ~# yum groupinstall "Xfce" "X Window System" ~# startx ~# system-config-display # pour configurer l’affichage ou bien encore : ~# yum --exclude=nautilus-sendto groupinstall "GNOME Desktop Environment" "X Window System" ~# startx ~# system-config-display V. 11-1214 # pour configurer l’affichage T. Perrin Page 11 / 45 Supervision avec F.A.N. 3.3. Configuration de Nagios et Centreon 3.3. Configuration de Nagios et Centreon 3.3.1. Configuration de Nagios La configuration de Nagios se fait au travers de Centreon, il n'est donc normalement pas nécessaire d'éditer directement les fichiers de configuration. Néanmoins, connaître leur structure aide toujours en cas de problème. Les fichiers de configurations principaux /etc/nagios Répertoire contenant les fichiers de configuration. cgi.cfg : fichier de configuration des CGI. ndomod.cfg : fichier de configuration du broker Ndo utilisé dans le nagios.cfg. resource.cfg : possibilité de définir des informations sensibles (login, passwd…) command-plugins.cfg : définition des commandes "check". nagios.cfg : fichier de configuration principal de Nagios. send_nsca.cfg : fichier de configuration de nsca. nrpe.cfg : fichier de configuration du serveur nrpe. htpasswd.users : stocke les utilisateurs et mot de passe (en crypté) ayant accès à Nagios. ndo2db.cfg : fichier de configuration de démon ndo2db. nsca.cfg : fichier de configuration du serveur nsca. /etc/nagios/objects localhost.cfg : définition de l’host "localhost" (i.e de Nagios). commands.cfg : définition des commandes (commandes de "check" et de notifications). contacts.cfg : définition des contacts. printer.cfg : définition des imprimantes. switch.cfg : définition des switches. templates.cfg : définition des modèles. timeperidos.cg : définition des périodes. /usr/lib/nagios Répertoire contenant les fichiers CGI et plu-gins Nagios. /usr/share/nagios Répertoire contenant les fichiers de l'interface web. V. 11-1214 T. Perrin Page 12 / 45 Supervision avec F.A.N. 3.3.1. Configuration de Nagios Exemples de fichiers de configuration : Attention, les commentaires doivent être précédés d'un point-virgule ";" à l'intérieur des accolades "{" et "}". serveurs_pref13.cfg #déclaration d’un serveur define host { host_name SRV01 alias Serveur Pref13 01 address 10.13.yy.xxx use generic-host } ; le nom de l’élément ; un alias ; adresse IP ; le type d’élément #déclaration d’un serveur define host { host_name Serveur-Fax alias Serveur de Fax address 10.13.yy.xxx use generic-host } routeurs_ pref13.cfg (switches_pref13.cfg et imprimantes_pref13.cfg ont le même type de configuration) #déclaration d’un routeur define host { host_name ASA-5505 alias Routeur Cisco ASA-5505 address 10.13.yy.xxx use generic-host } #déclaration d’un routeur define host { host_name google alias Moteur de recherche bien pratique address www.google.com use generic-host parents ASA-5505 ; élément dont il dépend géographiquement (status_map) } hostgroups.cfg #Tous les éléments define hostgroup { hostgroup_name alias members } # déclaration d’un groupe define hostgroup { hostgroup_name alias members } V. 11-1214 all Tous les éléments * Serveurs GNU/LINUX ; nom du groupe Serveurs GNU/LINUX Axians; alias nagios ; membres du groupe, correspond au host_name T. Perrin Page 13 / 45 Supervision avec F.A.N. # déclaration d’un groupe define hostgroup { hostgroup_name alias members } Serveurs WINDOWS Serveurs WINDOWS Axians SRV01, Serveur-Fax services.cfg define service{ use host_name service_description check_command } generic-service nagios Nombre Utilisateur check_users!20!50 define service{ use hostgroup_name service_description check_command } generic-service srv-gnu/linux ; nom du groupe concerné Total Processus check_procs!400!800 define service{ use host_name service_description check_command } generic-service nagios Charge courante check_load!5.0!4.0!3.0!10.0!6.0!4.0 ; template utilisé ; nom de l'hôte concerné ; nom du service ; commande utilisée (dans commands.cfg) generic-host.cfg define host{ name notifications_enabled event_handler_enabled flap_detection_enabled failure_prediction_enabled process_perf_data retain_status_information retain_nonstatus_information } V. 11-1214 check_command max_check_attempts notification_interval notification_period notification_options contact_groups register generic-host ; Nom de ce modèle d'hôte 1 ; Notifications d'hôte 1 ; Gestionnaire d'événements 1 ; Détection des variations 1 ; Prédiction de défaillance 1 ; Données de performance des processus 1 ; Conservation des informations d'état au redémarrage 1 ; Conservation des informations d'état noninscrites au redémarrage check-host-alive ; commande de test par défaut (ping) 10 0 24x7 d,u,r admins 0 T. Perrin Page 14 / 45 Supervision avec F.A.N. generic-service.cfg define service{ name active_checks_enabled passive_checks_enabled parallelize_check obsess_over_service check_freshness notifications_enabled event_handler_enabled flap_detection_enabled failure_prediction_enabled process_perf_data retain_status_information retain_nonstatus_information notification_interval } is_volatile check_period normal_check_interval retry_check_interval max_check_attempts notification_period notification_options contact_groups register generic-service ; Nom de ce modèle de service 1 ; Contrôle des services actifs activé 1 ; Contrôle des services passifs activé/accepté 1 ; Le contrôle des services actifs devrait être "parallélisés" (en désactivant tout ce qui peut provoquer des problèmes majeurs de performance) 1 ; On devrait être obsédé par ce service(activé si nécessaire) 0 ; Par défaut, on NE VERIFIE PAS la "fraîcheur" des services 1 ; Notifications des services 1 ; Gestionnaire d'événements des services 1 ; Détection des variations 1 ; Prédiction de défaillances 1 ; Données de performance des processus 1 ; Conservation des informations d'état au redémarrage 1 ; Conservation des informations d'état noninscrites au redémarrage 0 ; Par défaut envois de notifications seulement au changement d'état 0 24x7 5 1 4 24x7 w,u,c,r admins 0 extinfo.cfg define hostextinfo{ hostgroup_name notes icon_image icon_image_alt vrml_image statusmap_image } Serveurs GNU/LINUX Serveurs GNU/LINUX base/debian.png Debian GNU/Linux debian.png base/debian.gd2 time-period.cfg define timeperiod{ timeperiod_name alias monday tuesday wednesday thursday friday } V. 11-1214 workhours Standard Work Hours 09:00-17:00 09:00-17:00 09:00-17:00 09:00-17:00 09:00-17:00 T. Perrin Page 15 / 45 Supervision avec F.A.N. dependances.cfg define hostdependency { host_name ASA-5505 dependent_host_name google notification_failure_criteria d } ; d = down Donc si ASA-5505 est down, aucune notifications ne sera envoyées concernant l'élément google (qui est son "fils"). Test de la configuration Il est utile et fortement recommandé de tester la nouvelle configuration de Nagios avant de l'appliquer : ~# nagios -v /etc/nagios/nagios.cfg V. 11-1214 T. Perrin Page 16 / 45 Supervision avec F.A.N. 3.3.2. Configuration de Centreon 3.3.2. Configuration de Centreon Après l'installation de F.A.N., Centreon est immédiatement opérationnel. Il se configure au travers de son interface web. Passer l'interface en français : cf à l'adresse suivante : http://en.doc.centreon.com/Setup:Language/fr Nécessite que F.A.N. puisse se connecter au réseau (proxy?). Les fichiers de configuration Les fichiers utiles de Centreon se trouvent dans les sous-dossiers du répertoire /usr/share/centreon. Toutefois nous ne les modifieront pas directement, l'interface web de Centreon est en effet conçue à cette intention. Tout se passe dans l'onglet maître "Configuration". Nous verrons la partie "Administration" ultérieurement. Modèles Les "template" sont des modèles type qui serviront de base pour les configurations des différents hôtes, services, etc, tout du moins dans un premier temps. Les modèles d'hôtes et de services disponibles par défaut : V. 11-1214 T. Perrin Page 17 / 45 Supervision avec F.A.N. 3.3.2. Configuration de Centreon Création d'un modèle d'hôte Configuration > Hosts > Templates > Add Relations Permet d'associer un ou plusieurs services au modèle. Il suffit de faire passer les services souhaités dans la colonne de droite. Data Processing Permet de modifier la configuration relative aux données des processus. Host Extended Infos Permet d'écrire un commentaire sur le modèle et de modifier les options avancés (icône et place sur la carte nagios par exemple). V. 11-1214 T. Perrin Page 18 / 45 Supervision avec F.A.N. 3.3.2. Configuration de Centreon Création d'un modèle de service Configuration > Services > Template > Add La configuration générale est la même que pour les modèles d'hôtes sauf pour : Check Command : choisir la commande lié au service Args : placer les arguments en fonction de la commande Hôtes Configuration > Hosts > Add Pour modifier un hôte, il suffit de le sélectionner en cliquant dessus puis de modifier les champs voulus. Pour créer un nouvel hôte on peut soit partir de zéro en remplissant les champs manuellement, soit partir d'un modèle, ou encore en dupliquant un hôte existant. La duplication est un copié/coller de la configuration dans laquelle il suffit bien souvent de ne modifier que le nom et l'adresse IP : Onglet "Configuration de l'hôte" Les champs principaux et nécessaires sont : Host Name (Nom de l'hôte), Alias, IP Adresse / DNS, Monitored from (Surveillé depuis) et Host Templates (Modèle d'hôte). Un hôte peut avoir plusieurs modèles, toutefois leur ordre est primordial, le premier de la liste est prioritaire sur les suivants. Onglet "Relations" Sélectionner un groupe et éventuellement un(des) parent(s) et/ou enfant(s) Hôtes parents et hôtes enfants permettent de créer une arborescence, ainsi pour un switch définit comme "père", tous les serveurs fils ne seront plus supervisés si il tombe. V. 11-1214 T. Perrin Page 19 / 45 Supervision avec F.A.N. 3.3.2. Configuration de Centreon IMPORTANT Lorsqu'on sauvegarde les modifications effectuées dans Centreon, celles-ci ne sont présentent que dans la configuration de Centreon. Centreon ne fait pas de supervision, cette tâche est dévolue à Nagios, il convient donc d'exporter la configuration sur le serveur nagios pour que les modifications soient prises en compte : Ne pas oublier de cocher "Move Export Files" pour que les fichiers soient déplacés physiquement dans l'arborescence de Nagios et choisir la méthode pour que Nagios prenne en compte la configuration (en général Restart est préféré à Reload). Groupe d'hôte Configuration > Hosts > Hosts Group On peut grouper les hôtes comme on le souhaite (par OS, type de matériel, marque, localisation, …). Il suffit de compléter la page en spécifiant le nom du groupe, son alias et ses membres. Les groupes ne sont pas figés et peuvent donc être modifiés ultérieurement Services Configuration > Services > Add Le principe est le même que pour les hôtes; on sélectionne un modèle ou on remplit les champs manuellement. Dans l'onglet "Relations", sélectionner les hôtes ou groupes d'hôtes liés au service. Les services peuvent être classés par hôte ou groupe d'hôtes. V. 11-1214 T. Perrin Page 20 / 45 Supervision avec F.A.N. 3.3.2. Configuration de Centreon Commande Configuration > Commandes > Checks Sur cette page s'affiche toutes les commandes déjà connues et modifiables. Il suffit de sélectionner la (ou les) commande(s) souhaitée(s) et de cliquer sur "ajouter". Nom de la commande : Ligne de commande : Exemple d'arguments : Type de commande : Modèle de graphique : Utilisateurs / Contacts Configuration > Users > Contacts/Users > Add Cette section permet également de gérer les plages horaires et commandes de notification (mais pas les notifications elles-même). Pour ajouter un utilisateur, il convient de remplir les champs suivant : Full Name (Nom complet), Alias/Login, Email, Pager, Linked to Contact Groups (groupe de contact parent). Groupe de contacts Configuration > Users > Contact Groups > Add Dans "Général information" choisir un nom pour le groupe ainsi qu'un alias. Ensuite choisir les relations voulues, puis mettre un commentaire si besoin. V. 11-1214 T. Perrin Page 21 / 45 Supervision avec F.A.N. 3.3.2. Configuration de Centreon Périodes Configuration > Users > Time Periods > Add Les plages horaires d'une même journée sont délimitées par une virgule ",". Une plage horaire doit toujours s'écrire sous la forme HH:MM-HH:MM sur 24 heures. Pour exclure une journée entière il suffit de ne pas lui définir de période : Notifications Configuration > Notifications > Escalations > Add Avec la configuration ci-dessus, la deuxième notification sera une notification par SMS. Les notifications prendront fin après la 3ème (1 par mail et 2 par SMS), avec un délai de 30 minutes entre 2 SMS. Et ces notifications seront envoyées aux contacts membres des groupes admin_sms et admin_mail. V. 11-1214 T. Perrin Page 22 / 45 Supervision avec F.A.N. 3.3.2. Configuration de Centreon Bases de données Administration > Databases Cette partie nous permet simplement de surveiller la taille de la base de données NDO. Cela offre la possibilité de réagir lorsque la base devient trop imposante (réduisant donc les performances). MIBs Les MIBs récupérées sur les sites des fabricants (par exemple) sont à placer dans le répertoire des MIBs, généralement il s'agit du répertoire /usr/share/snmp/mibs/ (et /usr/local/share/snmp/mibs/ sur les versions plus anciennes). Il faut ensuite ajouter le nom du fabricant dans la liste des constructeur : Configuration > Services > Manufacturer > Add Puis il faut faire l'import de la MIB voulu sous Centreon afin de la "traduire". Configuration > Services > MIBs et choisir le fabricant ainsi que le fichier correspondant à la MIB. V. 11-1214 T. Perrin Page 23 / 45 Supervision avec F.A.N. 3.3.2. Configuration de Centreon Status Map Le module "Status Map" est identique à celui installé par défaut dans Nagios. Il permet d’avoir une vue graphique du réseau, prenant compte des différents niveaux de l’architecture Pour Centreon ≥ 2.2 On télécharge les sources et on décompresse l'archive : http://denis.herve.free.fr/trsfrt/ # wget http://denis.herve.free.fr/trsfrt/statusmap-2.5.zip # unzip NagiosStatusMap-2.5.zip # cp -r statusmap/ /usr/share/centreon/www/modules/ On se rend ensuite dans notre interface web, onglet Administration, puis Modules. Sur la ligne correspondant au nom "statusmap", on clique sur le nom du module (ici "statusmap") pour l'installer, puis sur "Install module". On peut maintenant afficher la "Status Map" en se rendant sur l'onglet Monitoring, puis m_nagios_map. Pour Centreon < 2.1 : On télécharger les sources, on décompresse l'archive et on déplace le contenu de ce dossier vers le répertoire des modules de Centreon : # wget http://download.centreon.com/index.php?id=60 # tar zxvf NagiosStatusMap-1.1.tar.gz # cp -r statusmap/ /usr/share/centreon/www/modules/ On se rend ensuite dans notre interface web, onglet Administration, puis Modules. Sur la ligne correspondant au nom "statusmap", on clique sur le nom du module (ici "statusmap") pour l'installer, puis sur "Install module". On peut maintenant afficher la "Status Map" en se rendant sur l'onglet Monitoring, puis m_nagios_map. V. 11-1214 T. Perrin Page 24 / 45 Supervision avec F.A.N. 4. La supervision du réseau 4. La supervision du réseau Les identifiant et mot de passe de connexion sont par défaut nagiosadmin et nagiosadmin. Il faut bien sûr les changer avant la mise en production. 4.1. Configurations supplémentaires Clients Microsoft Windows Windows étant peu bavard en ce qui concerne la remontée d'alerte, il est nécessaire d'installer un agent sur ces clients. NSClient++ sera notre agent pour cette mission. On peut le télécharger à cette adresse : http://nsclient.org/nscp/downloads On décompresse, puis : C:\...> Cd \NSClient++-<numéro_de_version> C:\...> nsclient++/install Ensuite la documentation fourni avec NSClient++ recommande de modifier les options du service windows comme suit : On vérifie si le service a les permissions nécessaires pour intéragir avec le bureau : Panneau de configuration → Outils d'administration → Services → NSClientpp (Nagios) Clique droit sur le service, puis dans l'onglet "Connexion" cocher la case "Autoriser le service à interagir avec le bureau". Bouton "Appliquer" puis "OK" Maintenant il est nécessaire de modifier le fichier C:\NSClient++\NSC.INI (ou C:\Program Files[ (x86)]\NSClient++\NCS.ini suivant la méthode d'installation). Pour démarrer ou redémarrer le service NSClientpp (Nagios) ; un clic droit dessus, puis "Toutes les tâches" et choisir l'action voulue. V. 11-1214 T. Perrin Page 25 / 45 Supervision avec F.A.N. 4.1. Configurations supplémentaires On édite donc les parties [modules] [NSClient] et [Settings] comme ci-dessous. [modules] ;# NSCLIENT++ MODULES ;# A list with DLLs to load at startup. ; You will need to enable some of these for NSClient++ to work. ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;* * ;*NOTICE!!!-YOU HAVE TO EDIT THIS* ;* * ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FileLogger.dll CheckSystem.dll CheckDisk.dll NSClientListener.dll NRPEListener.dll SysTray.dll CheckEventLog.dll CheckHelpers.dll ;CheckWMI.dll ; ... On a décommenté les modules nous intéressant. [NSClient] … port=12489 ... Ici on a décommenté le port d'écoute, en laissant celui par défaut. [Settings] … password=votre_mot_de_passe allowed_hosts= adresse_IP_serveur_Nagios ... Et là on a décommenté les lignes password et allowed_hosts pour ajouter l’adresse IP du serveur Nagios . Notez qu'il suffit de dé commenter la ligne "password" si on souhaite un mot de passe. Il ne reste plus qu'à démarrer (ou redémarrer) le service et le client est prêt. V. 11-1214 T. Perrin Page 26 / 45 Supervision avec F.A.N. 4.1. Configurations supplémentaires Retournons sur l'interface de Centreon : Configuration > Commands > check_nt_disk (page 4) Lors de la configuration de l'hôte, ne pas oublier de cliquer sur la petite flèche bleue pour entrer les arguments par défaut et modifier si besoin, particulièrement le mot de passe : 4.2. Visualisation Il existe un addon pour Firefox qui affiche dans la barre d'état un indicateur des événements relevés par Nagios; il s'agit de "Nagios Checker" disponible à l'adresse : https://addons.mozilla.org/fr/firefox/addon/3607: 4.2.1. Les hôtes et les services Par défaut sous Centreon, la visualisation (onglet "monitoring") n'affiche que les éléments ayant un problème, i.e les états "warning" et "critical". Il suffit donc de sélectionner "All Services" dans le menu gauche de cet onglet "monitoring" pour les voir tous : V. 11-1214 T. Perrin Page 27 / 45 Supervision avec F.A.N. 4.2.2. Les graphiques 4.2.2. Les graphiques Views > Graphs Personnalisation des courbes Views > Graphs > Curves V. 11-1214 T. Perrin Page 28 / 45 Supervision avec F.A.N. 4.3. Compte utilisateur en lecture seul 4.3. Compte utilisateur en lecture seul 4.3.1. Création du compte Configuration > Users > Add Renseigner l'utilisateur comme sur la capture ci-dessous : Puis sur l'onglet "Centreon Authentication", on l'autorise à accéder à l'interface web de Centreon. On en profite pour lui assigner un mot de passe : V. 11-1214 T. Perrin Page 29 / 45 Supervision avec F.A.N. 4.3.1. Création du compte Il faut maintenant attribuer les droits voulus à cet utilisateur. 4.3.2. Gestion des ACL Création du groupe d'accès Le compte nouvellement créé doit être rattaché à un groupe d'accès. Administration > ACL > Access Groups > Add Déclarer ce nouveau groupe comme suit : Paramétrage "lecture seule" Administration > ACL > Menus Access > Add On nomme cette nouvelle liste, on l'active et on lui indique quel(s) groupe(s) lui est(sont) lié(s). V. 11-1214 T. Perrin Page 30 / 45 Supervision avec F.A.N. 4.3.2. Gestion des ACL Il suffit ensuite de sélectionner les pages auxquelles on souhaite autoriser l'accès à notre utilisateur comme sur l'exemple suivant : V. 11-1214 T. Perrin Page 31 / 45 Supervision avec F.A.N. 4.3.2. Gestion des ACL Paramétrage de la visualisation du contenu Administration > ACL > Ressources Access > Add Avec Centreon, il est possible d'autoriser un utilisateur à visualiser une ou plusieurs machines. Dans l'onglet "General Informations" on nomme et active la liste de contrôle d'accès aux ressources et on déclare un groupe pour qui le filtrage du Dans l'onglet contenu visible sera applicable. Dans l'onglet "Hosts Ressources" on définit les hôtes ou groupes d'hôtes que l'utilisateur peut voir. On fait de même dans l'onglet "Services Ressources" en sélectionnant les services visibles par l'utilisateur. V. 11-1214 T. Perrin Page 32 / 45 Supervision avec F.A.N. 5. Alertes automatiques 5. Alertes automatiques 5.1. Alertes automatiques par mail Configuration de Postfix Postfix est le serveur de messagerie installé par défaut sur la distribution F.A.N. Sa configuration se fait en éditant le fichier /etc/postfix/main.cf. Décommenter et compléter en fonction des besoins. [...] # INTERNET HOST AND DOMAIN NAMES # […] myhostname = nom_machine.nom_domaine # nom du serveur nagios suivi du nom de \ domaine. ligne 70 ~ […] mydomain = nom_domaine # nom du domaine. ligne 77 ~ # SENDING MAIL # [...] myorigin = myhostname # ligne 92 ~ #myorigin = $mydomain # RECEIVING MAIL [...] #relayhost = [mailserver.isp.tld] #relayhost = uucphost realyhost = IP_serveur_messagerie # Les mails sont transmis au serveur de \ messagerie de la préfecture pour être \ envoyés. ligne 304 ~ [...] On relance le service postfix : ~# /etc/init.d/postfix restart Dans Nagios la commande de notification par mail est : host-notify-by-email. Attention ! Nagios enverra par défaut des mails à la moindre occasion : encore revenu, Hôte injoignable, Etc... Service toujours OK, Service tombé, Service pas Cela à multiplier par le nombre de machines et de services. Il conviendra donc d'appliquer des règles de tri au préalable, règles qui seront affinées durant les premiers jours de mise en production. V. 11-1214 T. Perrin Page 33 / 45 Supervision avec F.A.N. 5.2. Alertes automatiques par SMS 5.2. Alertes automatiques par SMS Les câbles data du téléphone GSM doivent également servir à recharger le téléphone cellulaire via l'alimentation de la fiche USB. En effet, sur la plupart des mobiles, on ne peut pas connecter le cordon d'alimentation et le câble data en même temps. C'est un des points à surveiller dans le choix du GSM servant à la notification. Pour piloter le GSM, qui doit posséder un modem intégré répondant aux commandes AT, il est nécessaire d'installer la bibliothèque gsmlib, disponible dans le paquet gsm-utils. Note : La plupart des Nokia posent des problèmes de compatibilité dus à l'utilisation d'un protocole propriétaire. Méthode classique Test : On connecte le GSM via son câble data à un des connecteurs USB. Le système Hotplug va charger le module usbserial et on verra un périphérique supplémentaire, /dev/ttyUSB0. Pour le vérifier : ~# ls -al /dev/ttyUSBx Si il n'y a pas de ttyUSBx, il faut charger le module manuellement : ~# modprobe usbserial Le paquet gsm-utils fournit quelques commandes pour dialoguer avec le GSM. On va vérifier que le GSM répond bien avec la commande suivante : ~# gsmctl -d /dev/ttyUSB0 ALL Diverses informations disponibles sur le GSM s'affichent alors. On peut maintenant essayer d'envoyer un SMS : ~# gsmsendsms -d /dev/ttyUSB0 +33612345678 "Nagios - Test SMS OK ?" Configuration de Nagios : Si le SMS est reçu, il ne reste plus qu'à configurer Nagios pour qu'il puisse envoyer des SMS. Il faut autoriser l'utilisateur nagios à utiliser les commandes modems en l'ajoutant au groupe d'utilisateur dialout. Puis configurer la commande permettant à Nagios d'envoyer des SMS. Exemple de commandes, pour les services et les hôtes, définies dans le fichier /etc/nagios3/misccommands.cfg : define command{ command_name notify-by-sms command_line /usr/bin/gsmsendsms -d /dev/ttyUSB0 $CONTACTPAGER$ "Nagios - $NOTIFICATIONTYPE$ : $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ ($OUTPUT$)" } define command{ command_name host-notify-by-sms command_line /usr/bin/gsmsendsms -d /dev/ttyUSB0 $CONTACTPAGER$ "Nagios - $NOTIFICATIONTYPE$ : Host $HOSTALIAS$ is $HOSTSTATE$ ($OUTPUT$)" } V. 11-1214 T. Perrin Page 34 / 45 Supervision avec F.A.N. 5.2. Alertes automatiques par SMS Avec smstool Il est également possible d'envoyer des notifications par sms en cas de problème. Pour ce faire il est nécessaire d'avoir un modem gsm possédant une connexion USB. Il faut ensuite installer un logiciel permettant d'envoyer des sms depuis le serveur. Pour cela le logiciel smstool a été choisi. Simple de configuration, il est compatible avec un bon nombre de téléphones portables gsm. Installation de smstool : ~# yum install build-essential /* On télécharger les pré-requis de compilation: ~# wget http://smstools.meinemullemaus.de/packages/smstools-2.2.20.tar.gz /* On récupère l'archive ~# tar xzf smstools-2.2.20.tar.gz /* On décompression de l'archive ~# cd smstools ~# make ~# make install /* installation Configuration de smstool : La configuration de smstool se fait en éditant le fichier /etc/smsd.cf. Il faut au préalable connaître le nom du port sur lequel notre modem gsm est branché. Pour ce faire, il suffit de taper la commande dmesg après le branchement. Cette commande retourne l'adresse du dernier périphérique branchée sur le serveur. Une fois cette information connue on peut éditer le fichier de configuration de manière à obtenir: devices = GSM1 logfile = /var/log/smsd.log loglevel = 7 [queues] [provider] [GSM1] device = /dev/ttyACM1 incoming = no baudrate = 9600 rtscts= no Il faut ensuite créer une nouvelle commande de notification dans nagios: /usr/bin/printf "%b" "To: $CONTACTPAGER$\n\n**NAGIOS**\Type: $NOTIFICATIONTYPE$\Host:$HOSTNAME$\nState: $HOSTATE$\n\ Info:$HOSTOUTPUT$\nTime:$SHORTDATETIMES$">"/var/spool/sms/outgoing/nagios$CONTACTPAGER$-$HOSTNAME$- /bin/date +%s" V. 11-1214 T. Perrin Page 35 / 45 Supervision avec F.A.N. 5.2. Alertes automatiques par SMS Grâce à la commande /usr/bin/printf > /var/spool/sms/outgoing/ un fichier texte va être placé dans le dossier /var/spool/sms/outgoing/ qui contient les messages à envoyer avec smstool Le reste de la commande contient les informations qui seront affiché dans le message. Le message reçu sera de la forme suivante : To: n° de téléphone du contact Type: type du problème de l'hôte Host: Nom de l'hôte State: état de l'hôte Date: date et heure du problème Un système d'escalade de notification par sms a ensuite été mis en place grâce à Nagios. Si un équipement devient indisponible, au bout de 5 min un mail contenant le type de problème, le nom et l'adresse de l'équipement, la date et l'heure est automatiquement envoyé à l'administrateur. Si au bout de 20 minutes l'état de l'hôte est toujours le même un sms contenant les même informations est envoyé. Voici la référence des portables testés avec succès avec cette configuration: Sony Ericson W380i Sagem my700X Attention ! Comme pour les alertes par mail, le nombre d'alertes par SMS peut très vite devenir un problème. Là aussi des règles de tri sont nécessaires. V. 11-1214 T. Perrin Page 36 / 45 Supervision avec F.A.N. 6. Sauvegardes 6. Sauvegardes N'ayant pas trouvé de modules permettant une sauvegarde et une restauration aisées de Centreon, j'ai fait quelques scripts simples, en bash, à intégrer dans le cron du serveur (le fichier fan_backup_centreon.sh). La sauvegarde se fait ici sur la même machine. Il s'agit de scripts indicatifs, à modifié en conséquences. Une archive sera prochainement disponible à l'adresse : http://apps.tdey.org/monit/fan_pref13.tar.gz Je n'ai pas trouvé d'inos sur la nécessité ou non de stopper les services pendant la sauvegarde, je les arrête donc par défaut (il faut en tenir compte lors de la définition de l'horaire de sauvegarde du cron). #!/bin/sh # # # # # fan_services.sh Rôle : Arrêt et démarrage des services relatifs à F.A.N. case "$1" in start) ;; echo -e "\n\tDémarrage des services nécessaires à F.A.N.\n\n" /etc/init.d/nagios start /etc/init.d/centcore start /etc/init.d/centstorage start stop) echo -e "\n\tArrêt des services nécessaires à F.A.N.\n\n" /etc/init.d/nagios stop /etc/init.d/centcore stop /etc/init.d/centstorage stop ;; restart) echo -e "\n\tRedémarrage des services nécessaires à F.A.N.\n\n" $0 stop $0 start ;; status) echo -e "\n\États des services nécessaires à F.A.N.\n\n" /etc/init.d/nagios status /etc/init.d/centcore status /etc/init.d/centstorage status /etc/init.d/mysqld status ;; *) ;; echo -e "\n\tUsage:\tfan_services.sh {start|stop|restart|status}\n\n" exit 1 esac V. 11-1214 T. Perrin Page 37 / 45 Supervision avec F.A.N. 6.1. Sauvegarde des configurations et données 6.1. Sauvegarde des configurations et données #!/bin/sh # # # # # fan_backup_centreon.sh Rôle : Arrêt des services de FAN "si nécessaire" ### VARIABLES ### JOUR=`date +%Y%m%d` USERFAN=`whoami` fan_services.sh stop ### Archivage des fichiers de configuration mkdir ~/backup cd ~/backup tar cf logs_nagios.tar /var/log/nagios tar cf logs_centreon.tar /var/log/centreon tar cf cfg_nagios.tar /etc/nagios tar cf cfg_centreon.tar /etc/centreon tar cf cfg_centreon2.tar /usr/share/centreon/filesGeneration /usr/share/centreon/lib tar cf cfg_cron.tar /etc/cron.d/centreon /etc/cron.d/centstorage tar cf cfg_init.tar /etc/init.d/centcore /etc/init.d/centstorage /etc/init.d/nagios /etc/init.d/ndo2db tar cf vues_centreon.tar /var/lib/centreon ### Sauvegarde des bases de données mysqldump -u root --opt centreon2 > backup_bdd-centreon2.sql mysqldump -u root --opt centreon2_storage > backup_bdd-centreon2_storage.sql mysqldump -u root --opt nagios > backup_bdd-nagios.sql ### Redémarrage des services fan_services.sh start ### Compression des fichiers de sauvegarde if [ -e $HOME/FAN-cfg_$JOUR.tar.gz ]; then rm $HOME/FAN-cfg_$JOUR.tar.gz fi tar czvf $HOME/FAN-cfg_$JOUR.tar.gz ~/backup/logs_nagios.tar ~/backup/logs_centreon.tar ~/backup/cfg-nagios.tar ~/backup/cfg_centreon.tar ~/backup/cfg_centreon2.tar ~/backup/cfg_cron.tar ~/backup/cfg_init.tar ~/backup/vues_centreon.tar ~/backup/backup_bddcentreon2.sql ~/backup/backup_bdd-centreon2_storage.sql ~/backup/backup_bdd-nagios.sql ### Suppression du dossier temporaire et modification des droits cd $HOME rm -Rf ~/backup chmod 750 $HOME/FAN-cfg_$JOUR.tar.gz chown $USERFAN:$USERFAN $HOME/FAN-cfg_$JOUR.tar.gz V. 11-1214 T. Perrin Page 38 / 45 Supervision avec F.A.N. 6.2. Restaurations des configurations et données 6.2. Restaurations des configurations et données #!/bin/bash # # # # # # fan_import_centreon.sh Rôle : Import des configurations et données Renommer votre fichier de sauvegarde en Centreon.tar.gz if [ -ne $1 ]; then echo -e "\n\n\tUsage : fan_import_centreon.sh <fichier>.tar.gz\n\tou\n\t\tfan_import_centreon.sh <fichier>.zip" fi ### VARIABLES ### FICH_SAVE=`$1` # Décompression tar xzvf $HOME/$FICH_SAVE # Arrêt des services fan_services.sh stop # Import des fichiers de conf tar xf ~backup/logs_nagios.tar tar xf ~backup/logs_centreon.tar tar xf ~backup/cfg_nagios.tar tar xf ~backup/cfg_centreon.tar tar xf ~backup/cfg_centreon2.tar tar xf ~backup/cfg_cron.tar tar xf ~backup/cfg_init.tar tar xf ~backup/vues_centreon.tar # Importation de la base de données mysql -u root < ~backup/backup_bdd-centreon2.sql mysql -u root < ~backup/backup_bdd-centreon2_storage.sql mysql -u root < ~backup/backup_bdd-nagios.sql # Redémarrage des services fan_services.sh start # Suppressions rm $HOME/$FICH_SAVE rm -r /~backup V. 11-1214 T. Perrin Page 39 / 45 Supervision avec F.A.N. 6.2. Restaurations des configurations et données #!/bin/bash # # # # # fan_restore_centreon.sh Rôle : Restaurer la configuration de Centreon ### VARIABLES ### REP=`pwd` echo -e "\n\n\tRestauration de la configuration.\n\n" # Sélection du fichier echo -e "Fichiers de sauvegarde disponibles :" ls -l FAN-cfg_* read -p "Date de sauvegarde à importer (YYYYmmjj) : " JOURC # Arrêt des services fan_services.sh stop # Décompression cd / tar xzf $REP/FAN-cfg_$JOURC.tar.gz tar xf ~/backup/logs_nagios.tar tar xf ~/backup/logs_centreon.tar tar xf ~/backup/cfg-nagios.tar tar xf ~/backup/cfg_centreon.tar tar xf ~/backup/cfg_centreon2.tar tar xf ~/backup/cfg_cron.tar tar xf ~/backup/cfg_init.tar tar xf ~/backup/vues_centreon.tar # Import des bases de données cd /~backup mysql -u root centreon2 < backup_bdd-centreon2.sql mysql -u root centreon2_storage < backup_bdd-centreon2_storage.sql mysql -u root nagios < backup_bdd-nagios.sql # Suppression cd $REP rm -r /~backup # Redémarrage des services fan_services.sh start echo -e "\n\n\\tRestauration terminée\n" V. 11-1214 T. Perrin Page 40 / 45 Supervision avec F.A.N. Conclusion Conclusion Technique Personnel V. 11-1214 T. Perrin Page 41 / 45 Supervision avec F.A.N. FAQ FAQ Modification du mot de passe par défaut Le mot de passe de nagiosadmin est défini (et à redéfinir) 2 fois : Dans le compte Centreon (Configuration > Users > "Clic sur le login à modifier" > Onglet Centreon Authentication). Dans le fichier /etc/nagios/htpasswd.users où on ne le modifie pas directement, mais via la commande : ~# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin Mise à jour de la distribution ~# yum update Utilisation de Nagvis avec plusieurs collecteurs Nagvis n'affiche que les hôtes du nagios central. Il faut donc ajouter un "backend" correspondant à chaque nouvelle instance de Nagios. La ligne dbinstancename= de /etc/nagios/nagvis.ini.php correspond à la ligne instance_name du fichier /etc/init.d/ndomod.cfg. Un exemple du code à ajouter au fichier /etc/nagios/nagvis.ini.php : [backend_ndomy_2] # Nom du backend ; type of backend - MUST be set ;backendtype="ndomy" ; hostname for NDO-db ;dbhost="localhost" ; portname for NDO-db ;dbport=3306 ; database-name for NDO-db dbname="nagios" ; username for NDO-db ;dbuser="root" ; password for NDO-db dbpass="" ; prefix for tables in NDO-db ;dbprefix="nagios_" ; instace-name for tables in NDO-db dbinstancename="Nagios2" # Nom de l'instance ; maximum delay of the NDO Database in Seconds ;maxtimewithoutupdate=180 ; path to the cgi-bin of this backend ;htmlcgi="/nagios/cgi-bin" V. 11-1214 T. Perrin Page 42 / 45 Supervision avec F.A.N. Glossaire Glossaire M.I.B. Template V. 11-1214 T. Perrin Page 43 / 45 Supervision avec F.A.N. Crédits Crédits Tristan Laisné FAN (Fully Automated Nagios) http://fannagioscd.sourceforge.net/wordpress/ Nagios http://www.nagios.org/ Centreon http://www.centreon.com/fr/ NagVis (Nagios Visualization) http://nagvis.org/home NaReTo (Nagios Reporting Tools) http://www.nareto.org/ V. 11-1214 T. Perrin Page 44 / 45 Supervision avec F.A.N. Remerciements Remerciements Je tiens à remercier : Thierry Lepage - Chef de service SRDSIC, pour m'avoir accueilli alors que la "date de péremption" était proche. Lionel Mourre - Bureau administration réseau et systèmes informatiques, pour toutes les infos qu'il m'a fourni, sa patience et ses bonnes pistes. Georges Efthimiades - , pour m'avoir supporté dans son bureau, chaque jour, du matin au soir. Philippe Gentet - Bureau Matériels Informatiques, pour avoir dû désinfecter ma machine sous windows au moins une fois. Anne-Marie Corradi - Secrétaire de Thierry Lepage, pour avoir pris en charge, entre autre, l'envoi des fax chaque fin de semaines et géré la partie administrative. Maurice Ravetllat et Mireille Meucci-Michaud - Section Gestion administrative et financière, pour les mêmes raisons. Et le reste des membres du SRDSIC, pour leur accueil, leur bonne humeur et leur disponibilité, avec dans le désordre : Département informatique MME Charroux Bureau administration réseau et systèmes informatiques Jean-Claude WEINGAERTNER Bureau applications, web et SIG Geneviève CHARROL, Marie-Christine FORAY, Richard RICHTER Bureau matériels informatiques Antoine EVORA, Daniel IVALDI, Éric JECHOUX, Gilles MARDIROSSIAN Département télécommunications Patrick BARRAUD Bureau téléphone Jean-Pierre ANFRIANI, Jean-Étienne GORI, Nathalie NOBILI, Standard Préfecture Yasmina ATOUI, Hélène BIGAZZI, Brigitte BOUCHERET, Michèle BRUNEL, Marc FIASSE, Diane GANGAI, Franck GIRAUD, Catherine KHELIA, Sandra KERLOC'H, Mireille MEUCCI-MICHAUD. Surveillante Rose SEGHIERI. Cellule d'accueil Pierrette JAILLE, Brigitte PISSOCHER, Régis SAUBESTY. Je remercie également mes camarades de la session 2011 des TSGERI de l'Afpa de Marseille Saint-Jérôme pour avoir été présents pour répondre à mes questions et supportés mes blagues pas toujours drôles. Un grand Merci à Oscar Logger, notre formateur qui a fait de nous des "documenteurs" hors pair. Et pour finir, merci à Sabine, ma petite femme, pour m'avoir toujours soutenu. V. 11-1214 T. Perrin Page 45 / 45