4171139614a207a0ab4b3e1208ca915a708b9d32
Monitoring/Icinga.md
... | ... | @@ -66,7 +66,7 @@ En prenant cela en compte, deux machines font actuellement tourner Icinga : *Cad |
66 | 66 | |
67 | 67 | Ici, la *zone* correspond à des éléments définis dans le fichier `zones.conf` (et ici, ça correspond à la répartition géographique des machines). La zone Brest a été définie comme parent de la zone Rennes, ainsi Rennes accepte les fichiers de configuration venant des serveurs de Brest. |
68 | 68 | |
69 | -### Ajouter un serveur |
|
69 | +#### Ajouter un serveur |
|
70 | 70 | |
71 | 71 | Selon la zone du serveur, rendez-vous dans le répertoire Brest ou Rennes, et créez le fichier `serveur.conf`, sur le modèle des autres fichiers présents. |
72 | 72 | |
... | ... | @@ -94,7 +94,7 @@ Ici, on définit un *objet* qui porte le nom du serveur, en l’occurrence Idaho |
94 | 94 | |
95 | 95 | À partir de là, comment monitorer la machine et ses services ? Il faut créer ce qu'on appelle un (attention) service. |
96 | 96 | |
97 | -### Ajouter un service |
|
97 | +#### Ajouter un service |
|
98 | 98 | |
99 | 99 | Les services sont communs à toutes les zones, avec quelques exceptions, et se trouvent donc dans les fichiers de configuration dans le répertoire global-templates. Là encore, les services de bases sont assez simples : on définit un objet de type Service avec un nom, et on lui ajoute quelques variables. |
100 | 100 | |
... | ... | @@ -115,8 +115,75 @@ On retrouve la même structure que plus haut, et une nouvelle variable, `check_c |
115 | 115 | Ici, la commande utilisée, est le ping (version IPv4). Comment savoir sur quel hôte appliquer ce service ? On pourrait rentrer à la main les noms d'hôte, mais au lieu de cela on peut appliquer le service à des hôtes qui respectent certaines expressions : |
116 | 116 | * `assign where host.address` : applique le service à tous les hôtes dont l'adresse est donnée. |
117 | 117 | |
118 | +On peut les combiner, la doc donne d'autres exemples : |
|
119 | + |
|
120 | +``` |
|
121 | +assign where match("*mysql*", host.name) && match("db-*", host.vars.prod_mysql_db) |
|
122 | + ignore where host.vars.test_server == true |
|
123 | + ignore where match("*internal", host.name) |
|
124 | +``` |
|
125 | + |
|
126 | +#### Les commandes |
|
127 | +*TODO: mettre un ping4 minimal* |
|
128 | + |
|
129 | +``` |
|
130 | +template CheckCommand "ping-common" { |
|
131 | + import "plugin-check-command" |
|
132 | + |
|
133 | + command = [ PluginDir + "/check_ping" ] |
|
134 | + |
|
135 | + arguments = { |
|
136 | + "-H" = "$ping_address$" |
|
137 | + "-w" = "$ping_wrta$,$ping_wpl$%" |
|
138 | + "-c" = "$ping_crta$,$ping_cpl$%" |
|
139 | + "-p" = "$ping_packets$" |
|
140 | + "-t" = "$ping_timeout$" |
|
141 | + } |
|
142 | + |
|
143 | + vars.ping_wrta = 100 |
|
144 | + vars.ping_wpl = 5 |
|
145 | + vars.ping_crta = 200 |
|
146 | + vars.ping_cpl = 15 |
|
147 | +} |
|
148 | +``` |
|
149 | + |
|
150 | +#### Plugins |
|
151 | + |
|
152 | +Les plugins utilisés se trouvent dans `/usr/local/nagios/libexec/`. |
|
153 | +Certains plugins-contrib sont utilisés : |
|
154 | +* mysql_health : https://labs.consol.de/nagios/check_mysql_health/ |
|
155 | + |
|
156 | +Pour compiler, mettre à jour, etc.. les sources se trouvent dans `/root/icinga-plugins-contrib/` |
|
157 | + |
|
158 | +#### Monitoring distribué : Faire communiquer deux zones |
|
159 | + |
|
160 | +*TODO : * |
|
161 | +* Génération des certificats |
|
162 | +* API |
|
163 | + |
|
164 | +#### Utiliser l'API pour récupérer des informations |
|
165 | +*TODO* |
|
166 | + |
|
167 | +#### Prévoir une maintenance |
|
168 | +*TODO* |
|
169 | + |
|
170 | +#### Icingaweb2 |
|
171 | +*TODO* |
|
172 | + |
|
173 | +## F.A.Q |
|
174 | + |
|
175 | +### Q : Je me connecte sur https://icinga.resel.fr mais il n'y a rien... |
|
176 | +R : Il faut être ajouté dans le groupe administrateurs , par défaut les utilisateurs n'ont aucun droit. La v2.0 finale arrive début octobre et permet de modifier les permissions par défaut. |
|
177 | + |
|
178 | +### Q : On peut pas copier la conf de Nagios ? |
|
179 | +R : Non, Icinga1 était totalement compatible mais il y a quelques modifications à faire avec Icinga2. |
|
180 | + |
|
181 | + |
|
118 | 182 | ## Ressources utiles |
183 | +* Le site officiel d'icinga : https://www.icinga.org/ |
|
184 | +* [Le monitoring au ResEl](Monitoring) |
|
119 | 185 | |
120 | 186 | ## Articles liés |
121 | 187 | |
188 | + |
|
122 | 189 | ## TODO (pour le rédacteur) |