Programme Opérations de registre Smokeping Remarques : ----------- * Les commandes précédées de "$" doivent être exécutées en tant qu'utilisateur général – et non en tant que root. * Les commandes précédées de "#" exigent que l'on travaille en tant que root. * Les commandes incluant des lignes plus spécifiques (telles que "RTR-GW>" ou "mysql>" par exemple) doivent être exécutées sur un équipement distant ou au sein d'un autre programme. Exercices --------- 1. Installez Smokeping : $ sudo apt-get install smokeping 2. Configuration initiale : $ cd /etc/smokeping Cette page ne nécessite aucun changement. Vous pouvez modifier l'aspect de Smokeping dans le fichier /etc/smokeping/basepage.html : $ cd /etc/smokeping/config.d $ ls -l -rwxr-xr-x 1 root root 578 2010-02-26 01:55 Alerts -rwxr-xr-x 1 root root 237 2010-02-26 01:55 Database -rwxr-xr-x 1 root root 413 2010-02-26 05:40 General -rwxr-xr-x 1 root root 271 2010-02-26 01:55 pathnames -rwxr-xr-x 1 root root 859 2010-02-26 01:55 Presentation -rwxr-xr-x 1 root root 116 2010-02-26 01:55 Probes -rwxr-xr-x 1 root root 155 2010-02-26 01:55 Slaves -rwxr-xr-x 1 root root 8990 2010-02-26 06:30 Targets Les fichiers à modifier à minima sont les suivants : * Alerts * General * Probes * Targets Editez le fichier Alerts $ sudo vi Alerts Mettez à jour les premières lignes du fichier : *** Alerts *** to = alertee@address.somewhere from = smokealert@company.xy afin d'inclure de vrais champs "to" et "from" pour votre serveur. Exemple : *** Alerts *** to = tldadmin@localhost from = smokeping-alert@localhost Si vous comptez créer des tickets à partir des alertes Smokeping, l'adresse "to" sera un alias pour le système de tickets. Nous nous occuperons de cela un peu plus tard. Ajoutez une nouvelle alerte pour un usage ultérieur : +rttbadstart type = rtt # in milliseconds pattern = ==S,==U priority = 1 comment = offline at startup * "==S, ==U" signifient "au démarrage (Startup)" et "not Up (pas en service)" * "priority = 1" signifie que si plusieurs alertes sont définies pour un hôte et si plusieurs alertes correspondent à l'une d'elles, c'est celle présentant la plus forte priorité qui est exécutée. Enregistrez maintenant le fichier et quittez avant de modifier le fichier General : $ sudo vi General Editez les lignes suivantes : owner contact cgiurl mailhost Ces paramètres devraient fonctionner : owner = AROC Class User contact = tldadmin@localhost cgiurl = http://localhost/cgi-bin/smokeping.cgi mailhost = localhost Enregistrez maintenant le fichier et quittez, puis éditez le fichier Probes : $ sudo vi Probes L'entrée courante dans Probes est correcte, mais si vous souhaitez utiliser d'autres contrôles Smokeping, vérifiez que vous pouvez les ajouter ici et que vous pouvez spécifier leur comportement par défaut. Vous pouvez en faire autant dans le fichier Targets si vous le souhaitez. Voici un exemple de fichier Probes qui préciserait comment vérifier la latence HTTP et DNS ainsi que le sondage FPing utilisé pour la latence ping : *** Probes *** + FPing binary = /usr/bin/fping + EchoPingHttp + DNS binary = /usr/bin/dig pings = 5 step = 180 Poursuivez en mettant à jour votre fichier Probes avec ces informations. Enregistrez ensuite le fichier et quittez. Redémarrons maintenant le service Smokeping afin de vérifier qu'il n'y a pas d'erreurs avant de poursuivre : $ sudo /etc/init.d/smokeping stop $ sudo /etc/init.d/smokeping start Vous pourriez également procéder ainsi : $ sudo /etc/init.d/smokeping restart ou $ sudo /etc/init.d/smokeping reload afin de recharger les changements de configuration. Ceci fonctionnerait dans la plupart des cas. 3. Configurez la supervision des périphériques Vous consacrerez la majeure partie de votre temps et de votre travail à configurer Smokeping dans le fichier /etc/smokeping/config.d/Targets. Dans le cadre de cet atelier, nous allons procéder comme suit : Utilisez le sondage FPing pour vérifier : - les PC de tous les participants - le NOC de l'atelier - les commutateurs - les routeurs. Introduisez une certaine hiérarchie dans le menu Smokeping afin de faciliter ces contrôles. Exemple : PC Routeurs Commutateurs Ajoutez un contrôle de latence HTTP pour tous les PC de l'atelier. Ceci suppose d'ajouter une catégorie telle que : PCs HTTP Si vous en avez le temps, vous pouvez vérifier certaines machines extérieures à notre atelier. Recherchez des sondages Smokeping supplémentaires et mettez-en éventuellement en œuvre quelques uns : http://oss.oetiker.ch/smokeping/probe/index.en.html Tenter d'expliquer tous les aspects syntaxiques du fonctionnement du fichier /etc/smokeping/config.d/Targets nécessiterait plusieurs pages, aussi prendrons-nous quelques exemples en cours et vous pourrez vous reporter aux fichiers de configuration Smokeping utilisés sur la machine NOC de l'atelier en vous rendant aux pages suivantes : http://noc/config/etc/smokeping http://noc/config/etc/smokeping/config.d 4. Ajoutez des contrôles de latence DNS : Vous pouvez procéder à ces recherches sur des noms internes ou externes à partir du sondage de latence DNS. Ajoutez une hiérarchie pour les latences DNS. Vérifiez une adresse externe (nsrc.org) et interne (noc). Celles-ci revêtent cette forme (dans le fichier Targets) : $ sudo vi /etc/smokeping/config.d/Targets ++ DNS probe = DNS menu = External DNS Check title = DNS Latency +++ nsrc host = nsrc.org +++ noc host = noc Quittez en enregistrant vos modifications dans le fichier Targets. Relancez Smokeping pour afficher les changements : $ sudo /etc/init.d/smokeping restart 5. Envoyez des alertes Smokeping à notre file d'attente Request Tracker Net : Nous avons déjà établi ceci dans RT et /etc/aliases. Vous devez désigner les alertes Smokeping à notre instance RT. Ouvrez le fichier Alerts : $ sudo vi /etc/smokeping/config.d/Alerts et remplacez : to = tldadmin@localhost par to = net@localhost A partir de maintenant, chaque fois que Smokeping enverra un courrier électronique avec cette alerte, le texte arrivera dans la file d'attente Net du Request Tracker. Vérifiez ensuite que des alertes sont définies pour certains de vos fichiers Targets. Vous pouvez activer les alertes en les définissant pour un sondage dans le fichier /etc/smokeping/config.d/Probes, ou sous la forme d'entrées Targets individuelles. Dans le cas présent, nous allons modifier le fichier Targets et activer les alertes pour nos contrôles de latence DNS. Si vous ajoutez en outre un contrôle de latence DNS pour un hôte qui n'existe pas, un ticket sera créé dans RT. $ sudo vi /etc/smokeping/config.d/Targets Recherchez la partie suivante dans le fichier : ++ DNS probe = DNS menu = External DNS Check title = DNS Latency +++ nsrc host = nsrc.org +++ noc host = noc et ajoutez l'hôte suivant après "+++ noc" +++ noexist host = does.not.exist alerts = rttbadstart Enregistrez et quittez le fichier avant de relancer Smokeping : $ sudo /etc/init.d/smokeping restart Un message d'erreur s'affiche : WARNING: Hostname 'does.not.exist' does currently not resolve to an IPv6 or IPv4 address Ceci était prévisible puisque l'hôte "does.not.exist" n'est pas valide. Smokeping démarre néanmoins et l'alerte rttbadstart envoie maintenant un message à la file d'attente Net à l'attention du Request Tracker. Si vous ouvrez un navigateur web pour votre instance RT : http://localhost/rt/ en vous connectant en tant que "tldadmin", vous verrez dans l'écran d'accueil un nouveau ticket avec l'intitulé : "[SmokeAlert] rttbadstart is active on AROC.DNSProbe.RT-test" 6. Graphiques multihôte Après avoir défini un groupe d'hôtes sous un même type de sondage dans votre fichier /etc/smokeping/config.d/Targets, vous pouvez créer un graphique unique qui vous montrera les résultats de tous les tests Smokeping pour l'ensemble des hôtes que vous aurez définis. Ceci présente l'avantage de vous permettre de comparer rapidement, par exemple, un groupe d'hôtes que vous êtes en train de superviser avec le sondage FPing. Pour créer un graphisme multihôte, éditez tout d'abord le fichier Targets : $ sudo vi Targets Si vous aviez pour le sondage FPing une section déjà définie ressemblant à ce qui suit (ceci n'est qu'un exemple – votre propre fichier Targets peut se présenter différemment): + Local menu = Local title = Local Network ++ LocalMachine menu = Local Machine title = This host host = localhost ++ pc1 menu = pc1 title = pc1.tld1 host = pc1.tld1 ++ pc2 menu = pc2 title = pc2.tld2 host = pc2.tld2 ++ pc3 menu = pc3 title = pc3.tld3 host = pc3.tld3 Smokeping affiche actuellement les résultats du sondage FPing pour chaque hôte dans des graphiques distincts. Pour afficher ces résultats sous la forme d'un graphique unique sur plusieurs lignes, vous pourrez le faire après définition du dernier hôte pour le sondage FPing : + MultiHostPCs menu = MultiHost Ping title = Consolidated Ping Response Time host = /Local/LocalMachine /Local/pc1 /Local/pc2 \ /Local/pc3 Remarque : vous pouvez avoir plusieurs lignes pour l'entrée "host" en recourant au caractère "\" pour indiquer une autre ligne. Enregistrez et quittez maintenant le fichier Targets et relancez Smokeping : $ sudo /etc/init.d/smokeping restart Vous devriez voir un nouveau graphique sous le menu "MultiHost Ping" de votre interface web Smokeping. Ce graphique comporte une ligne de couleur différente pour chaque hôte défini. 7. Instances esclaves Cette description n'est fournie qu'à titre indicatif pour le cas où vous souhaiteriez essayer ce type de configuration à l'issue de l'atelier. L'idée est de pouvoir exécuter plusieurs instances Smokeping sur des sites divers supervisant les mêmes hôtes et/ou services que votre instance maîtresse. Les installations esclaves envoient leurs résultats au serveur maître et vous obtenez les résultats aux côtés de vos résultats locaux. Ceci permet de voir comment des utilisateurs extérieurs à votre réseau voient vos services et vos hôtes. Ceci peut constituer un outil puissant pour résoudre des problèmes de services et d'hôtes potentiellement difficiles à résoudre lorsque l'on ne dispose que de données locales. D'un point de vue graphique, les données se présentent ainsi : [esclave 1] [esclave 2] [esclave 3] | | | +-------+ | +--------+ | | | v v v +---------------+ | maître | +---------------+ Vous trouverez un exemple de ces données à l'adresse suivante : http://oss.oetiker.ch/smokeping-demo/ Si vous observez les différents groupes de graphiques, vous noterez que nombre de ces graphiques comportent plusieurs lignes avec un code couleur correspondant à des éléments tels que "median RTT from mipsrv01" – Il ne s'agit pas de graphiques multihôte à proprement parler, mais de graphiques présentant des données issues de différents serveurs Smokeping. Pour configurer un serveur Smokeping maître/esclave, reportez-vous à la documentation suivante : http://oss.oetiker.ch/smokeping/doc/smokeping_master_slave.en.html Vous trouverez en outre un exemple d'étapes de configuration dans le fichier sample-smokeping-master-slave.txt.