Projet

Général

Profil

Wiki » Historique » Version 54

Patrice Nadeau, 2015-02-08 09:46

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