Introduction, Architecture

Slides:



Advertisements
Présentations similaires
Mais vous comprenez qu’il s’agit d’une « tromperie ».
Advertisements

Etude et mise en place de la
Le Nom L’adjectif Le verbe Objectif: Orthogram
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
[number 1-100].
Vocabulaire 6.2 Français II Bon voyage ! 1.
Virtualisation de réseau et supervision
Licence pro MPCQ : Cours
Distance inter-locuteur
1 Plus loin dans lutilisation de Windows Vista ©Yves Roger Cornil - 2 août
Les numéros 70 –
Les numéros
Les identités remarquables
Le, la, les words Possessive Adjectives MINE!!. 2 My in french is mon, ma,mes... Le word/ begins with a vowel: Mon La word: Ma Les word: Mes.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
interface graphique permettant de faciliter la conception de topologies réseaux complexes Logiciel permettant de créer des machines virtuelles sur une.
APACHE HTTP SERVER Formation TRANSFER ALGER Mai 2002.
LES TRIANGLES 1. Définitions 2. Constructions 3. Propriétés.
FLSI602 Génie Informatique et Réseaux
Minimisation Techniques 1 Assimilation Algorithms: Minimisation Techniques Yannick Trémolet ECMWF Data Assimilation Training Course March 2006.
2 1. Vos droits en tant quusagers 3 1. Vos droits en tant quusagers (suite) 4.
Nom du module Date Lieu de la formation. 2 Genèse du projet Historique, partenaires, publics Pour qui ? Pourquoi ? Qui ? Comment ? Quand ?
Révision (p. 130, texte) Nombres (1-100).
1 7 Langues niveaux débutant à avancé. 2 Allemand.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
CONCOURS DE CONAISSANCE 4 Français I Mars Il ________ la géographie (to learn).
La méthodologie………………………………………………………….. p3 Les résultats
1 of 46 2 of 46 UPDATE UPDATE ON TV ANTENNAS SINCE LAST BOARD MEETING SINCE LAST BOARD MEETING HELD ON FEBRUARY 25, 2010, YOUR BOARD HAS MADE MORE PROGRESS.
TM.
Scanning.
Le soccer & les turbans Sondage mené par lAssociation détudes canadiennes 14 juin 2013.
1 of of 40 UPDATE UPDATE ON TV ANTENNAS SINCE LAST BOARD MEETING SINCE LAST BOARD MEETING HELD ON FEBRUARY 25, 2010, YOUR BOARD HAS MADE MORE PROGRESS.
1 Choisir une catégorie. Vous recevrez la réponse, vous devez donner la question. Cliquez pour commencer.
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Session 7 1 IST/VIH/SIDA.
Virtual Local Area Network
Titre : Implémentation des éléments finis sous Matlab
TortoiseSVN N°. Subversion : pour quoi faire ? Avoir un espace de stockage commun – Tous les étudiants du SIGLIS ont un espace svn commun Partager vos.
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
ALLOVON Olivier DEVES Nicolas MOULIN Yoann ROGER Rémi SAUVAJON Brice
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
Logiciel gratuit à télécharger à cette adresse :
Les chiffres & les nombres
RACINES CARREES Définition Développer avec la distributivité Produit 1
1. Les structures de documentation pour la division ST. 2. Les types de document dans la division ST. 3. Linterface informatique. Lundi 8 Mai 2000 ST Quality.
Représentation des systèmes dynamiques dans l’espace d’état
Systèmes mécaniques et électriques
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
Année universitaire Réalisé par: Dr. Aymen Ayari Cours Réseaux étendus LATRI 3 1.
Titre : Implémentation des éléments finis en Matlab
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
1 INETOP
Copyright 2011 – Les Chiffres Copyright 2011 –
P.A. MARQUES S.A.S Z.I. de la Moussière F DROUE Tél.: + 33 (0) Fax + 33 (0)
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
Première CTP le 4 décembre Nouvelle CTP depuis le 1 er février RTM milieu de cette année.
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Leçons To attend Assister à 2. To fish.
Nom:____________ Prénom: ___________
Quelle heure est-il? What time is it ?.
Modélisation des données Niveau conceptuel DON-2 V0-0.
KRIKORIAN Pierre HILMI Brahim
Les Chiffres Prêts?
PLAN Correction du RUSH 3
Projet Réseau Octobre 2005 Groupe 7: Armand D’Ussel et Cédric Jeannin.
Transcription de la présentation:

