Agenda: exercises-nagios-part-IX-optional-vFR.txt

File exercises-nagios-part-IX-optional-vFR.txt, 9.7 KB (added by carmas, 5 years ago)
Line 
1Installation et Configuration de Nagios
2
3Notes :
4------
5* Les commandes précédées de "$" signifient que vous devez exécuter
6  la commande en tant qu'utilisateur général - et non en tant
7  qu'utilisateur root.
8
9* Les commandes précédées de "#" signifient que vous devez travailler
10  en tant qu'utilisateur root.
11
12* Les commandes comportant des lignes de commande plus spécifiques
13  (par exemple "rtrX>" ou "mysql>") signifient que vous exécutez
14  des commandes sur des équipements à distance, ou dans un autre
15  programme.
16
17Exercices
18---------
19
20
21PARTIE IX
22
23Exercices facultatif
24
251. Vérifier que Nagios fonctionne vraiment
26
27    PlutÃŽt que de simplement vérifier qu'un serveur Web tourne sur les PC de la
28        classe, vous pourriez également vérifier que le service nagios3 est
29        disponible, en demandant le chemin /nagios3/. Cela signifie passer des
30        options supplémentaires au plugin check_http.
31
32     Pour une description des options disponibles, tapez les commandes
33     suivantes :
34
35      # /usr/lib/nagios/plugins/check_http
36      # /usr/lib/nagios/plugins/check_http --help
37
38     et bien sûr vous pouvez consulter la documentation nagios en
39     ligne ou rechercher sur Google des informations sur check_http.
40     Vous pouvez même lancer le plugin manuellement pour effectuer
41     un contrÃŽle ponctuel de service :
42
43     # /usr/lib/nagios/plugins/check_http -H localhost -u /nagios3/
44
45     L'objectif est donc de configurer Nagios pour invoquer check_http de cette
46         maniÚre. Créez un fichier pour stocker les informations, qu'on appellera
47         service-nagios.cfg
48       
49        # editor service-nagios.cfg
50
51       
52define command{
53        command_name    check_http_url
54        command_line    /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -u '$ARG1$'
55        }
56
57define service {
58        hostgroup_name                  nagios-servers
59        service_description             NAGIOS
60        check_command                   check_http_url!/nagios3/
61        use                             generic-service
62}
63
64
65        Sauvegardez et fermez le fichier ; vous devrez bien sûr créer un groupe
66        d'hÃŽtes appelé nagios-servers pour créer un lien vers ce contrÃŽle de
67        services.
68
69        # editor hostgroups_nagios2.cfg
70
71À la fin du fichier, ajoutez les lignes suivantes :
72
73        define hostgroup {
74                hostgroup_name  nagios-servers
75                alias Servers faisant tourner Nagios
76                members localhost,pc1,pc2,...
77        }
78       
79        Ajoutez tous les serveurs de la salle (jusqu'à 20)
80
81     Ceci étant fait, vérifiez que Nagios affiche une alerte d'échec
82     d'authentification (car il essaie de télécharger la page sans
83     fournir le nom d'utilisateur/mot de passe). Il existe un
84     paramÚtre supplémentaire que vous pouvez passer à check_http
85     pour obtenir cette information ; voyons si vous arrivez à le
86     trouver.
87
88define command{
89        command_name    check_http_url_auth
90        command_line    /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -u '$ARG1$' -a '$ARG2$'
91        }
92
93...
94
95        check_command   check_http_url_auth!/nagios3/!nagiosadmin:password
96
97     EXPLICATION ENNUYEUSE:
98
99     ATTENTION : selon la tradition du "Debian aime tout changer",
100     la définition que donne Debian de la commande check_http dans
101     /etc/nagios-plugins/config/http.cfg n'est *pas* la même que
102     celle recommandée dans la documentation nagios3.
103
104     Il manque $ARG1$, ce qui fait que les paramÚtres à passer à
105     check_http sont ignorés. Vous pourriez ainsi penser surveiller
106     /nagios3/ alors quÂŽen réalité vous surveillez la racine !
107
108     C'est pourquoi nous avons dû créer une nouvelle définition de
109     commande, "check_http_url".
110     Vous pourriez en créer une plus spécifique telle que "check_nagios"
111     ou modifier la définition Ubuntu de check_http afin qu'elle
112     corresponde à l'usage courant.
113
1142. Vérifiez que SNMP fonctionne sur le NOC de la classe
115
116    - Vous devrez d'abord créer le contrÃŽle de service SNMP approprié
117      dans le fichier /etc/nagios3/conf.d/services_nagios2.cfg. C'est
118      en cela que Nagios est vraiment impressionnant. Il existe des
119      centaines, si ce n'est des milliers, de contrÃŽles de service
120      accessibles via les différents sites Nagios sur internet. Pour
121      savoir quels plugins sont installés par Ubuntu dans le paquet
122      Nagios3 que nous avons installé, consultez le répertoire suivant:
123
124    # ls /usr/lib/nagios/plugins
125
126      Comme vous pouvez le constater, nous disposons déjà d'un
127      plugin check_snmp. Si vous êtes intéressé par les options que
128      prend le plugin, vous pouvez l'exécuter depuis la ligne de
129      commande en tapant :
130
131    # /usr/lib/nagios/plugins/check_snmp
132    # /usr/lib/nagios/plugins/check_snmp --help
133
134      Afin de connaître, entre autres, les options disponibles, le
135      plugin check_snmp et Nagios permettent de créer des contrÃŽles
136      systÚme trÚs complexes ou spécifiques.
137
138    - Pour voir les différents contrÃŽles de services/hÃŽtes qui ont
139      été créés avec le plugin check_snmp, consultez le fichier
140      /etc/nagios-plugins/config/snmp.cfg. Vous verrez qu'il existe
141      un grand nombre de contrÃŽles préconfigurés utilisant snmp, parmi
142      lesquels :
143
144      snmp_load
145      snmp_cpustats
146      snmp_procname
147      snmp_disk
148      snmp_mem
149      snmp_swap
150      snmp_procs
151      snmp_users
152      snmp_mem2
153      snmp_swap2
154      snmp_mem3
155      snmp_swap3
156      snmp_disk2
157      snmp_tcpopen
158      snmp_tcpstats
159      snmp_bgpstate
160      check_netapp_uptime
161      check_netapp_cupuload
162      check_netapp_numdisks
163      check_compaq_thermalCondition
164     
165      Mieux encore, vous pouvez créer trÚs facilement d'autres
166      contrÃŽles de services.
167
168      Afin de vérifier que snmpd (le service SNMP sous Linux)
169      fonctionne, nous devons interroger SNMP. En l'absence de
170      réponse, Nagios considÚrera que le service SNMP ne fonctionne
171      pas sur cet hÃŽte. Les plugins de contrÃŽle de service que vous
172      utilisez, tels que check_http, check_ssh et check_telnet,
173      procÚdent de la même maniÚre.
174
175    - Dans le cas présent, nous allons créer un nouveau contrÃŽle
176      de service que nous appellerons "check_system". Ce contrÃŽle de
177      service se connectera à l'hÃŽte spécifié, utilisera la chaîne
178      de communauté privée que nous avons définie en classe et
179      interrogera snmp - dans le cas présent, nous demanderons la
180      description du systÚme, ou l'OID "sysDescr.0" -
181
182    - Pour ce faire, commencez par éditer le fichier
183      /etc/nagios-plugins/config/snmp.cfg :
184
185    # editor /etc/nagios-plugins/config/snmp.cfg
186
187      Au début du fichier (ou à la fin, au choix), ajoutez l'entrée suivante :
188      (Vous pouvez la copier-coller au lieu d'essayer de la ressaisir.)
189
190# definition de la commande 'check_system'
191define command{
192       command_name    check_system
193       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o sysDescr.0
194        }
195     
196
197      Vous noterez que "command_line" ne constitue qu'une seule
198      ligne. Si vous effectuez un copier-coller de la ligne dans
199      votre éditeur, il se peut qu'elle ne boucle pas correctement
200          et que vous deviez recoller les deux morceaux de ligne.
201
202    - Vous devez maintenant modifier le fichier
203      /etc/nagios3/conf.d/services_nagios2.cfg en ajoutant ce contrÃŽle
204      de service. Nous allons exécuter ce contrÃŽle sur l'ensemble des
205      serveurs de la classe ou sur le groupe d'hÃŽtes "debian-servers".
206
207    - Modifiez le fichier /etc/nagios3/conf.d/services_nagios2.cfg
208
209    # editor /etc/nagios3/conf.d/services_nagios2.cfg
210
211      À la fin du fichier, ajoutez la définition suivante :
212
213# verifier que snmp tourne sur tous nos serveurs
214define service {
215        hostgroup_name                  snmp-servers
216        service_description             SNMP
217        check_command                   check_system!xxxxxx
218        use                             generic-service
219        notification_interval           0
220                # spécifiez une valeur > 0 si vous voulez être renotifié
221}
222
223      "xxxxxx" est la chaîne de communauté privée qui a été (ou qui
224      sera) définie pour la classe.
225     
226      Vous noterez que nous avons inclus ici notre propre chaîne de
227      communauté au lieu de la coder en dur dans le fichier
228      snmp.cfg à une étape précédente. Vous devez remplacer les
229      "xxxxx" par la chaîne de communauté snmp donnée en classe,
230      faute de quoi ce contrÃŽle ne fonctionnera pas.
231     
232    - Nous devons maintenant créer le groupe "snmp-servers" dans
233      notre fichier hostgroups_nagios2.cfg.
234
235      Modifiez le fichier /etc/nagios3/conf.d/hostgroups_nagios2.cfg
236      et allez à la fin du fichier. Créez la définition de groupe
237      d'hÃŽtes suivante :
238     
239# Une liste de machines qui offrent un service SNMP, sur lesquelles nous allons
240# verifier ce service
241define hostgroup {
242           hostgroup_name       snmp-servers
243                   alias        snmp servers
244                   members      noc
245          }
246         
247        - Notez que pour "members", vous pourriez également créer
248          les commutateurs et routeurs des groupes 1 et 2. Mais
249          l'élément particulier (MIB) que nous recherchons, "sysDescr.0",
250          peut ne pas être présent sur les commutateurs et/ou routeurs,
251          entraînant l'échec du contrÃŽle.
252
253    - Vérifiez maintenant que vos modifications sont correctes et
254      redémarrez Nagios.
255
256    - Si vous cliquez sur la rubrique Service Detail de l'interface
257      web, vous devriez voir apparaître le contrÃŽle SNMP pour l'hÃŽte
258      du NOC.
259     
260    - AprÚs la présentation et les exercices SNMP en classe, vous pourrez
261          revenir à cet exercice et ajouter tous les ordinateurs
262          de la classe à la liste des membres dans le fichier
263          hostgroups_nagios2.cfg, définition des groupes d'hÃŽtes
264          snmp-serveurs. N'oubliez pas de définir votre PC en tant
265          que "localhost".
266