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

File exercises-nagios-part-IX-optional-vFR.txt, 9.3 KB (added by admin, 7 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 "RTR-GW>" 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_arg
54        command_line    /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' $ARG1$
55        }
56
57define service {
58        hostgroup_name                  nagios-servers
59        service_description             NAGIOS
60        check_command                   check_http_arg!-u /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_arg
85     pour obtenir cette information ; voyons si vous arrivez à le
86     trouver.
87
88     EXPLICATION ENNUYEUSE:
89
90     ATTENTION : selon la tradition du "Debian aime tout changer",
91     la définition que donne Debian de la commande check_http dans
92     /etc/nagios-plugins/config/http.cfg n'est *pas* la même que
93     celle recommandée dans la documentation nagios3.
94
95     Il manque $ARG1$, ce qui fait que les paramètres à passer à
96     check_http sont ignorés. Vous pourriez ainsi penser surveiller
97     /nagios3/ alors quŽen réalité vous surveillez la racine !
98
99     C'est pourquoi nous avons dû créer une nouvelle définition de
100     commande, "check_http_arg".
101     Vous pourriez en créer une plus spécifique telle que "check_nagios"
102     ou modifier la définition Ubuntu de check_http afin qu'elle
103     corresponde à l'usage courant.
104
1052. Vérifiez que SNMP fonctionne sur le NOC de la classe
106
107    - Vous devrez d'abord créer le contrôle de service SNMP approprié
108      dans le fichier /etc/nagios3/conf.d/services_nagios2.cfg. C'est
109      en cela que Nagios est vraiment impressionnant. Il existe des
110      centaines, si ce n'est des milliers, de contrôles de service
111      accessibles via les différents sites Nagios sur internet. Pour
112      savoir quels plugins sont installés par Ubuntu dans le paquet
113      Nagios3 que nous avons installé, consultez le répertoire suivant:
114
115    # ls /usr/lib/nagios/plugins
116
117      Comme vous pouvez le constater, nous disposons déjà d'un
118      plugin check_snmp. Si vous êtes intéressé par les options que
119      prend le plugin, vous pouvez l'exécuter depuis la ligne de
120      commande en tapant :
121
122    # /usr/lib/nagios/plugins/check_snmp
123    # /usr/lib/nagios/plugins/check_snmp --help
124
125      Afin de connaître, entre autres, les options disponibles, le
126      plugin check_snmp et Nagios permettent de créer des contrôles
127      système très complexes ou spécifiques.
128
129    - Pour voir les différents contrôles de services/hôtes qui ont
130      été créés avec le plugin check_snmp, consultez le fichier
131      /etc/nagios-plugins/config/snmp.cfg. Vous verrez qu'il existe
132      un grand nombre de contrôles préconfigurés utilisant snmp, parmi
133      lesquels :
134
135      snmp_load
136      snmp_cpustats
137      snmp_procname
138      snmp_disk
139      snmp_mem
140      snmp_swap
141      snmp_procs
142      snmp_users
143      snmp_mem2
144      snmp_swap2
145      snmp_mem3
146      snmp_swap3
147      snmp_disk2
148      snmp_tcpopen
149      snmp_tcpstats
150      snmp_bgpstate
151      check_netapp_uptime
152      check_netapp_cupuload
153      check_netapp_numdisks
154      check_compaq_thermalCondition
155     
156      Mieux encore, vous pouvez créer très facilement d'autres
157      contrôles de services.
158
159      Afin de vérifier que snmpd (le service SNMP sous Linux)
160      fonctionne, nous devons interroger SNMP. En l'absence de
161      réponse, Nagios considèrera que le service SNMP ne fonctionne
162      pas sur cet hôte. Les plugins de contrôle de service que vous
163      utilisez, tels que check_http, check_ssh et check_telnet,
164      procèdent de la même manière.
165
166    - Dans le cas présent, nous allons créer un nouveau contrôle
167      de service que nous appellerons "check_system". Ce contrôle de
168      service se connectera à l'hôte spécifié, utilisera la chaîne
169      de communauté privée que nous avons définie en classe et
170      interrogera snmp - dans le cas présent, nous demanderons la
171      description du système, ou l'OID "sysDescr.0" -
172
173    - Pour ce faire, commencez par éditer le fichier
174      /etc/nagios-plugins/config/snmp.cfg :
175
176    # editor /etc/nagios-plugins/config/snmp.cfg
177
178      Au début du fichier (ou à la fin, au choix), ajoutez l'entrée suivante :
179      (Vous pouvez la copier-coller au lieu d'essayer de la ressaisir.)
180
181# definition de la commande 'check_system'
182define command{
183       command_name    check_system
184       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o sysDescr.0
185        }
186     
187
188      Vous noterez que "command_line" ne constitue qu'une seule
189      ligne. Si vous effectuez un copier-coller de la ligne dans
190      votre éditeur, il se peut qu'elle ne boucle pas correctement
191          et que vous deviez recoller les deux morceaux de ligne.
192
193    - Vous devez maintenant modifier le fichier
194      /etc/nagios3/conf.d/services_nagios2.cfg en ajoutant ce contrôle
195      de service. Nous allons exécuter ce contrôle sur l'ensemble des
196      serveurs de la classe ou sur le groupe d'hôtes "debian-servers".
197
198    - Modifiez le fichier /etc/nagios3/conf.d/services_nagios2.cfg
199
200    # editor /etc/nagios3/conf.d/services_nagios2.cfg
201
202      À la fin du fichier, ajoutez la définition suivante :
203
204# verifier que snmp tourne sur tous nos serveurs
205define service {
206        hostgroup_name                  snmp-servers
207        service_description             SNMP
208        check_command                   check_system!xxxxxx
209        use                             generic-service
210        notification_interval           0
211                # spécifiez une valeur > 0 si vous voulez être renotifié
212}
213
214      "xxxxxx" est la chaîne de communauté privée qui a été (ou qui
215      sera) définie pour la classe.
216     
217      Vous noterez que nous avons inclus ici notre propre chaîne de
218      communauté au lieu de la coder en dur dans le fichier
219      snmp.cfg à une étape précédente. Vous devez remplacer les
220      "xxxxx" par la chaîne de communauté snmp donnée en classe,
221      faute de quoi ce contrôle ne fonctionnera pas.
222     
223    - Nous devons maintenant créer le groupe "snmp-servers" dans
224      notre fichier hostgroups_nagios2.cfg.
225
226      Modifiez le fichier /etc/nagios3/conf.d/hostgroups_nagios2.cfg
227      et allez à la fin du fichier. Créez la définition de groupe
228      d'hôtes suivante :
229     
230# Une liste de machines qui offrent un service SNMP, sur lesquelles nous allons
231# verifier ce service
232define hostgroup {
233           hostgroup_name       snmp-servers
234                   alias        snmp servers
235                   members      noc
236          }
237         
238        - Notez que pour "members", vous pourriez également créer
239          les commutateurs et routeurs des groupes 1 et 2. Mais
240          l'élément particulier (MIB) que nous recherchons, "sysDescr.0",
241          peut ne pas être présent sur les commutateurs et/ou routeurs,
242          entraînant l'échec du contrôle.
243
244    - Vérifiez maintenant que vos modifications sont correctes et
245      redémarrez Nagios.
246
247    - Si vous cliquez sur la rubrique Service Detail de l'interface
248      web, vous devriez voir apparaître le contrôle SNMP pour l'hôte
249      du NOC.
250     
251    - Après la présentation et les exercices SNMP en classe, vous pourrez
252          revenir à cet exercice et ajouter tous les ordinateurs
253          de la classe à la liste des membres dans le fichier
254          hostgroups_nagios2.cfg, définition des groupes d'hôtes
255          snmp-serveurs. N'oubliez pas de définir votre PC en tant
256          que "localhost".
257