Introduction, Architecture

Nagios? Une application Open Source (GPL) pour administrer votre système d’information Disponibles sur Linux, FreeBSD, Solaris, etc. Administre les serveurs et les services de votre SI Fournit une vision générale sur l’état des éléments de votre SI Vous alerte quand les choses vont dans le mauvais sens Vous permet de résoudre rapidement vos problèmes Elabore des rapports pour par exemple évaluer la Qualité de service, pour la gestion de contrat de service.

Déploiement Disponible depuis six ans Pour les installations les plus importantes des milliers de serveurs et de services pris en compte Plus de150,000 téléchargements de la dernière version stable (1.2)

Design Un design modulaire Un Daemon chef d'orchestre de la logique de monitoring et de la coordination des actions et du traitement Les CGIs permettent aux utilisateurs d’accéder aux information aux travers de navigateurs (firefox, mozilla, ie etc..) Des applications externes pour le monitoring de bas niveau Des commandes externes peut être déclenchées pour prendre en compte des alertes, des changements d’état ou tout simplement des informations de monitoring Possibilité d’intégrer facilement des 3rd-party applications

L’architecture

Nagios Que peut-on administrer? Les cibles du monitoring Serveurs, stations, imprimantes, routers, etc. De façon plus générique, toute chose qui: A un adresse ou est associé à une adresse “atteignable” Nagios ne connaît pas et ne soucie pas des protocoles ou des adresses Pas limité au monitoring des équipements de réseau ou des services d’un système d’information Les cibles du monitoring “Hosts” “Services”

Les briques fondamentales “Hosts” Une “ chose  ” physique (server, commutateurs, routers, imprimantes, etc.) Peut avoir des relations parents/enfants avec les autres “hosts” Fournit un ou plusieurs services “ Services ” “ Choses ” associées avec/ou fournit par un “host” Les “Tangibles services” (e.g. disque usage, le manque toner imprimante) Les “Intangible services” (e.g. HTTP, SMTP, IMAP, POP3, DNS)

Exemple d’admin par nagios

Vue “hosts” nagios de l’exemple

Vue “services” nagios de l’exemple

“Plugins ?” Comment sont monitorés les “hosts” et “services”? Nagios ne comprend pas les adresses réseaux, les protocoles ou les services Nagios passe des information sur les objets qui doivent être contrôlés en utilisant des commandes externes (plugins) Les Plugins font le contrôle proprement dit sur les hosts and services et retourne l’information à Nagios Qu’est-ce un plugins? Shell ou un perl scripts, des exécutables, etc. Comprend les adresses réseaux, les protocoles, services, etc.

“Plugins” architecture

“Plugins” Quelles informations le plugins retournent? Du texte Visualisé au travers d’une interface web, en notification, etc Un Return code Permet de déterminer l’état des objets 4 possible return codes donnant l’état: 0 = OK 1 = WARNING 2 = CRITICAL 3 = UNKNOWN

“Service Checks” Services Service checks Les services sont la raison principale du monitoring Si un “host” n’offre pas de services utiles, pourquoi l’administrer Service checks Le contrôle (Checks) des services est effectué de façon régulière à intervalles programmés en utilisant les plugins Plusieurs services peuvent être contrôlés en parallèle 4 états possibles: OK, WARNING, CRITICAL, and UNKNOWN Vous pouvez tout monitorer a condition d’avoir un plugin : Simple: HTTP, IMAP, DNS, disk usage, etc. Plus complexe: Web transactions, detection de boucles de mail, etc.

“Service Checks”

“Host Checks” Hosts Host Checks Des “Containers” pour services Comme avec les services, les checks sont fait en utilisant des plugins Checks sont effectués à la demande après un changement d’état d’un service Souvent le point critique est: le réel problème vient du service ou du host? Nécessite une information pertinente sur l’état de l’host Trois états possibles: UP, DOWN, et UNREACHABLE Peut déclencher une vérification de route

Host Route Vérification Qu’est qui peut faire qu’un host n’est pas UP? L’host est DOWN La route vers l’host est bloquée par un ou plusieurs hosts (UNREACHABLE) Vérification de route Détermine si les “hosts” sont DOWN ou UNREACHABLE Peut-être consommateur en temps si le réseau est très dispersé Pourquoi si utile? Commode pour détermine la cause réelle quant les problèmes sont très dispersées Différents état des host peuvent être déterminés en appliquant différentes logiques de calcul ou de notification.

