1 | Gestion et surveillance de réseau |
---|
2 | |
---|
3 | Smokeping |
---|
4 | |
---|
5 | Notes : |
---|
6 | ------ |
---|
7 | * Les commandes précédées de "$" signifient que vous devez exécuter la commande en tant qu'utilisateur général - et non en tant qu'utilisateur root. |
---|
8 | * Les commandes précédées de "#" signifient que vous devez travailler en tant qu'utilisateur root. |
---|
9 | * Les commandes comportant des lignes de commande plus spécifiques (par exemple "RTR-GW>" ou "mysql>") signifient que vous exécutez des commandes sur des équipements à distance, ou dans un autre programme. |
---|
10 | |
---|
11 | Exercices |
---|
12 | ---------- |
---|
13 | |
---|
14 | 0. Ouvrez une session sur votre PC ou ouvrez une fenêtre de terminal en tant qu'utilisateur sysadm. |
---|
15 | |
---|
16 | Une fois logué, vous pouvez effectuer les exercices suivants. |
---|
17 | |
---|
18 | 1. Installez Smokeping : |
---|
19 | |
---|
20 | $ sudo apt-get install smokeping |
---|
21 | |
---|
22 | 2. Configuration initiale |
---|
23 | |
---|
24 | $ cd /etc/smokeping/config.d |
---|
25 | $ ls -l |
---|
26 | |
---|
27 | -rwxr-xr-x 1 root root 578 2010-02-26 01:55 Alerts |
---|
28 | -rwxr-xr-x 1 root root 237 2010-02-26 01:55 Database |
---|
29 | -rwxr-xr-x 1 root root 413 2010-02-26 05:40 General |
---|
30 | -rwxr-xr-x 1 root root 271 2010-02-26 01:55 pathnames |
---|
31 | -rwxr-xr-x 1 root root 859 2010-02-26 01:55 Presentation |
---|
32 | -rwxr-xr-x 1 root root 116 2010-02-26 01:55 Probes |
---|
33 | -rwxr-xr-x 1 root root 155 2010-02-26 01:55 Slaves |
---|
34 | -rwxr-xr-x 1 root root 8990 2010-02-26 06:30 Targets |
---|
35 | |
---|
36 | $ sudo vi General |
---|
37 | |
---|
38 | Modifiez les lignes suivantes : |
---|
39 | |
---|
40 | owner = NOC |
---|
41 | contact = sysadmin@localhost |
---|
42 | cgiurl = http://pcX.ws.nsrc.org/cgi-bin/smokeping.cgi |
---|
43 | mailhost = localhost |
---|
44 | |
---|
45 | Sauvegardez 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 : |
---|
46 | |
---|
47 | $ sudo /etc/init.d/smokeping stop |
---|
48 | $ sudo /etc/init.d/smokeping start |
---|
49 | |
---|
50 | 2. Configurez la supervision des dispositifs |
---|
51 | |
---|
52 | Vous consacrerez la majeure partie de votre temps et de votre travail à configurer Smokeping dans le fichier /etc/smokeping/config.d/Targets. |
---|
53 | |
---|
54 | Dans le cadre de cet atelier, veuillez procéder comme suit : |
---|
55 | |
---|
56 | Utilisez la sonde FPing par défaut pour vérifier : |
---|
57 | |
---|
58 | - Les PC de tous les participants du NOC |
---|
59 | - Le NOC de l'atelier |
---|
60 | - Les commutateurs |
---|
61 | - Les routeurs |
---|
62 | |
---|
63 | Vous pouvez utiliser le schéma du réseau de classe sur wiki pour déterminer les adresses de chaque article, etc. |
---|
64 | |
---|
65 | Introduisez une certaine hiérarchie dans le menu Smokeping afin de faciliter ces contrôles. Exemple : |
---|
66 | |
---|
67 | + PCs |
---|
68 | menu = PC Atelier |
---|
69 | title = Les PC Atelier |
---|
70 | |
---|
71 | ++ pc1 |
---|
72 | menu = pc1 |
---|
73 | title = pc1 |
---|
74 | host = pc1 |
---|
75 | |
---|
76 | ++ pc2 |
---|
77 | menu = pc2 |
---|
78 | title = pc2 |
---|
79 | host = pc2 |
---|
80 | |
---|
81 | Enregistrez le fichier et redémarrez Smokeping : |
---|
82 | |
---|
83 | $ sudo /etc/init.d/smokeping stop |
---|
84 | $ sudo /etc/init.d/smokeping start |
---|
85 | |
---|
86 | Allez à votre navigateur et consultez la page Smokeping : |
---|
87 | |
---|
88 | http://10.10.x.y/cgi-bin/smokeping.cgi |
---|
89 | |
---|
90 | Si tout semble en ordre, continuez et ajoutez : |
---|
91 | |
---|
92 | + Routeurs |
---|
93 | |
---|
94 | ++ bb-gw |
---|
95 | menu = bb-gw |
---|
96 | title = bb-gw |
---|
97 | host = gw.ws.nsrc.org |
---|
98 | |
---|
99 | ++ rtr1 |
---|
100 | menu = rtr1 |
---|
101 | title = rtr1 |
---|
102 | host = rtr1.ws.nsrc.org |
---|
103 | |
---|
104 | + Commutateurs |
---|
105 | |
---|
106 | ++ bb-sw |
---|
107 | menu = sw |
---|
108 | title = sw |
---|
109 | host = sw.ws.nsrc.org |
---|
110 | |
---|
111 | ... |
---|
112 | |
---|
113 | Enregistrez le fichier, redémarrez smokeping et consultez à nouveau votre navigateur. |
---|
114 | |
---|
115 | 3. Ajoutez de nouvelles sondes |
---|
116 | |
---|
117 | L'entrée actuelle dans Probes (sondes) est correcte, mais si vous souhaitez utiliser d'autres contrôles Smokeping supplémentaires vous pouvez les ajouter ici et spécifier leur comportement par défaut. Vous pouvez le faire également dans le fichier Targets si vous le souhaitez. |
---|
118 | |
---|
119 | Voici un exemple de fichier Probes précisant les sondes à utiliser pour vérifier la latence HTTP et DNS, ainsi que la sonde fping utilisée pour la latence ping : |
---|
120 | |
---|
121 | $ sudo vi Probes |
---|
122 | |
---|
123 | *** Probes *** |
---|
124 | |
---|
125 | + FPing |
---|
126 | |
---|
127 | binary = /usr/bin/fping |
---|
128 | |
---|
129 | + EchoPingHttp |
---|
130 | |
---|
131 | + DNS |
---|
132 | binary = /usr/bin/dig |
---|
133 | pings = 5 |
---|
134 | step = 180 |
---|
135 | lookup = www.nsrc.org |
---|
136 | |
---|
137 | Enregistrez le fichier. |
---|
138 | |
---|
139 | 4. Ajoutez des contrôles de latence HTTP |
---|
140 | |
---|
141 | Maintenant, modifiez de nouveau votre fichier Targets : |
---|
142 | |
---|
143 | $ sudo vi Targets |
---|
144 | |
---|
145 | Ajoutez un contrôle de latence HTTP pour tous les PC de l'atelier. |
---|
146 | Ceci suppose d'ajouter une catégorie telle que : |
---|
147 | |
---|
148 | + HTTPServers |
---|
149 | |
---|
150 | menu = HTTP |
---|
151 | title = Serveurs HTTP |
---|
152 | |
---|
153 | probe = EchoPingHttp |
---|
154 | |
---|
155 | ++ PC1 |
---|
156 | host = pc1 |
---|
157 | |
---|
158 | ++ PC2 |
---|
159 | host = pc2 |
---|
160 | |
---|
161 | ... |
---|
162 | |
---|
163 | Si vous en avez le temps, vous pouvez vérifier certaines machines extérieures à l'atelier et à la conférence (le site Web de votre organisation, une page Web populaire, etc.) |
---|
164 | |
---|
165 | 5. Ajoutez des contrôles de latence DNS |
---|
166 | |
---|
167 | Vous pouvez effectuer des contrôles sur des noms internes ou externes, ou les deux, à l'aide de la sonde de latence DNS. |
---|
168 | |
---|
169 | Ajoutez une hiérarchie de menus pour la latence DNS. Contrôlez une adresse externe (nsrc.org) et une adresse interne (noc). Ces contrôles prennent la forme suivante(dans le fichier Targets): |
---|
170 | |
---|
171 | + DNS |
---|
172 | probe = DNS |
---|
173 | menu = DNS |
---|
174 | title = Test du temps de reponse DNS |
---|
175 | |
---|
176 | ++ nsrc |
---|
177 | host = nsrc.org |
---|
178 | |
---|
179 | ++ noc |
---|
180 | host = noc.ws.nsrc.org |
---|
181 | |
---|
182 | |
---|
183 | Quittez en enregistrant vos modifications dans le fichier Targets. |
---|
184 | |
---|
185 | Redémarrez Smokeping pour visualiser les modifications : |
---|
186 | |
---|
187 | $ sudo /etc/init.d/smokeping stop |
---|
188 | $ sudo /etc/init.d/smokeping start |
---|
189 | |
---|
190 | Recensez les autres sondes Smokeping et mettez-en éventuellement en oeuvre quelques-unes : |
---|
191 | |
---|
192 | http://oss.oetiker.ch/smokeping/probe/index.en.html |
---|
193 | |
---|
194 | 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 visitant les pages suivantes : |
---|
195 | |
---|
196 | http://noc/configs/etc/smokeping |
---|
197 | http://noc/configs/etc/smokeping/config.d |
---|
198 | |
---|
199 | |
---|
200 | 6. Envoyez des alertes Smokeping |
---|
201 | |
---|
202 | $ sudo vi Alerts |
---|
203 | |
---|
204 | Mettez à jour les premières lignes du fichier : |
---|
205 | |
---|
206 | *** Alerts *** |
---|
207 | to = alertee@address.somewhere |
---|
208 | from = smokealert@company.xy |
---|
209 | |
---|
210 | afin d'inclure de vrais champs "to" et "from" pour votre serveur. |
---|
211 | Exemple : |
---|
212 | |
---|
213 | *** Alerts *** |
---|
214 | to = sysadm@localhost |
---|
215 | from = smokeping-alert@localhost |
---|
216 | |
---|
217 | Si vous avez installé RT, vous pouvez envoyer vos alertes à une file d'attente RT existante : |
---|
218 | |
---|
219 | *** Alerts *** |
---|
220 | to = net@localhost |
---|
221 | |
---|
222 | A la fin du fichier, ajoutez une autre alerte comme ceci : |
---|
223 | |
---|
224 | +anydelay |
---|
225 | type = rtt |
---|
226 | # in milliseconds |
---|
227 | pattern = >1 |
---|
228 | comment = Just for testing |
---|
229 | |
---|
230 | Observez le "pattern" (forme) de cette alerte. Cela signifie qu'une alerte sera déclenchée dès qu'une mesure présentera un retard supérieur à un millième de seconde. |
---|
231 | |
---|
232 | Il s'agit juste d'un test. Dans la réalité, vous créerez une alerte en fonction des valeurs de références observées. Par exemple, si le délai de vos serveurs DNS passe subitement de moins de 10 ms à plus de 100 ms. |
---|
233 | |
---|
234 | Vérifiez ensuite que des alertes sont définies pour certains de vos fichiers Targets. |
---|
235 | Vous pouvez activer les alertes en les définissant pour une sonde dans le fichier /etc/smokeping/config.d/Probes, ou sous la forme d'entrées Targets individuelles. |
---|
236 | |
---|
237 | Dans le cas présent, nous allons modifier le fichier Targets et activer les alertes pour nos contrôles de latence DNS. |
---|
238 | |
---|
239 | $ sudo vi /etc/smokeping/config.d/Targets |
---|
240 | |
---|
241 | Recherchez la section suivante dans le fichier : |
---|
242 | |
---|
243 | + DNS |
---|
244 | probe = DNS |
---|
245 | menu = External DNS Check |
---|
246 | title = DNS Latency |
---|
247 | |
---|
248 | ++ nsrc |
---|
249 | host = nsrc.org |
---|
250 | |
---|
251 | Et ajoutez la ligne d'alertes suivante après "+++ nsrc" |
---|
252 | |
---|
253 | +++ nsrc |
---|
254 | host = nsrc.org |
---|
255 | alerts = anydelay |
---|
256 | |
---|
257 | Enregistrez et fermez le fichier, puis redémarrez Smokeping : |
---|
258 | |
---|
259 | $ sudo /etc/init.d/smokeping stop |
---|
260 | $ sudo /etc/init.d/smokeping start |
---|
261 | |
---|
262 | Vérifiez votre messagerie électronique avec mutt |
---|
263 | |
---|
264 | $ mutt |
---|
265 | |
---|
266 | (Ou vérifiez vos files d'attente RT) |
---|
267 | |
---|
268 | Et regardez si vous avez reçu des alertes au bout de 5 minutes. |
---|
269 | |
---|
270 | 6. Graphiques multihôtes |
---|
271 | |
---|
272 | Après avoir défini un groupe d'hôtes sous un même type de sonde dans votre fichier /etc/smokeping/config.d/Targets, vous pouvez créer un graphique unique qui affichera 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 surveillez avec la sonde FPing. |
---|
273 | |
---|
274 | La fonction graphique multihôte dans Smokeping est extrêmement pointue et nécessite une attention particulière. |
---|
275 | |
---|
276 | Pour créer un graphique multihôte, modifiez tout d'abord le fichier Targets : |
---|
277 | |
---|
278 | $ sudo vi Targets |
---|
279 | |
---|
280 | Si vous aviez pour la 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): |
---|
281 | |
---|
282 | + Local |
---|
283 | menu = Local |
---|
284 | title = Local Network |
---|
285 | |
---|
286 | ++ LocalMachine |
---|
287 | menu = Local Machine |
---|
288 | title = This host |
---|
289 | host = localhost |
---|
290 | |
---|
291 | ++ pc1 |
---|
292 | menu = pc1 |
---|
293 | title = pc1 |
---|
294 | host = pc1 |
---|
295 | |
---|
296 | ++ pc2 |
---|
297 | menu = pc2 |
---|
298 | title = pc2 |
---|
299 | host = pc2 |
---|
300 | |
---|
301 | ++ pc3 |
---|
302 | menu = pc3 |
---|
303 | title = pc3 |
---|
304 | host = pc3 |
---|
305 | |
---|
306 | Smokeping affiche actuellement les résultats de la sonde FPing pour chaque hôte dans des graphiques distincts. Pour afficher ces résultats sous la forme d'un graphique unique sur plusieurs lignes, tapez ce qui suit après définition du dernier hôte pour le sondage FPing : |
---|
307 | |
---|
308 | + MultiHostPCs |
---|
309 | menu = MultiHost Ping |
---|
310 | title = Consolidated Ping Response Time |
---|
311 | host = /Local/LocalMachine /Local/pc1 /Local/pc2 /Local/pc3 |
---|
312 | |
---|
313 | |
---|
314 | Faites bien attention à ce que la capitalisation soit respectée: |
---|
315 | |
---|
316 | Si votre Section LocalMachine s'écrit comme ça avec L et M majuscules, |
---|
317 | mettez bien la même chose dans la ligne host! |
---|
318 | |
---|
319 | (Remarque : si les lignes sont trop longues, vous pouvez avoir plusieurs lignes pour l'entrée "host" en utilisant le caractère "\" pour indiquer une autre ligne - posez des questions si vous avez des doutes !) |
---|
320 | |
---|
321 | Maintenant enregistrez et fermez le fichier, puis redémarrez Smokeping : |
---|
322 | |
---|
323 | $ sudo /etc/init.d/smokeping stop |
---|
324 | $ sudo /etc/init.d/smokeping start |
---|
325 | |
---|
326 | 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. |
---|
327 | |
---|
328 | |
---|
329 | 7. Instances esclaves - uniquement si nous en avons le temps. |
---|
330 | |
---|
331 | Cette description n'est fournie qu'à titre indicatif pour le cas où vous souhaiteriez essayer ce type de configuration à l'issue de l'atelier. |
---|
332 | |
---|
333 | 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. |
---|
334 | |
---|
335 | 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. |
---|
336 | |
---|
337 | D'un point de vue graphique, les données se présentent ainsi : |
---|
338 | |
---|
339 | [esclave 1] [esclave 2] [esclave 3] |
---|
340 | | | | |
---|
341 | +-------+ | +--------+ |
---|
342 | | | | |
---|
343 | v v v |
---|
344 | +---------------+ |
---|
345 | | maître | |
---|
346 | +---------------+ |
---|
347 | |
---|
348 | Vous trouverez un exemple de ces données à l'adresse suivante : |
---|
349 | |
---|
350 | http://oss.oetiker.ch/smokeping-demo/ |
---|
351 | |
---|
352 | |
---|
353 | 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ôtes à proprement parler, mais de graphiques présentant des données issues de serveurs Smokeping externes. Pour configurer un serveur Smokeping maître/esclave, reportez-vous à la documentation suivante : |
---|
354 | http://oss.oetiker.ch/smokeping/doc/smokeping_master_slave.en.html |
---|
355 | |
---|
356 | Vous trouverez en outre un exemple d'étapes de configuration dans le fichier sample-smokeping-master-slave.txt. |
---|
357 | |
---|
358 | |
---|