1 | |
---|
2 | Installation et Configuration de Nagios |
---|
3 | |
---|
4 | Notes : |
---|
5 | ------ |
---|
6 | * Les commandes précédées de "$" signifient que vous devez exécuter |
---|
7 | la commande en tant qu'utilisateur général - et non en tant |
---|
8 | qu'utilisateur root. |
---|
9 | |
---|
10 | * Les commandes précédées de "#" signifient que vous devez travailler |
---|
11 | en tant qu'utilisateur root. |
---|
12 | |
---|
13 | * Les commandes comportant des lignes de commande plus spécifiques |
---|
14 | (par exemple "RTR-GW>" ou "mysql>") signifient que vous exécutez |
---|
15 | des commandes sur des équipements à distance, ou dans un autre |
---|
16 | programme. |
---|
17 | |
---|
18 | Exercices |
---|
19 | --------- |
---|
20 | |
---|
21 | Exercices Partie I |
---|
22 | ---------------- |
---|
23 | |
---|
24 | 0. Ouvrez une session sur votre PC ou ouvrez une fenêtre de terminal |
---|
25 | en tant qu'utilisateur sysadm. |
---|
26 | |
---|
27 | 1. Il se peut que vous ayez à installer la version 3 de Nagios. |
---|
28 | Vous devez effectuer cette installation en tant qu'utilisateur root |
---|
29 | ou sysadmin et utiliser le commande "sudo". Assurez-vous aussi que |
---|
30 | vous disposez de l'éditeur Vim (VI aMélioré), car ce dernier facilite |
---|
31 | le travail sur de gros fichiers. En tant que sysadm : |
---|
32 | |
---|
33 | $ sudo apt-get install nagios3 vim |
---|
34 | |
---|
35 | Sauf si vous avez déjà un agent MTA installé, nagios3 va installer |
---|
36 | postfix en tant que dépendance. Sélectionnez l'option "Site |
---|
37 | Internet". (Si vous aviez voulu utiliser un autre agent MTA, |
---|
38 | vous l'auriez probablement installé avant nagios3) |
---|
39 | |
---|
40 | Vous serez invité à entrer le mot de passe nagiosadmin. Entrez |
---|
41 | le mot de passe d'atelier normal. |
---|
42 | |
---|
43 | Pour accéder aux documents dans /usr/share/doc/nagios3-doc/html/ |
---|
44 | (qui peuvent également être consultés via l'interface web Nagios), |
---|
45 | entrez : |
---|
46 | |
---|
47 | $ sudo apt-get install nagios3-doc |
---|
48 | |
---|
49 | |
---|
50 | 2. Regardez le fichier contenant le mot de passe. Il est haché (crypté) |
---|
51 | |
---|
52 | $ cat /etc/nagios3/htpasswd.users |
---|
53 | |
---|
54 | |
---|
55 | 3. Nagios devrait déjà être opérationnel ! |
---|
56 | |
---|
57 | - Ouvrez un navigateur et accédez à votre machine de la façon suivante : |
---|
58 | |
---|
59 | http://pcN.ws.nsrc.org/nagios3/ |
---|
60 | |
---|
61 | - À l'invite de connexion, répondez comme indiqué ci-dessous : |
---|
62 | |
---|
63 | username: nagiosadmin |
---|
64 | pass: <MOT DE PASSE DE LA CLASSE> |
---|
65 | |
---|
66 | Allez jusqu'à la page "Host Detail" (Détail des hôtes) pour |
---|
67 | voir ce qui est déjà configuré. |
---|
68 | |
---|
69 | |
---|
70 | 4. Examinons l'organisation de la configuration... Mais, devenons |
---|
71 | tout d'abord l'utilisateur root de votre machine : |
---|
72 | |
---|
73 | |
---|
74 | $ sudo bash |
---|
75 | |
---|
76 | # cd /etc/nagios3 |
---|
77 | # ls -l |
---|
78 | |
---|
79 | -rw-r--r-- 1 root root 1882 2008-12-18 13:42 apache2.conf |
---|
80 | -rw-r--r-- 1 root root 10524 2008-12-18 13:44 cgi.cfg |
---|
81 | -rw-r--r-- 1 root root 2429 2008-12-18 13:44 commands.cfg |
---|
82 | drwxr-xr-x 2 root root 4096 2009-02-14 12:33 conf.d |
---|
83 | -rw-r--r-- 1 root root 26 2009-02-14 12:36 htpasswd.users |
---|
84 | -rw-r--r-- 1 root root 42539 2008-12-18 13:44 nagios.cfg |
---|
85 | -rw-r----- 1 root nagios 1293 2008-12-18 13:42 resource.cfg |
---|
86 | drwxr-xr-x 2 root root 4096 2009-02-14 12:32 stylesheets |
---|
87 | |
---|
88 | # cd conf.d |
---|
89 | # ls -l |
---|
90 | |
---|
91 | -rw-r--r-- 1 root root 1695 2008-12-18 13:42 contacts_nagios2.cfg |
---|
92 | -rw-r--r-- 1 root root 418 2008-12-18 13:42 extinfo_nagios2.cfg |
---|
93 | -rw-r--r-- 1 root root 1152 2008-12-18 13:42 generic-host_nagios2.cfg |
---|
94 | -rw-r--r-- 1 root root 1803 2008-12-18 13:42 generic-service_nagios2.cfg |
---|
95 | -rw-r--r-- 1 root root 210 2009-02-14 12:33 host-gateway_nagios3.cfg |
---|
96 | -rw-r--r-- 1 root root 976 2008-12-18 13:42 hostgroups_nagios2.cfg |
---|
97 | -rw-r--r-- 1 root root 2167 2008-12-18 13:42 localhost_nagios2.cfg |
---|
98 | -rw-r--r-- 1 root root 1005 2008-12-18 13:42 services_nagios2.cfg |
---|
99 | -rw-r--r-- 1 root root 1609 2008-12-18 13:42 timeperiods_nagios2.cfg |
---|
100 | |
---|
101 | Notez que le paquet installe des fichiers dont le nom comporte |
---|
102 | "nagios2". Ceci est dû au fait qu'il s'agit des mêmes fichiers |
---|
103 | que ceux utilisés pour le paquet Debian de Nagios version 2. |
---|
104 | Toutefois, une modification a été apportée au fichier de |
---|
105 | configuration hôte passerelle "gateway", cŽest pourquoi il a été |
---|
106 | créé avec le nom correct "nagios3". |
---|
107 | |
---|
108 | |
---|
109 | 5. Vous avez une configuration qui surveille déjà votre système |
---|
110 | (localhost_nagios2.cfg) et votre passerelle amont par défaut |
---|
111 | (host-gateway_nagios3.cfg). |
---|
112 | |
---|
113 | Jetez un coup d'oeil au fichier de configuration de la passerelle |
---|
114 | par défaut : il est très simple. |
---|
115 | |
---|
116 | (Remarque : la fonctionnalité de complétion à l'aide de la touche |
---|
117 | Tabulation est utile ici. Tapez "cat host-g" puis appuyez sur |
---|
118 | Tabulation ; le nom du fichier est complété automatiquement) |
---|
119 | |
---|
120 | # cat host-gateway_nagios3.cfg |
---|
121 | |
---|
122 | # Une définition de l'hôte pour la passerelle de la route par défaut |
---|
123 | define host { |
---|
124 | host_name gateway |
---|
125 | alias Default Gateway |
---|
126 | address 10.10.0.254 |
---|
127 | use generic-host |
---|
128 | } |
---|
129 | |
---|
130 | |
---|
131 | |
---|
132 | PARTIE II |
---|
133 | Configuration des équipements |
---|
134 | ----------------------------------------------------------------------------- |
---|
135 | |
---|
136 | 0. Ordre de configuration |
---|
137 | |
---|
138 | Conceptuellement nous allons construire nos fichiers de configuration |
---|
139 | en partant du périphérique "le plus proche" pour aller ensuite vers |
---|
140 | les plus éloignés. |
---|
141 | |
---|
142 | En procédant dans cet ordre, vous définirez les dispositifs faisant |
---|
143 | office de parents pour d'autres périphériques. |
---|
144 | |
---|
145 | En cas de doute, pensez à consulter le schéma du réseau de notre classe. |
---|
146 | |
---|
147 | Nous recommandons la création d'instances comme ceci: |
---|
148 | |
---|
149 | rtr (routeur de sortie : 10.10.0.254) |
---|
150 | sw (commutateur de la classe : 10.10.0.253, parent : rtr) |
---|
151 | rtr1 (routeur du groupe 1 : 10.10.0.201, parent : sw) |
---|
152 | rtr2 (routeur du groupe 2 : 10.10.0.202, parent : sw) |
---|
153 | rtr3 (routeur du groupe 3 : 10.10.0.203, parent : sw) |
---|
154 | rtr4 (routeur du groupe 4 : 10.10.0.204, parent : sw) |
---|
155 | rtr5 (routeur du groupe 5 : 10.10.0.205, parent : sw) |
---|
156 | rtr6 (routeur du groupe 6 : 10.10.0.206, parent : sw) |
---|
157 | rtr7 (routeur du groupe 7 : 10.10.0.207, parent : sw) |
---|
158 | rtr8 (routeur du groupe 8 : 10.10.0.208, parent : sw) |
---|
159 | rtr9 (routeur du groupe 9 : 10.10.0.209, parent : sw) |
---|
160 | rtr10 (routeur du groupe 10 : 10.10.0.210, parent : sw) |
---|
161 | |
---|
162 | pc1 (10.10.0.1, parent : s1) |
---|
163 | pc2 (10.10.0.2, parent : s2) |
---|
164 | pc3 (10.10.0.2, parent : s1) |
---|
165 | pc4 (10.10.0.2, parent : s2) |
---|
166 | . |
---|
167 | pc19 (10.10.0.19, parent : s1) |
---|
168 | pc20 (10.10.0.20, parent : s2) |
---|
169 | |
---|
170 | (remarquez que les PC impaires ont comme parent s1, les paires, s2) |
---|
171 | |
---|
172 | s1 (sur le backbone : 10.10.0.241, parent : sw) |
---|
173 | s2 (sur le backbone : 10.10.0.242, parent : sw) |
---|
174 | noc (sur le backbone : 10.10.0.250, parent : sw) |
---|
175 | ap1 (sur le backbone : 10.10.0.251, parent : sw) |
---|
176 | |
---|
177 | Nous recommandons d'intégrer ces éléments dans les fichiers suivants : |
---|
178 | |
---|
179 | routers.cfg (rtr, ap1, rtr1...rtr10) |
---|
180 | switches.cfg (sw, s1, s2) |
---|
181 | noc.cfg (noc) |
---|
182 | group1pcs.cfg (pc1, pc2) |
---|
183 | group2pcs.cfg (pc3, pc4) |
---|
184 | group3pcs.cfg (pc5, pc6) |
---|
185 | group4pcs.cfg (pc7, pc8) |
---|
186 | group5pcs.cfg (pc9, pc10) |
---|
187 | group6pcs.cfg (pc11, pc12) |
---|
188 | group7pcs.cfg (pc13, pc14) |
---|
189 | group8pcs.cfg (pc15, pc16) |
---|
190 | group9pcs.cfg (pc17, pc18) |
---|
191 | group10pcs.cfg (pc19, pc20) |
---|
192 | |
---|
193 | 1. Nous devons d'abord indiquer à Nagios de surveiller le routeur |
---|
194 | de passerelle de notre classe, à savoir 10.10.0.254 : |
---|
195 | |
---|
196 | # cd /etc/nagios3/conf.d/ |
---|
197 | |
---|
198 | Créez le routeur de passerelle de la manière suivante : |
---|
199 | |
---|
200 | # editor routers.cfg |
---|
201 | |
---|
202 | define host { |
---|
203 | use generic-host |
---|
204 | host_name rtr |
---|
205 | alias Gateway router |
---|
206 | address 10.10.0.254 |
---|
207 | } |
---|
208 | |
---|
209 | Dans le même fichier, créez les configs pour les routeurs du groupe : |
---|
210 | |
---|
211 | define host { |
---|
212 | use generic-host |
---|
213 | host_name rtr1 |
---|
214 | alias Group 1 Router |
---|
215 | address 10.10.0.201 |
---|
216 | parents sw |
---|
217 | } |
---|
218 | |
---|
219 | Procédez de même pour ap1, rtr2, rtr3, rtr4, rtr5, rtr6, rtr7, rtr8, rtr9, |
---|
220 | rtr10 |
---|
221 | |
---|
222 | Notez que l'entrée "sw" pour notre commutateur de passerelle n'a |
---|
223 | pas encore été créée. C'est la prochaine étape. |
---|
224 | |
---|
225 | Sauvegardez le fichier et quittez. |
---|
226 | |
---|
227 | |
---|
228 | 2. Créez un fichier nommé switches.cfg et ajoutez une entrée pour cet élément : |
---|
229 | |
---|
230 | # editor switches.cfg |
---|
231 | |
---|
232 | define host { |
---|
233 | use generic-host |
---|
234 | host_name sw |
---|
235 | alias Backbone switch |
---|
236 | address 10.10.0.253 |
---|
237 | parents rtr |
---|
238 | } |
---|
239 | |
---|
240 | |
---|
241 | Ajoutons également nos commutateurs virtuels - s1 et s2 (les |
---|
242 | parents étant sw) : |
---|
243 | |
---|
244 | |
---|
245 | Par exemple : |
---|
246 | |
---|
247 | define host { |
---|
248 | use generic-host |
---|
249 | host_name s1 |
---|
250 | alias s1 |
---|
251 | address 10.10.0.241 |
---|
252 | parents sw |
---|
253 | } |
---|
254 | |
---|
255 | define host { |
---|
256 | use generic-host |
---|
257 | host_name s2 |
---|
258 | alias s2 |
---|
259 | address 10.10.0.242 |
---|
260 | parents sw |
---|
261 | } |
---|
262 | |
---|
263 | Sauvegardez et quittez : |
---|
264 | |
---|
265 | À ce stade, Nagios est configuré pour surveiller si nos hôtes |
---|
266 | principaux (les parents) sont actifs (UP)sur le réseau de notre |
---|
267 | classe. La prochaine étape consiste à ajouter les différents hôtes, |
---|
268 | à savoir les images des PC virtuels de la classe (pc1 à pc39) |
---|
269 | |
---|
270 | Veillez à ajouter lŽentrée "parents" correcte pour chaque hôte. |
---|
271 | |
---|
272 | Rappelez-vous que si vous ne comprenez pas les relations de parenté |
---|
273 | existant au sein de notre réseau, vous pouvez consulter le schéma |
---|
274 | logique de ce dernier ici : |
---|
275 | |
---|
276 | http://noc.ws.nsrc.org/dakar-gestion-supervision-reseau/wiki/TopologieReseau |
---|
277 | |
---|
278 | Faites référence aux transparents de la présentation qui parlent |
---|
279 | de la gestion des parents, dans la présentation: |
---|
280 | |
---|
281 | "Notion de Parents" |
---|
282 | |
---|
283 | |
---|
284 | LES ÉTAPES 2A - 2C DOIVENT ÊTRE RÉPÉTÉES À CHAQUE MISE À JOUR DE |
---|
285 | LA CONFIGURATION ! |
---|
286 | |
---|
287 | |
---|
288 | 2a. Vérifiez que vos fichiers de configuration sont corrects : |
---|
289 | |
---|
290 | # nagios3 -v /etc/nagios3/nagios.cfg |
---|
291 | |
---|
292 | ... Le système devrait renvoyer des avertissements du type : |
---|
293 | Warning: Host 'rtr' has no services associated with it! |
---|
294 | Warning: Host 'sw' has no services associated with it! |
---|
295 | etc. |
---|
296 | ... |
---|
297 | Total Warnings: N |
---|
298 | Total Errors: 0 |
---|
299 | |
---|
300 | Les choses semblent normales - Aucun problème grave n'a été décelé |
---|
301 | pendant le contrôle. |
---|
302 | |
---|
303 | Nagios indique qu'il est inhabituel de surveiller un périphérique |
---|
304 | aux seules fins de s'assurer de son existence sur le réseau, sans |
---|
305 | surveiller également les services associés. |
---|
306 | |
---|
307 | |
---|
308 | 2b. Rechargez/Redémarrez Nagios |
---|
309 | |
---|
310 | # /etc/init.d/nagios3 restart |
---|
311 | |
---|
312 | L'utilisation de l'option "restart" (redémarrage) n'est pas toujours |
---|
313 | fiable à 100 % en raison d'un bogue dans le script d'initialisation |
---|
314 | de Nagios. |
---|
315 | |
---|
316 | Par sécurité, vous pouvez prendre l'habitude de procéder comme ci-dessous : |
---|
317 | |
---|
318 | # /etc/init.d/nagios3 stop |
---|
319 | # /etc/init.d/nagios3 start |
---|
320 | |
---|
321 | |
---|
322 | 2c. Accédez à l'interface web (http://pcN.ws.nsrc.org/nagios3) et |
---|
323 | vérifiez que les hôtes que vous venez d'ajouter sont visibles dans |
---|
324 | l'interface. Cliquez sur "Host Detail" (Détail des hôtes) sur la |
---|
325 | gauche de l'écran Nagios pour vérifier. L'état qui s'affiche peut |
---|
326 | être "PENDING" (en attente) jusqu'à ce que le contrôle soit effectué. |
---|
327 | |
---|
328 | |
---|
329 | ASTUCE : Vous allez devoir répéter cette opération à plusieurs |
---|
330 | reprises. Si vous regroupez l'ensemble sur une seule ligne, comme |
---|
331 | ci-dessous, alors vous pourrez utiliser la touche de déplacement |
---|
332 | vers le haut et relancer le tout en une seule fois : |
---|
333 | |
---|
334 | nagios3 -v /etc/nagios3/nagios.cfg && /etc/init.d/nagios3 restart |
---|
335 | |
---|
336 | Le double '&&' assure que le redémarrage n'aura lieu que si la |
---|
337 | configuration est valide. |
---|
338 | |
---|
339 | |
---|
340 | 3. Créez les entrées pour les PC de la classe |
---|
341 | |
---|
342 | Maintenant que nos routeurs et commutateurs sont définis, nous |
---|
343 | allons pouvoir créer des entrées pour tous nos PC très facilement. |
---|
344 | Pensez aux relations de parenté : |
---|
345 | |
---|
346 | Ici encore, si vous ne comprenez pas la relation de parenté, pensez |
---|
347 | à consulter le schéma du réseau de la classe à l'adresse suivante: |
---|
348 | |
---|
349 | http://noc.ws.nsrc.org/dakar-gestion-supervision-reseau/wiki/TopologieReseau |
---|
350 | |
---|
351 | Voici trois exemples d'entrées. Une pour le NOC, une pour le pc1 |
---|
352 | et une autre pour le pc20. Vous devriez pouvoir utiliser cet exemple |
---|
353 | pour créer des entrées pour tous les PC de la classe plus le NOC. |
---|
354 | |
---|
355 | Nous pourrions placer ces entrées dans des fichiers séparés mais, |
---|
356 | étant donné la petite taille de notre réseau, nous allons utiliser |
---|
357 | un seul fichier appelé pcs.cfg. |
---|
358 | |
---|
359 | REMARQUE : Ne créez pas d'entrée pour votre propre PC ou routeur. |
---|
360 | Cela a déjà été fait dans le fichier /etc/nagios3/conf.d/localhost_nagios2.cfg. |
---|
361 | Cette définition permet de définir le point de vue du réseau Nagios. Par |
---|
362 | conséquent, lorsque vous arrivez à l'étape où vous pourriez créer une entrée |
---|
363 | pour votre PC, ignorez-la et passez au PC suivant dans la liste. |
---|
364 | |
---|
365 | Décrivons d'abord les machines de notre NOC qui, pour le moment, comprend |
---|
366 | une machine. |
---|
367 | |
---|
368 | # editor noc.cfg |
---|
369 | |
---|
370 | # le NOC de notre classe |
---|
371 | |
---|
372 | define host { |
---|
373 | use generic-host |
---|
374 | host_name noc |
---|
375 | alias machine du NOC de l'atelier |
---|
376 | address 10.10.0.250 |
---|
377 | parents sw |
---|
378 | } |
---|
379 | |
---|
380 | |
---|
381 | Enregistrez et fermez le fichier. Créez ensuite un fichier pour |
---|
382 | décrire les périphériques du groupe un, en procédant comme indiqué |
---|
383 | ci-dessous : |
---|
384 | |
---|
385 | # editor group1pcs.cfg |
---|
386 | |
---|
387 | # PCs |
---|
388 | |
---|
389 | define host { |
---|
390 | use generic-host |
---|
391 | host_name pc1 |
---|
392 | alias pc1 |
---|
393 | address 10.10.0.1 |
---|
394 | parents s1 |
---|
395 | } |
---|
396 | |
---|
397 | define host { |
---|
398 | use generic-host |
---|
399 | host_name pc2 |
---|
400 | alias pc2 |
---|
401 | address 10.10.0.2 |
---|
402 | parents s2 |
---|
403 | } |
---|
404 | |
---|
405 | |
---|
406 | |
---|
407 | Procédez ainsi pour tous les PC du groupe 1 ; notez que le parent |
---|
408 | est conservé. Lorsque vous avez terminé, sauvegardez et fermez le |
---|
409 | fichier. |
---|
410 | |
---|
411 | Faites de même pour les PC du groupe 2 : |
---|
412 | |
---|
413 | # editor group2pcs.cfg |
---|
414 | |
---|
415 | define host { |
---|
416 | use generic-host |
---|
417 | host_name pc3 |
---|
418 | alias pc3 |
---|
419 | address 10.10.0.3 |
---|
420 | parents s1 |
---|
421 | } |
---|
422 | |
---|
423 | |
---|
424 | define host { |
---|
425 | use generic-host |
---|
426 | host_name pc4 |
---|
427 | alias pc4 |
---|
428 | address 10.10.0.4 |
---|
429 | parents s2 |
---|
430 | } |
---|
431 | |
---|
432 | |
---|
433 | Procédez ainsi pour tous les PC du groupe 2 ; notez bien le parent |
---|
434 | s1/s2 (PC impaires = parent s1, paires = parent s2). Lorsque vous avez |
---|
435 | terminé, sauvegardez et fermez le fichier. |
---|
436 | |
---|
437 | Faites attention aux entrées des parents et aux adresses IP. |
---|
438 | |
---|
439 | Prenez les trois entrées ci-dessus et développez-les pour créer les |
---|
440 | entrées restantes organisées par groupe pour tous les PC actifs. |
---|
441 | En d'autres termes, créez les entrées des PC 1 à 20 par groupe (en |
---|
442 | pensant à ignorer votre PC). |
---|
443 | |
---|
444 | |
---|
445 | Comme précédemment, répétez les étapes 2a à 2c pour vérifier votre |
---|
446 | configuration, corrigez les erreurs éventuelles et activez-la. |
---|
447 | |
---|
448 | 5. Visualisez votre instance Nagios sur le web. Notez que "Status |
---|
449 | Map" (Carte dŽétat) vous offre une représentation graphique des |
---|
450 | relations parent-enfant que vous avez définies. |
---|
451 | |
---|
452 | |
---|
453 | PARTIE III |
---|
454 | |
---|
455 | Configurer le contrôle des services du NOC de la classe |
---|
456 | ------------------------------------------------------- |
---|
457 | |
---|
458 | 0. Configuration |
---|
459 | |
---|
460 | Maintenant que notre matériel est configuré, nous pouvons commencer |
---|
461 | à indiquer à Nagios les services à surveiller sur le matériel |
---|
462 | configuré, comment regrouper le matériel de façon intéressante, |
---|
463 | comment regrouper les services, etc. |
---|
464 | |
---|
465 | 1. Affectez un contrôle de services au NOC de notre classe |
---|
466 | |
---|
467 | # editor hostgroups_nagios2.cfg |
---|
468 | |
---|
469 | - Trouver le groupe d'hôtes nommé "ssh-servers". Dans la section membres |
---|
470 | de la définition, remplacez la ligne : |
---|
471 | |
---|
472 | members localhost |
---|
473 | |
---|
474 | par |
---|
475 | |
---|
476 | members localhost,noc |
---|
477 | |
---|
478 | Sauvegardez le fichier et quittez |
---|
479 | |
---|
480 | Vérifiez que vos modifications sont correctes : |
---|
481 | |
---|
482 | # nagios3 -v /etc/nagios3/nagios.cfg |
---|
483 | |
---|
484 | Redémarrez Nagios pour voir les nouveaux services associés à votre hôte : |
---|
485 | |
---|
486 | # /etc/init.d/nagios3 restart |
---|
487 | |
---|
488 | Cliquez sur "Service Detail" (Détails du service) dans l'interface web de |
---|
489 | Nagios pour voir votre nouvelle entrée. |
---|
490 | |
---|
491 | |
---|
492 | PARTIE IV |
---|
493 | Définition des services pour tous les PC |
---|
494 | ----------------------------------------------------------------------------- |
---|
495 | |
---|
496 | 0. Par défaut, l'intervalle de contrôle normal (normal_check_interval) |
---|
497 | des services est de 5 (minutes) dans generic-service_nagios2.cfg. |
---|
498 | Vous pouvez porter cette valeur à 1 pour accélérer la détection des |
---|
499 | problèmes de service, tout du moins dans l'atelier. |
---|
500 | |
---|
501 | 1. Déterminez les services à définir et les périphériques associés |
---|
502 | |
---|
503 | - C'est le coeur même de l'utilisation de Nagios et des outils de |
---|
504 | surveillance réseau en général. |
---|
505 | |
---|
506 | Jusqu'ici, nous avons simplement utilisé la commande ping pour |
---|
507 | vérifier que les hôtes physiques sont actifs sur notre réseau et |
---|
508 | nous avons commencé à surveiller un seul service sur un seul hôte |
---|
509 | (votre PC). La prochaine étape consiste à décider quels services |
---|
510 | vous souhaitez surveiller pour chacun des hôtes de la classe. |
---|
511 | |
---|
512 | - Caractéristiques de cette classe particulière : |
---|
513 | |
---|
514 | Routeurs : Service ssh et snmp |
---|
515 | Commutateurs : Service telnet et éventuellement ssh ainsi que snmp |
---|
516 | PC : Tous les PC offrent un service ssh et http et devraient |
---|
517 | avoir un service SNMP maintenant |
---|
518 | Le NOC offre aussi un service snmp |
---|
519 | |
---|
520 | Nous allons donc configurer Nagios afin qu'il vérifie ces |
---|
521 | services sur ces périphériques. |
---|
522 | |
---|
523 | 2.) Vérifiez que SSH est exécuté sur les routeurs et les images des PC de |
---|
524 | l'atelier |
---|
525 | |
---|
526 | - Dans le fichier services_nagios2.cfg, il existe déjà une entrée |
---|
527 | pour le contrôle des services SSH, vous n'avez donc pas besoin |
---|
528 | de créer cette étape. Au lieu de cela, il vous suffit de redéfinir |
---|
529 | l'entrée "ssh-servers" dans le fichier |
---|
530 | /etc/nagios3/conf.d/hostgroups_nagios2.cfg. |
---|
531 | |
---|
532 | L'entrée initiale dans le fichier ressemblait à ceci : |
---|
533 | |
---|
534 | # A list of your ssh-accessible servers |
---|
535 | define hostgroup { |
---|
536 | hostgroup_name ssh-servers |
---|
537 | alias SSH servers |
---|
538 | members localhost,noc |
---|
539 | } |
---|
540 | |
---|
541 | Que faut-il modifier à votre avis ? |
---|
542 | |
---|
543 | Corriger la ligne "members". Vous devez créer des entrées pour tous les |
---|
544 | PC de la classe, les routeurs et les commutateurs exécutant ssh. |
---|
545 | |
---|
546 | Avec ces informations et le schéma du réseau, vous devriez pouvoir |
---|
547 | finaliser cette entrée. |
---|
548 | |
---|
549 | L'entrée devrait ressembler à ceci : |
---|
550 | |
---|
551 | define hostgroup { |
---|
552 | hostgroup_name ssh-servers |
---|
553 | alias SSH servers |
---|
554 | members localhost,pc1,pc2,pc3,pc4,pc5,pc6,pc7,pc8,pc9,pc10,pc11,pc12,pc13,pc14,pc15,pc16,pc17,pc18,pc19,pc20 |
---|
555 | } |
---|
556 | |
---|
557 | Remarque : conservez "localhost" - Cette entrée identifie |
---|
558 | votre PC et représente le point de vue réseau de Nagios. |
---|
559 | Ainsi, par exemple, si vous êtes sur le "pc3", vous ne |
---|
560 | devrez pas inclure "pc3" dans la liste des PC de la classe, |
---|
561 | car il est représenté par l'entrée "localhost". |
---|
562 | |
---|
563 | L'entrée "members" sera une longue ligne et bouclera |
---|
564 | probablement à l'écran. |
---|
565 | |
---|
566 | Pensez à inclure l'ensemble des PC et routeurs que vous |
---|
567 | avez définis. N'incluez pas d'entrées si elles ne sont pas |
---|
568 | déjà définies dans pcs.cfg, switches.cfg ou routers.cfg. |
---|
569 | |
---|
570 | - Lorsque vous avez terminé, effectuez le contrôle avant démarrage : |
---|
571 | |
---|
572 | # nagios3 -v /etc/nagios3/nagios.cfg |
---|
573 | |
---|
574 | Si tout semble correct, redémarrez Nagios |
---|
575 | |
---|
576 | # /etc/init.d/nagios3 stop |
---|
577 | # /etc/init.d/nagios3 start |
---|
578 | |
---|
579 | et visualisez vos modifications dans l'interface web de Nagios. |
---|
580 | |
---|
581 | Pour poursuivre avec les groupes d'hôtes, vous pouvez créer des |
---|
582 | groupes supplémentaires pour une utilisation ultérieure, comme par |
---|
583 | exemple tous nos serveurs virtuels. NŽhésitez pas à modifier de |
---|
584 | nouveau le fichier hostgroups_nagios2.cfg : |
---|
585 | |
---|
586 | # editor hostgroups_nagios2.cfg |
---|
587 | |
---|
588 | et ajoutez les lignes suivantes à la fin du fichier : |
---|
589 | |
---|
590 | # Une liste de routeurs virtuels |
---|
591 | define hostgroup { |
---|
592 | hostgroup_name cisco7200 |
---|
593 | alias Cisco 7200 Routers |
---|
594 | members rtr1,rtr2,rtr3,rtr4,rtr5,rtr6,rtr7,rtr8,rtr9,rtr10 |
---|
595 | } |
---|
596 | |
---|
597 | Enregistrez et fermez le fichier. Vérifiez que tout est correct : |
---|
598 | |
---|
599 | # nagios3 -v /etc/nagios3/nagios.cfg |
---|
600 | |
---|
601 | Si tout semble correct, alors redémarrez Nagios |
---|
602 | |
---|
603 | # /etc/init.d/nagios3 stop |
---|
604 | # /etc/init.d/nagios3 start |
---|
605 | |
---|
606 | 3.) Vérifiez que http fonctionne sur tous les PC de la classe. |
---|
607 | |
---|
608 | - Cette étape est presque identique à l'exercice précédent. Il |
---|
609 | vous suffit de modifier la création du service HTTP pour chaque |
---|
610 | PC (pas de routeurs ou de commutateurs). Rappelez-vous que vous |
---|
611 | n'avez pas besoin d'ajouter votre machine car celle-ci est déjà |
---|
612 | définie en tant que "localhost". |
---|
613 | |
---|
614 | 4.) OPTIONS SUPPLÉMENTAIRES : Plutôt que de simplement vérifier |
---|
615 | qu'un serveur Web est exécuté sur les PC de la classe, vous pourriez |
---|
616 | également vérifier que le service nagios3 est disponible, en demandant |
---|
617 | le chemin /nagios3/. Cela signifie passer des options supplémentaires |
---|
618 | au plugin check_http. |
---|
619 | |
---|
620 | Pour une description des options disponibles, tapez les commandes |
---|
621 | suivantes : |
---|
622 | |
---|
623 | # /usr/lib/nagios/plugins/check_http |
---|
624 | # /usr/lib/nagios/plugins/check_http --help |
---|
625 | |
---|
626 | et bien sûr vous pouvez consulter la documentation nagios en |
---|
627 | ligne ou rechercher sur Google des informations sur check_http. |
---|
628 | Vous pouvez même lancer le plugin manuellement pour effectuer |
---|
629 | un contrôle ponctuel de service : |
---|
630 | |
---|
631 | # /usr/lib/nagios/plugins/check_http -H localhost -u /nagios3/ |
---|
632 | |
---|
633 | L'objectif est donc de configurer Nagios pour invoquer check_http de cette |
---|
634 | manière. Créez un fichier pour stocker les informations, qu'on appellera |
---|
635 | service-nagios.cfg |
---|
636 | |
---|
637 | # editor service-nagios.cfg |
---|
638 | |
---|
639 | |
---|
640 | define command{ |
---|
641 | command_name check_http_arg |
---|
642 | command_line /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' $ARG1$ |
---|
643 | } |
---|
644 | |
---|
645 | define service { |
---|
646 | hostgroup_name nagios-servers |
---|
647 | service_description NAGIOS |
---|
648 | check_command check_http_arg!-u /nagios3/ |
---|
649 | use generic-service |
---|
650 | } |
---|
651 | |
---|
652 | |
---|
653 | Sauvegardez et fermez le fichier ; vous devrez bien sûr |
---|
654 | créer un groupe d'hôtes appelé nagios-servers pour créer |
---|
655 | un lien vers ce contrôle de services. |
---|
656 | |
---|
657 | # editor hostgroups_nagios2.cfg |
---|
658 | |
---|
659 | À la fin du fichier, ajoutez les lignes suivantes : |
---|
660 | |
---|
661 | define hostgroup { |
---|
662 | hostgroup_name nagios-servers |
---|
663 | alias Servers faisant tourner Nagios |
---|
664 | members localhost,pc1,pc2,pc3,pc4,pc5,pc6,pc7,pc8,pc9,pc10,pc11,pc12,pc13,pc14,pc15,pc16,pc17,pc18,pc19,pc20 |
---|
665 | } |
---|
666 | |
---|
667 | Ajoutez tous les serveurs de la salle (jusqu'à 20) |
---|
668 | |
---|
669 | Ceci étant fait, vérifiez que Nagios affiche une alerte d'échec |
---|
670 | d'authentification (car il essaie de télécharger la page sans |
---|
671 | fournir le nom d'utilisateur/mot de passe). Il existe un |
---|
672 | paramètre supplémentaire que vous pouvez passer à check_http_arg |
---|
673 | pour obtenir cette information ; voyons si vous arrivez à le |
---|
674 | trouver. |
---|
675 | |
---|
676 | EXPLICATION ENNUYEUSE: |
---|
677 | |
---|
678 | ATTENTION : selon la tradition du "Debian aime tout changer", |
---|
679 | la définition que donne Debian de la commande check_http dans |
---|
680 | /etc/nagios-plugins/config/http.cfg n'est *pas* la même que |
---|
681 | celle recommandée dans la documentation nagios3. |
---|
682 | |
---|
683 | Il manque $ARG1$, ce qui fait que les paramètres à passer à |
---|
684 | check_http sont ignorés. Vous pourriez ainsi penser surveiller |
---|
685 | /nagios3/ alors quŽen réalité vous surveillez la racine ! |
---|
686 | |
---|
687 | C'est pourquoi nous avons dû créer une nouvelle définition de |
---|
688 | commande, "check_http_arg". |
---|
689 | Vous pourriez en créer une plus spécifique telle que "check_nagios" |
---|
690 | ou modifier la définition Ubuntu de check_http afin qu'elle |
---|
691 | corresponde à l'usage courant. |
---|
692 | |
---|
693 | |
---|
694 | |
---|
695 | PARTIE V |
---|
696 | Création d'autres groupes d'hôtes |
---|
697 | ----------------------------------------------------------------------------- |
---|
698 | |
---|
699 | 0. Dans l'affichage Web, consultez les pages "Hostgroup Overview" |
---|
700 | (Vue dŽensemble des groupes dŽhôtes), "Hostgroup Summary" (Résumé |
---|
701 | des groupes dŽhôtes), "Hostgroup Grid" (Liste des groupes dŽhôtes). |
---|
702 | Ceci permet de regrouper facilement des hôtes ayant des caractéristiques |
---|
703 | communes (par exemple, hôtes sur le même site ou ayant le même |
---|
704 | rôle). |
---|
705 | |
---|
706 | 1. Mettez à jour /etc/nagios3/conf.d/hostgroups_nagios2.cfg |
---|
707 | |
---|
708 | - Pour les exercices qui suivent, il sera très utile de créer |
---|
709 | ou de modifier les groupes d'hôtes suivants : |
---|
710 | |
---|
711 | Serveurs Debian |
---|
712 | Routeurs |
---|
713 | Commutateurs |
---|
714 | |
---|
715 | Si vous modifiez le fichier |
---|
716 | /etc/nagios3/conf.d/hostgroups_nagios2.cfg, vous verrez une |
---|
717 | entrée pour les serveurs Debian contenant uniquement l'hôte |
---|
718 | local (localhost). |
---|
719 | |
---|
720 | Modifiez cette entrée afin qu'elle inclue tous les PC de la |
---|
721 | classe, y compris le NOC (cela suppose que vous avez créé une |
---|
722 | entrée "noc" dans votre fichier pcs.cfg). Pensez à ignorer |
---|
723 | l'entrée de votre PC car il est représenté par l'entrée |
---|
724 | localhost. |
---|
725 | |
---|
726 | # editor /etc/nagios3/conf.d/hostgroups_nagios2.cfg |
---|
727 | |
---|
728 | Mettez à jour l'entrée suivante : |
---|
729 | |
---|
730 | |
---|
731 | # A list of your Debian GNU/Linux servers |
---|
732 | define hostgroup { |
---|
733 | hostgroup_name debian-servers |
---|
734 | alias Debian GNU/Linux Servers |
---|
735 | members localhost |
---|
736 | } |
---|
737 | |
---|
738 | De sorte que le paramètre "members" ressemble aux lignes |
---|
739 | suivantes. Utilisez votre schéma du réseau de la classe afin |
---|
740 | de confirmer le nombre exact de machines et de noms dans votre |
---|
741 | atelier. |
---|
742 | |
---|
743 | members localhost,noc,pc1,pc2,pc3,pc4,pc5,pc6,pc7,pc8,pc9,pc10,pc11,pc12,pc13,pc14,pc15,pc16,pc17,pc18,pc19,pc20 |
---|
744 | |
---|
745 | Veillez à ce que la ligne boucle et qu'elle ne soit pas sur |
---|
746 | deux lignes distinctes. Dans le cas contraire vous obtiendrez |
---|
747 | une erreur lorsque vous redémarrerez Nagios. Rappelez-vous |
---|
748 | que votre PC est "localhost". |
---|
749 | |
---|
750 | - Ceci étant fait, créez deux groupes d'hôtes supplémentaires, |
---|
751 | un pour les routeurs et l'autre pour les commutateurs. Appelez |
---|
752 | ces entrées "routers" et "switches". |
---|
753 | |
---|
754 | - Lorsque vous avez terminé, veillez à vérifier votre travail |
---|
755 | et redémarrez Nagios. |
---|
756 | |
---|
757 | - NŽoubliez pas dŽignorer l'entrée de votre PC car il est |
---|
758 | représenté par l'entrée localhost. |
---|
759 | |
---|
760 | 2. Revenez à l'interface web et regardez vos nouveaux groupes d'hôtes |
---|
761 | |
---|
762 | PARTIE VI |
---|
763 | Création de groupes de service |
---|
764 | ----------------------------------------------------------------------------- |
---|
765 | |
---|
766 | 1. Créez des groupes de services ssh et http pour chaque série de PC. |
---|
767 | |
---|
768 | - L'objectif, ici, est de créer trois groupes de services. Chaque |
---|
769 | groupe de service sera pour chaque paire de PC (1-2, 3-4). Nous voulons |
---|
770 | regrouper ces PC et inclure l'état de leurs services ssh et http. |
---|
771 | Pour ce faire, créez le fichier suivant : |
---|
772 | |
---|
773 | # editor /etc/nagios3/conf.d/servicegroups.cfg |
---|
774 | |
---|
775 | Voici un échantillon du groupe de service pour le groupe 1 : |
---|
776 | |
---|
777 | define servicegroup { |
---|
778 | servicegroup_name group1-servers |
---|
779 | alias group 1 servers |
---|
780 | members pc1,SSH,pc1,HTTP,pc2,SSH,pc2,HTTP |
---|
781 | } |
---|
782 | |
---|
783 | define servicegroup { |
---|
784 | servicegroup_name group2-servers |
---|
785 | alias group 2 servers |
---|
786 | members pc3,SSH,pc3,HTTP,pc4,SSH,pc4,HTTP |
---|
787 | } |
---|
788 | |
---|
789 | - Notez que la ligne "members" doit boucler (ne doit pas |
---|
790 | être sur deux lignes) |
---|
791 | |
---|
792 | - Notez que "SSH" et "HTTP" doivent être en majuscules car |
---|
793 | c'est ainsi qu'apparaît la service_description dans le |
---|
794 | fichier /etc/nagios3/conf.d/services_nagios2.cfg |
---|
795 | |
---|
796 | - Vous devez également créer une entrée pour les autres |
---|
797 | groupes de serveurs |
---|
798 | |
---|
799 | - Enregistrez vos modifications, vérifiez votre travail et |
---|
800 | redémarrez Nagios. Maintenant, si vous cliquez sur les |
---|
801 | rubriques du menu Servicegroup dans l'interface web de |
---|
802 | Nagios, vous devriez voir ces informations regroupées. |
---|
803 | |
---|
804 | |
---|
805 | |
---|
806 | PARTIE VII |
---|
807 | Configuration de l'accès public à l'interface web de Nagios |
---|
808 | ----------------------------------------------------------------------------- |
---|
809 | |
---|
810 | 1. Modifiez le fichier /etc/nagios3/cgi.cfg de façon à donner un |
---|
811 | accès public (guest) en lecture seule à l'interface web de Nagios. |
---|
812 | |
---|
813 | - Par défaut, Nagios est configuré pour donner à l'utilisateur |
---|
814 | nagiosadmin un accès complet en lecture/écriture via l'interface |
---|
815 | web de Nagios. Vous pouvez changer le nom de cet utilisateur, |
---|
816 | ajouter d'autres utilisateurs, modifier le mode d'authentification |
---|
817 | des utilisateurs, définir les utilisateurs ayant accès aux |
---|
818 | différentes ressources et bien d'autres choses encore via le |
---|
819 | fichier cgi.cfg. |
---|
820 | |
---|
821 | - Créons tout d'abord un utilisateur et mot de passe "guest" |
---|
822 | (invité) dans le fichier htpasswd.users. |
---|
823 | |
---|
824 | # htpasswd /etc/nagios3/htpasswd.users guest |
---|
825 | |
---|
826 | Vous pouvez utiliser n'importe quel mot de passe (ou aucun). |
---|
827 | Choisir pour mot de passe "guest" n'est pas un mauvais choix. |
---|
828 | |
---|
829 | - Modifiez ensuite le fichier /etc/nagios3/cgi.cfg et regardez |
---|
830 | quel type d'accès a été donné à l'utilisateur nagiosadmin. Par |
---|
831 | défaut, vous verrez les directives suivantes (à noter la présence |
---|
832 | de commentaires entre chaque directive) : |
---|
833 | |
---|
834 | authorized_for_system_information=nagiosadmin |
---|
835 | authorized_for_configuration_information=nagiosadmin |
---|
836 | authorized_for_system_commands=nagiosadmin |
---|
837 | authorized_for_all_services=nagiosadmin |
---|
838 | authorized_for_all_hosts=nagiosadmin |
---|
839 | authorized_for_all_service_commands=nagiosadmin |
---|
840 | authorized_for_all_host_commands=nagiosadmin |
---|
841 | |
---|
842 | Nous allons maintenant indiquer à Nagios d'accorder à l'utilisateur |
---|
843 | "guest" un certain niveau dŽaccès aux informations via l'interface web. |
---|
844 | Vous pouvez choisir ce que vous souhaitez, mais les autorisations |
---|
845 | d'accès se présentent généralement de la manière suivante : |
---|
846 | |
---|
847 | authorized_for_system_information=nagiosadmin,guest |
---|
848 | authorized_for_configuration_information=nagiosadmin,guest |
---|
849 | authorized_for_system_commands=nagiosadmin |
---|
850 | authorized_for_all_services=nagiosadmin,guest |
---|
851 | authorized_for_all_hosts=nagiosadmin,guest |
---|
852 | authorized_for_all_service_commands=nagiosadmin |
---|
853 | authorized_for_all_host_commands=nagiosadmin |
---|
854 | |
---|
855 | - Une fois les modifications effectuées, enregistrez le fichier cgi.cfg, vérifiez votre travail et redémarrez Nagios. |
---|
856 | |
---|
857 | - Pour voir si vous pouvez vous connecter en tant qu'utilisateur |
---|
858 | "guest", il peut être nécessaire d'effacer les cookies de votre |
---|
859 | navigateur internet. Vous ne remarquerez aucune différence au |
---|
860 | niveau de l'interface web. La différence réside dans le fait |
---|
861 | qu'un certain nombre d'éléments accessibles via l'interface web |
---|
862 | (forcer un contrôle de services/hôtes, planifier les contrôles, |
---|
863 | faire des commentaires, etc) ne fonctionnent pas pour l'utilisateur |
---|
864 | invité. |
---|
865 | |
---|
866 | |
---|
867 | PARTIE VIII |
---|
868 | Informations étendues dŽhôte ("améliorer l'aspect de vos graphiques") |
---|
869 | ----------------------------------------------------------------------------- |
---|
870 | |
---|
871 | 1. Mettez à jour extinfo_nagios2.cfg |
---|
872 | |
---|
873 | - Si vous souhaitez utiliser des icônes appropriées pour les |
---|
874 | hôtes que vous avez définis dans Nagios, c'est ici qu'il faut |
---|
875 | le faire. Nous avons les trois types de périphériques : |
---|
876 | |
---|
877 | Routeurs Cisco |
---|
878 | Commutateurs Cisco |
---|
879 | Serveurs Ubuntu |
---|
880 | |
---|
881 | Il y a une collection assez importante d'icônes à votre disposition ici : |
---|
882 | |
---|
883 | /usr/share/nagios3/htdocs/images/logos/ |
---|
884 | |
---|
885 | Elles ont été installées par défaut sous forme de paquets |
---|
886 | dépendants du paquet nagios3 sous Ubuntu. Dans certains cas, |
---|
887 | vous pouvez trouver des icônes spécifiques au modèle de votre |
---|
888 | matériel, mais afin de simplifier les choses, nous allons |
---|
889 | utiliser les icônes suivantes pour notre matériel : |
---|
890 | |
---|
891 | /usr/share/nagios3/htdocs/images/logos/base/debian.* |
---|
892 | /usr/share/nagios3/htdocs/images/logos/cook/router.* |
---|
893 | /usr/share/nagios3/htdocs/images/logos/cook/switch.* |
---|
894 | |
---|
895 | - La prochaine étape consiste à modifier le fichier |
---|
896 | |
---|
897 | /etc/nagios3/conf.d/extinfo_nagios2.cfg |
---|
898 | |
---|
899 | et à indiquer à nagios l'image que vous souhaitez utiliser pour |
---|
900 | représenter vos périphériques. |
---|
901 | |
---|
902 | # editor /etc/nagios3/conf.d/extinfo_nagios2.cfg |
---|
903 | |
---|
904 | Voici à quoi ressemble une entrée pour vos routeurs (il existe |
---|
905 | déjà une entrée pour les serveurs Debian qui fonctionnera |
---|
906 | sans modification). Notez que le modèle de routeur (3600) |
---|
907 | n'est pas d'une importance capitale. L'image utilisée représente |
---|
908 | un routeur type. |
---|
909 | |
---|
910 | define hostextinfo { |
---|
911 | hostgroup_name routers |
---|
912 | icon_image cook/router.png |
---|
913 | icon_image_alt Cisco Routers (3600) |
---|
914 | vrml_image router.png |
---|
915 | statusmap_image cook/router.gd2 |
---|
916 | } |
---|
917 | |
---|
918 | Créez maintenant une entrée pour vos commutateurs. Ceci étant |
---|
919 | fait, vérifiez votre travail et redémarrez Nagios. Jetez un |
---|
920 | oeil au "Status Map" (graphique dŽétat des hôtes) dans l'interface |
---|
921 | web. |
---|
922 | |
---|
923 | Le graphique devrait avoir meilleur aspect, avec de véritables |
---|
924 | icônes à la place des points d'interrogation. |
---|
925 | |
---|
926 | |
---|
927 | |
---|
928 | EN OPTION |
---|
929 | -------- |
---|
930 | |
---|
931 | * Vérifiez que SNMP est exécuté sur le NOC de la classe |
---|
932 | |
---|
933 | - Vous devrez d'abord créer le contrôle de service SNMP approprié |
---|
934 | dans le fichier /etc/nagios3/conf.d/services_nagios2.cfg. C'est |
---|
935 | en cela que Nagios est vraiment impressionnant. Il existe des |
---|
936 | centaines, si ce n'est des milliers, de contrôles de service |
---|
937 | accessibles via les différents sites Nagios sur internet. Pour |
---|
938 | savoir quels plugins sont installés par Ubuntu dans le paquet |
---|
939 | Nagios3 que nous avons installé, consultez le répertoire suivant: |
---|
940 | |
---|
941 | # ls /usr/lib/nagios/plugins |
---|
942 | |
---|
943 | Comme vous pouvez le constater, nous disposons déjà d'un |
---|
944 | plugin check_snmp. Si vous êtes intéressé par les options que |
---|
945 | prend le plugin, vous pouvez l'exécuter depuis la ligne de |
---|
946 | commande en tapant : |
---|
947 | |
---|
948 | # /usr/lib/nagios/plugins/check_snmp |
---|
949 | # /usr/lib/nagios/plugins/check_snmp --help |
---|
950 | |
---|
951 | Afin de connaître, entre autres, les options disponibles, le |
---|
952 | plugin check_snmp et Nagios permettent de créer des contrôles |
---|
953 | système très complexes ou spécifiques. |
---|
954 | |
---|
955 | - Pour voir les différents contrôles de services/hôtes qui ont |
---|
956 | été créés avec le plugin check_snmp, consultez le fichier |
---|
957 | /etc/nagios-plugins/config/snmp.cfg. Vous verrez qu'il existe |
---|
958 | un grand nombre de contrôles préconfigurés utilisant snmp, parmi |
---|
959 | lesquels : |
---|
960 | |
---|
961 | snmp_load |
---|
962 | snmp_cpustats |
---|
963 | snmp_procname |
---|
964 | snmp_disk |
---|
965 | snmp_mem |
---|
966 | snmp_swap |
---|
967 | snmp_procs |
---|
968 | snmp_users |
---|
969 | snmp_mem2 |
---|
970 | snmp_swap2 |
---|
971 | snmp_mem3 |
---|
972 | snmp_swap3 |
---|
973 | snmp_disk2 |
---|
974 | snmp_tcpopen |
---|
975 | snmp_tcpstats |
---|
976 | snmp_bgpstate |
---|
977 | check_netapp_uptime |
---|
978 | check_netapp_cupuload |
---|
979 | check_netapp_numdisks |
---|
980 | check_compaq_thermalCondition |
---|
981 | |
---|
982 | Mieux encore, vous pouvez créer très facilement d'autres |
---|
983 | contrôles de services. |
---|
984 | |
---|
985 | Afin de vérifier que snmpd (le service SNMP sous Linux) |
---|
986 | fonctionne, nous devons interroger SNMP. En l'absence de |
---|
987 | réponse, Nagios considèrera que le service SNMP ne fonctionne |
---|
988 | pas sur cet hôte. Les plugins de contrôle de service que vous |
---|
989 | utilisez, tels que check_http, check_ssh et check_telnet, |
---|
990 | procèdent de la même manière. |
---|
991 | |
---|
992 | - Dans le cas présent, nous allons créer un nouveau contrôle |
---|
993 | de service que nous appellerons "check_system". Ce contrôle de |
---|
994 | service se connectera à l'hôte spécifié, utilisera la chaîne |
---|
995 | de communauté privée que nous avons définie en classe et |
---|
996 | interrogera snmp - dans le cas présent, nous demanderons la |
---|
997 | description du système, ou l'OID "sysDescr.0" - |
---|
998 | |
---|
999 | - Pour ce faire, commencez par éditer le fichier |
---|
1000 | /etc/nagios-plugins/config/snmp.cfg : |
---|
1001 | |
---|
1002 | # editor /etc/nagios-plugins/config/snmp.cfg |
---|
1003 | |
---|
1004 | Au début du fichier (ou à la fin, au choix), ajoutez l'entrée suivante : |
---|
1005 | (Vous pouvez la copier-coller au lieu d'essayer de la ressaisir.) |
---|
1006 | |
---|
1007 | # definition de la commande 'check_system' |
---|
1008 | define command{ |
---|
1009 | command_name check_system |
---|
1010 | command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C |
---|
1011 | '$ARG1$' -o sysDescr.0 |
---|
1012 | } |
---|
1013 | |
---|
1014 | |
---|
1015 | Vous noterez que "command_line" ne constitue qu'une seule |
---|
1016 | ligne. Si vous effectuez un copier-coller de la ligne dans |
---|
1017 | votre éditeur, il se peut qu'elle ne boucle pas correctement |
---|
1018 | et que vous deviez ajouter manuellement la dernière partie de la |
---|
1019 | ligne: |
---|
1020 | |
---|
1021 | '$ARG1$' -o sysDescr.0 |
---|
1022 | |
---|
1023 | (... en fin de ligne.) |
---|
1024 | |
---|
1025 | - Vous devez maintenant modifier le fichier |
---|
1026 | /etc/nagios3/conf.d/services_nagios2.cfg en ajoutant ce contrôle |
---|
1027 | de service. Nous allons exécuter ce contrôle sur l'ensemble des |
---|
1028 | serveurs de la classe ou sur le groupe d'hôtes "debian-servers". |
---|
1029 | |
---|
1030 | - Modifiez le fichier /etc/nagios3/conf.d/services_nagios2.cfg |
---|
1031 | |
---|
1032 | # editor /etc/nagios3/conf.d/services_nagios2.cfg |
---|
1033 | |
---|
1034 | À la fin du fichier, ajoutez la définition suivante : |
---|
1035 | |
---|
1036 | # verifier que snmp tourne sur tous nos serveurs |
---|
1037 | define service { |
---|
1038 | hostgroup_name snmp-servers |
---|
1039 | service_description SNMP |
---|
1040 | check_command check_system!xxxxxx |
---|
1041 | use generic-service |
---|
1042 | notification_interval 0 |
---|
1043 | # spécifiez une valeur > 0 si vous voulez être renotifié |
---|
1044 | } |
---|
1045 | |
---|
1046 | "xxxxxx" est la chaîne de communauté privée qui a été (ou qui |
---|
1047 | sera) définie pour la classe. |
---|
1048 | |
---|
1049 | Vous noterez que nous avons inclus ici notre chaîne de |
---|
1050 | communauté privée au lieu de la coder en dur dans le fichier |
---|
1051 | snmp.cfg à une étape précédente. Vous devez remplacer les |
---|
1052 | "xxxxx" par la chaîne de communauté snmp donnée en classe, |
---|
1053 | faute de quoi ce contrôle ne fonctionnera pas. |
---|
1054 | |
---|
1055 | - Nous devons maintenant créer le groupe "snmp-serveurs" dans |
---|
1056 | notre fichier hostgroups_nagios2.cfg. |
---|
1057 | |
---|
1058 | Modifiez le fichier /etc/nagios3/conf.d/hostgroups_nagios2.cfg |
---|
1059 | et allez à la fin du fichier. Créez la définition de groupe |
---|
1060 | d'hôtes suivante : |
---|
1061 | |
---|
1062 | # Une liste de machines qui offrent un service SNMP, sur lesquelles nous allons |
---|
1063 | # verifier ce service |
---|
1064 | define hostgroup { |
---|
1065 | hostgroup_name snmp-servers |
---|
1066 | alias snmp servers |
---|
1067 | members noc |
---|
1068 | } |
---|
1069 | |
---|
1070 | - Notez que pour "members", vous pourriez également créer |
---|
1071 | les commutateurs et routeurs des groupes 1 et 2. Mais |
---|
1072 | l'élément particulier (MIB) que nous recherchons, "sysDescr.0", |
---|
1073 | peut ne pas être présent sur les commutateurs et/ou routeurs, |
---|
1074 | entraînant l'échec du contrôle. |
---|
1075 | |
---|
1076 | - Vérifiez maintenant que vos modifications sont correctes et |
---|
1077 | redémarrez Nagios. |
---|
1078 | |
---|
1079 | - Si vous cliquez sur la rubrique Service Detail de l'interface |
---|
1080 | web, vous devriez voir apparaître le contrôle SNMP pour l'hôte |
---|
1081 | du NOC. |
---|
1082 | |
---|
1083 | - Après la présentation et les exercices SNMP en classe, vous pourrez |
---|
1084 | revenir à cet exercice et ajouter tous les ordinateurs |
---|
1085 | de la classe à la liste des membres dans le fichier |
---|
1086 | hostgroups_nagios2.cfg, définition des groupes d'hôtes |
---|
1087 | snmp-serveurs. N'oubliez pas de définir votre PC en tant |
---|
1088 | que "localhost". |
---|
1089 | |
---|