Host Route Vérification Les relations logiques entre host - Le monde selon Nagios

Host Route Vérification Le problème est détecté avec le 'Port Status' service sur le Switch2...

Host Route Vérification Switch2 est alors contrôlé et trouvé NOT be UP...

Host Route Vérification Le Check est propagé en amont jusqu’au Firewall1, qui aussi NOT UP...

Host Route Vérification Le Check est propagé en amont jusqu’au Switch1, qui trouvé UP

Host Route Vérification La joignabilité du Switch2 ne peut être connu - Firewall1 est DOWN est Switch2 est UNREACHABLE.

Host Route Vérification Checks sont propagés aux enfants de SWITCH2, qui sont marqués comme UNREACHABLE

Host Route Vérification Les autres enfants de Firewall1 sont contrôlés ensuite, et marqués UNREACHABLE

L’interface

Status map

Autre vue

Une vue sur l'état du SI

Les entités managées Les hosts Décrire toutes les entités managés, serveurs, stations, équipements Les hostsgroups Regroupements des machines par types (utilisés pour l'affichage, les rapports, etc..) Exemple: Les routeurs, les gateways, les serveurs windows, les linux, les serveurs web, etc... Les services: Les services qui vont être délivrés par la plate-forme Exemple: Ping

Exemple vue statistique

Vue histo d'un host

Alert summary rapport

Le log d’évenements

Exemple log d’event

Exemple d’un passage état warning

Les évenements

Les notifications

Les problèmes réseaux

In depth

Installation SNMP Debian fedora Fichier de configuration apt-get install snmpd apt-get install snmp fedora yum install net-snmp Fichier de configuration /etc/snmp/snmpd.conf

Fichier de conf snmp Debien /etc/snmp/snmpd.conf # sec.name source community #com2sec paranoid default public com2sec readonly default public #com2sec readwrite default private #### # Second, map the security names into group names: # sec.model sec.name group MyROSystem v1 paranoid group MyROSystem v2c paranoid group MyROSystem usm paranoid group MyROGroup v1 readonly group MyROGroup v2c readonly group MyROGroup usm readonly group MyRWGroup v1 readwrite group MyRWGroup v2c readwrite group MyRWGroup usm readwrite # Third, create a view for us to let the groups have rights to: # incl/excl subtree mask view all included .1 80 view system included .iso.org.dod.internet.mgmt.mib-2.system # Finally, grant the 2 groups access to the 1 view with different # write permissions: # context sec.model sec.level match read write notif access MyROSystem "" any noauth exact system none none access MyROGroup "" any noauth exact all none none access MyRWGroup "" any noauth exact all all none Dans ce fichier de conf on a validé le readonly avec le nom public et l'autorisation de lecteur (RO), après installation, c'est la section paranoid qui est validé.

Install/config nagios Soit tarball, soit .deb débian, soit .rpm Les principaux fichiers de configuration: nagios.cfg décrit les paramètres principaux de nagios, en particulier ou se trouve les fichiers de configuration tel que hosts.cfg, service.cfg etc.. hosts.cfg décrit l’ensemble des hôtes service.cfg décrit l’ensemble des hôtes checkcommands.cfg décrit les commandes

hosts.cfg ############################################################################### # # HOSTS # Generic host definition template - This is NOT a real host, just a template! define host{ name generic-host ; The name of this host template notifications_enabled 1 ; Host notifications are enabled event_handler_enabled 1 ; Host event handler is enabled flap_detection_enabled 1 ; Flap detection is enabled failure_prediction_enabled 1 ; Failure prediction is enabled process_perf_data 1 ; Process performance data retain_status_information 1 ; Retain status information across program restarts retain_nonstatus_information 1 ; Retain non-status information across program restarts register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE! } # Since this is a simple configuration file, we only monitor one host - the # local host (this machine). use generic-host ; Name of host template to use host_name debian alias debian address 127.0.0.1 check_command check-host-alive-snmp max_check_attempts 10 check_period 24x7 notification_interval 120 notification_period 24x7 notification_options d,r contact_groups admins host_name switchB alias switchB address 192.168.10.21 parents debian check_period 24x7

service.cfg # Generic service definition template - This is NOT a real service, just a template! define service{ name generic-service ; The 'name' of this service template active_checks_enabled 1 ; Active service checks are enabled passive_checks_enabled 1 ; Passive service checks are enabled/accepted parallelize_check 1 ; Active service checks should be parallelized obsess_over_service 1 ; We should obsess over this service (if necessary) check_freshness 0 ; Default is to NOT check service 'freshness' notifications_enabled 1 ; Service notifications are enabled event_handler_enabled 1 ; Service event handler is enabled flap_detection_enabled 1 ; Flap detection is enabled failure_prediction_enabled 1 ; Failure prediction is enabled process_perf_data 1 ; Process performance data retain_status_information 1 ; Retain status information across program restarts retain_nonstatus_information 1 ; Retain non-status information across program restarts register 0 ; DONT REGISTER THIS -ITS NOT A REAL SERVICE, JUST A TEMPLATE! } # Define a service to "ping" the local machine use generic-service ; Name of service template to use host_name R1 service_description PING is_volatile 0 check_period 24x7 max_check_attempts 4 normal_check_interval 5 retry_check_interval 1 contact_groups admins notification_options w,u,c,r notification_interval 960 notification_period 24x7 check_command check_ping!100.0,20%!500.0,60% service_description FA0/0 max_check_attempts 2 check_command check-router-interface-FA0-0

checkcommands.cfg # COMMAND DEFINITIONS # # SYNTAX: # define command{ # template <templatename> # name <objectname> # command_name <commandname> # command_line <commandline> # } # WHERE: # <templatename> = object name of another command definition that should be # used as a template for this definition (optional) # <objectname> = object name of command definition, referenced by other # command definitions that use it as a template (optional) # <commandname> = name of the command, as recognized/used by Nagios # <commandline> = command line Exemple define command{ command_name check_ping command_line $USER1$/check_icmp -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5 } command_name check_dns command_line $USER1$/check_dns -H www.yahoo.com -s $HOSTADDRESS$ } # on cherche l’adresse de www.yahoo.com à partire dns préciser par -s command_name check_status_brother command_line $USER1$/check_snmp -H 192.168.10.50 -o 1.3.6.1.2.1.43.16.5.1.2.1.1 -C public

plugins Définition de la commande dans /usr/local/nagios/etc répertoire ou se trouve les fichiers de conf peut être changé par configuration) define command{ command_name check-router-interface-FA0-0 command_line $USER1$/test_interface-FA0-0 } Le fichier Test_interface-FA0-0 dans /usr/local/nagios/libexec (répertoire ou se trouve les plugins peut être changé par configuration) var=`/usr/local/nagios/libexec/check_snmp -H 192.168.10.11 \ -C public -P 1 -o IF-MIB::ifOperStatus.3` if [ $? -eq 1 ] then echo "SNMP no response" exit 1 fi echo $var | grep -i up > /dev/null if [ $? -eq 1 ] then echo "Status FA0/0 down" exit 2 else echo "Status FA0/0 up" exit 0 fi

