Projet

Général

Profil

Wiki » Historique » Version 55

Patrice Nadeau, 2015-02-08 09:47

1 21 Patrice Nadeau
h1. Nagios
2 1 Patrice Nadeau
3 4 Patrice Nadeau
Nagios est un système de surveillance (monitoring) d’ordinateurs, imprimantes, routeurs et de services logiciels.
4
Il existe en version payante (Nagios IX) et « open source » (Nagios Open Source). 
5
C’est cette dernière version qui seras discutée ici.
6
7 33 Patrice Nadeau
>Ce guide est une introduction et ne ce veux en aucun cas une formation complète. Pour plus d’informations, consulter le site http://www.nagios.org/
8 24 Patrice Nadeau
9 3 Patrice Nadeau
{{TOC}}
10
11 21 Patrice Nadeau
h2. Installation
12 2 Patrice Nadeau
13 21 Patrice Nadeau
h3. Requis
14 11 Patrice Nadeau
15 53 Patrice Nadeau
* Un serveur [[guides_opensuse:wiki|openSUSE]] OU un BeagleBone Black avec Debian/Ubuntu.
16 4 Patrice Nadeau
* Apache installé et configuré,
17 26 Patrice Nadeau
* Un serveur de courriel (Postfix ou Exim) installé et configuré,
18 1 Patrice Nadeau
* Une adresse IP fixe,
19 4 Patrice Nadeau
* Une entré DNS (enregistrement A ou CNAME).
20 53 Patrice Nadeau
> Un serveur physique est fortement recommandé. 
21 4 Patrice Nadeau
22
h3. Installation de Nagios
23
24 31 Patrice Nadeau
h4. [[from source|À partir des sources]] (nouvelle méthode)
25
26 54 Patrice Nadeau
Fonctionne pour openSUSE et Debian/Ubuntu
27
28 31 Patrice Nadeau
h4. [[from yast|À partir de YaST]] (ancienne méthode)
29
30 55 Patrice Nadeau
openSUSE seulement
31
32 34 Patrice Nadeau
h3. Fichiers de configuration
33 27 Patrice Nadeau
34 32 Patrice Nadeau
L'emplacement des fichiers dépend de la méthode l’installation précédente.
35
36
Les principaux fichiers de configuration général sont :
37 22 Patrice Nadeau
* *nagios.cfg* : configuration de Nagios lui-même
38 5 Patrice Nadeau
* *ressources.cfg* : liste des macros, usagers et mots de passe
39
40
h2. Utilisation
41
42
Typographie dans les fichiers
43
* Un commentaire sur une ligne complète commence par un croisillon (#).
44 21 Patrice Nadeau
* Un commentaire à la fin d’une ligne commence par un point-virgule (;).
45 10 Patrice Nadeau
* Une exclusion est exprimé par un point d’exclamation (!) précédant l’item.
46
* Les items d’une liste sont séparés par une virgule (,).
47
48 32 Patrice Nadeau
h3. Fichiers d'objets
49 10 Patrice Nadeau
50 32 Patrice Nadeau
Les fichiers de configuration sont situés dans *objects*.
51
52 30 Patrice Nadeau
Les principaux sont :
53 5 Patrice Nadeau
* *templates.cfg*
54
* *commands.cfg* : commandes, scripts a exécuter
55
* *contacts.cfg* : contacts pour les alarmes
56
* *timeperiods.cfg* : les périodes de vérifications
57 7 Patrice Nadeau
58
L’utilisation de gabarits (« templates ») est fortement recommandée. 
59
Un item dans un gabarit peux être redéfinis.
60
Ceci permet d’avoir des gabarits ayant les options par défaut et seulement les exceptions sont à définir dans les sections hôtes, groupe et services.
61
> Les explications suivantes prennent pour acquis l’utilisation des gabarits fournis avec Nagios.
62
63
h3. Hosts
64 21 Patrice Nadeau
65 6 Patrice Nadeau
"Liste complète des paramètres pour hôte":http://nagios.sourceforge.net/docs/3_0/objectdefinitions.html#host
66
Liste des items :
67
* *use* : le nom du gabarit, contenu dans template.cfg
68
* *host_name* : nom de l’hôte, seras utilisé dans le reste de la configuration.
69
* *alias* : description du hôte.
70
* *address* : l’adresse IP ou le FQDN du hôte.
71 32 Patrice Nadeau
* *icon_image* (facultatif) : une image représentant le serveur. 
72 6 Patrice Nadeau
* *action_url* (facultatif) :
73
74
Exemple :
75
<pre><code class="nagios">
76
define host {
77 5 Patrice Nadeau
    use      linux−server
78
    hostname linux1
79
    alias    Serveur Linux 1
80
    address  linux1.mydomain.com
81
}
82
</code></pre>
83
84 21 Patrice Nadeau
h3. Groups
85 12 Patrice Nadeau
86
"Liste complète des paramètres pour les groupes d’hôtes":http://nagios.sourceforge.net/docs/3_0/objectdefinitions.html#hostgroup
87
88
Liste des items minimum :
89
* *hostgroup_name* : nom du groupe.
90
* *alias* : description du groupe.
91
* *members* : liste des hôtes dans ce groupe.
92
93
Exemple :
94
<pre><code class="nagios">
95
define hostgroup {
96
    hostgroup_name linux−servers
97
    alias          Linux servers
98
    members        linux1
99
}
100
</code></pre>
101
102 21 Patrice Nadeau
h3. Services
103 13 Patrice Nadeau
104
"Liste complète des paramètres pour les services":http://nagios.sourceforge.net/docs/3_0/objectdefinitions.html#service
105
106
Liste des items minimum :
107
* *use* : le nom du gabarit.
108
* *host_name* : noms des hôtes utilisant ce service.
109
* *service_description* : description du service.
110
* *check_command* : commande à effectuer. Définis dans *commands.cfg*.
111
112 14 Patrice Nadeau
Exemple :
113
<pre><code class="nagios">
114
define service{
115
    use                    local−service
116
    host_name              localhost
117
    service_description    PING
118
    check_command          check_ping!100.0,20%!500.0,60%
119
}
120
</code></pre>
121
122 21 Patrice Nadeau
h2. Agents
123 15 Patrice Nadeau
124 21 Patrice Nadeau
h3. Linux
125 15 Patrice Nadeau
126 38 Patrice Nadeau
Problème #31
127
128 15 Patrice Nadeau
Sous Linux, installer *nagios-nrpe*
129 36 Patrice Nadeau
> Le « repository » n'existe plus sous openSUSE 13.2. Il faut installer *nagios-plugins* à partir de http://software.opensuse.org/
130 35 Patrice Nadeau
131 15 Patrice Nadeau
<pre><code class="bash">
132
zypper install nagios−nrpe
133
</code></pre>
134
135
Ouvrir dans le pare feu les ports suivants :
136
* NRPE service (TCP 5666)
137
138
Éditer le fichier */etc/nrpe.cfg* et modifier les lignes suivantes :
139
* *allowed_hosts* : indiquer l’adresse IP ou le FQDN(Fully Qualified Domain Name) du serveur Nagios
140
141
Configuration du service
142
<pre><code class="bash">
143 37 Patrice Nadeau
systemctl enable nrpe.service
144 15 Patrice Nadeau
systemctl start nrpe
145
</code></pre>
146
147
h3. Windows
148 39 Patrice Nadeau
149
h2. Modules supplémentaires
150
151
h3. UPS
152
153 51 Patrice Nadeau
> La version 
154
155 39 Patrice Nadeau
USP de la compagnie APC
156
157
Pre-requis : [[guides_opensuse:ups|UPS sous openSUSE]]
158 40 Patrice Nadeau
159 44 Patrice Nadeau
h4. Installation
160 41 Patrice Nadeau
161 40 Patrice Nadeau
<pre><code class="bash">
162 42 Patrice Nadeau
wget -O check_apcupsd "http://exchange.nagios.org/directory/Plugins/Hardware/UPS/APC/check_apcupsd/visit"
163 40 Patrice Nadeau
chmod +x check_apcupsd
164 1 Patrice Nadeau
mv check_apcupsd /usr/local/nagios/libexec
165 42 Patrice Nadeau
</code></pre>
166
167
Faire un test avec 
168
<pre><code class="bash">
169
/usr/local/nagios/libexec/check_apcupsd -w 50 -c 25 bcharge
170
</code></pre>
171
172
Si le message d'erreur suivant apparait _Error: /sbin/apcaccess must exist and be executable!_, exécuter
173
<pre><code class="bash">
174 43 Patrice Nadeau
# Creer un lien symbolique vers l'executable apcaccess
175 1 Patrice Nadeau
ln -s /usr/sbin/apcaccess /sbin/apcaccess
176 44 Patrice Nadeau
</code></pre>
177
178
h4. Configuration
179
180
Ajouter dans le fichier *nagios/etc/objetcs/commands.cfg* :
181
<pre><code class="text">
182 45 Patrice Nadeau
# Définis la commande check_apcupsd
183 44 Patrice Nadeau
define command{
184
       command_name    check_apcupsd
185
       command_line    $USER1$/check_apcupsd -h $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ $ARG3$
186
       }
187
</code></pre>
188
189 46 Patrice Nadeau
Les arguments sont
190
* _$ARG1$_ : le seuil d'avertissement (warning)
191 1 Patrice Nadeau
* _$ARG2$_ : le seuil critique (critical)
192 51 Patrice Nadeau
* _$ARG3$_ : un des test suivants (liste complète avec _apcupsd_ sans arguments):
193 50 Patrice Nadeau
** *bcharge* : charge des batteries, en pourcent
194
** *itemp* : température interne, en Celsius
195
** *loadpct* : charge en pourcent
196
** *timeleft* : : temps restant selon la charge actuelle
197 46 Patrice Nadeau
198 50 Patrice Nadeau
Dans le fichier *nagios/etc/objects/localhost.cfg*, inscrire les test à effectuer.
199 46 Patrice Nadeau
200
>Ex. : Vérification de la charge restante, 50% étant un avertissement et 25% critique.
201 44 Patrice Nadeau
<pre><code class="text">
202 52 Patrice Nadeau
# Définis le service de charge restante du UPS
203 44 Patrice Nadeau
define service{
204
        use                     local-service   
205 1 Patrice Nadeau
        host_name               localhost
206 45 Patrice Nadeau
        service_description     UPS charge left    
207 49 Patrice Nadeau
        check_command           check_apcupsd!50!25!charge
208 44 Patrice Nadeau
        }
209 40 Patrice Nadeau
</code></pre>