Configuration apache ConfigNagiosApache2.conf # ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin <DirectoryMatch /usr/local/nagios/sbin> Options ExecCGI AllowOverride AuthConfig Order Allow,Deny Allow From All AuthName "Nagios Access" AuthType Basic AuthUserFile /etc/nagios/htpasswd.users require valid-user </DirectoryMatch> Alias /nagios /usr/local/nagios/share <DirectoryMatch /usr/local/nagios/share> Options FollowSymLinks AuthName "Me contacter pour login/password" # END FOR NAGIOS

Autorisations d'accès (1) Niveau apache: Les deux directives permettent l'autenfication: AuthType Basic AuthUserFile /etc/nagios/htpasswd.users Niveau nagios Dans le fichier cgi.cfg, on va utiliser l'autentification pour accèder au information, on positionne alors la variable: use_authentication=1. On peut alors donner des autorisations générales de 2 méthodes: Au travers de la suite de variables authorized_for_XXXX, par exemple authorized_for_all_services=nagiosadmin authorized_for_all_hosts=nagiosadmin donne accès à tous les hosts En définissant des contacts, et des groupes de contacts

Autorisations d'accès (2) Notion de contacts qui fait partie d'un groupe de contact: contacts.cfg contactsgroup.cfg Des hosts et des services qui ont des contacts hostgroups.cfg qui regroupe un ensemble de hosts avec un contactsgroup define hostgroup{ hostgroup_name windows alias windows PC contact_groups operateurP1 members prodXP,antoineXP,toure } Dans la définition d'un service il y a une ligne : contact_groups

Fichier de conf map /usr/local/nagios/etc/hostextinfo.cfg define hostextinfo{ host_name gw icon_image router.png icon_image_alt dlink statusmap_image router.gd2 2d_coords 50,100 3d_coords 100.0,50.0,75.0 } define hostextinfo{ host_name tournl icon_image redhat.png icon_image_alt La tour noire statusmap_image redhat.gd2 2d_coords 100,200 3d_coords 50.0,50.0,75.0 host_name tourbb icon_image windows.png icon_image_alt Windows XP machine de travail statusmap_image windows.gd2 2d_coords 200,200 host_name toure icon_image_alt Machine palier etage 2d_coords 100,300 host_name antoineXP icon_image_alt Machine antoine 2d_coords 200,300 define hostextinfo{ host_name margeride icon_image www.png icon_image_alt Test adresse IP Fixe statusmap_image www.gd2 2d_coords 100,0 3d_coords 100.0,50.0,75.0 } host_name boursorama icon_image_alt Serveur du web 2d_coords 200,0 host_name margerideservices icon_image website.png statusmap_image website.gd2 host_name margerideservicesu icon_image surfcontrol.png statusmap_image surfcontrol.gd2 Les icônes sont dans le répertoire : /usr/share/nagios/htdocs/images/logos

Exemple d’arborescence nagios sparc:/usr/local/nagios# ls bin contrib etc libexec sbin share var sparc:/usr/local/nagios# ls bin nagios nagiostats sparc:/usr/local/nagios# ls contrib/ collect2.pl fifo_write fifo_write.c udpecho udpecho.c sparc:/usr/local/nagios# ls etc bigger.cfg-sample contacts.cfg hosts.cfg.save nagios.cfg-sample resource.cfg-sample c.cfg dependencies.cfg htpasswd.users ngraph.d s1.cfg cgi.cfg escalations.cfg minimal.cfg ngraph.ncfg s.cfg cgi.cfg-sample hostextinfo.cfg minimal.cfg-sample nrpe.cfg serviceext checkcommands.cfg hostextinfo.cfg.afaire misccommands.cfg nrpe_local.cfg services.cfg checkcommands.cfg-sample hostgroups.cfg misccommands.cfg-sample nsca.cfg timeperiods.cfg contactgroups.cfg hosts.cfg nagios.cfg resource.cfg sparc:/usr/local/nagios# ls libexec/ check_breeze check_file_age check_ircd check_nntps check_real check_swap test_interface-FA0-0 check_by_ssh check_flexlm check_jabber check_nt check_rpc check_tcp test_interface-FA1-0 check_clamd check_ftp check_load check_ntp check_sensors check_time urlize check_dhcp check_hpjd check_log check_nwstat check_simap check_udp utils.pm check_dig check_http check_mailq check_oracle check_smtp check_udp2 utils.sh check_disk check_icmp check_mrtg check_overcr check_snmp check_ups check_disk_smb check_ifoperstatus check_mrtgtraf check_ping check_spop check_users check_dns check_ifstatus check_nagios check_pop check_ssh check_wave check_dummy check_imap check_nntp check_procs check_ssmtp negate sparc:/usr/local/nagios# ls sbin avail.cgi extinfo.cgi history.cgi rrd2-graph.cgi status.cgi statuswrl.cgi tac.cgi cmd.cgi graphs.cgi notifications.cgi rrd2-system.cgi statusmap.cgi summary.cgi trends.cgi config.cgi histogram.cgi outages.cgi showlog.cgi statuswml.cgi tacalain.cgi sparc:/usr/local/nagios# ls share/ contexthelp images locale main.html nagiosgraphe.gif nagiosmap.gif robots.txt side.html stylesheets docs index.html logourl1.ico media nagiosliste.gif nagiostrends.gif savehtml ssi TPA.gif sparc:/usr/local/nagios# ls var/ archives downtime.dat nagios.lock ngraph.log retention.dat rw comments.dat nagios_grapher nagios.log objects.cache rrd status.dat