vigiboard / doc / admin.rst @ 99bd4776
History | View | Annotate | Download (26.1 KB)
1 |
********************** |
---|---|
2 |
Guide d'administration |
3 |
********************** |
4 |
|
5 |
|
6 |
Installation |
7 |
============ |
8 |
|
9 |
Pré-requis logiciels |
10 |
-------------------- |
11 |
Afin de pouvoir faire fonctionner VigiBoard, l'installation préalable des |
12 |
logiciels suivants est requise : |
13 |
|
14 |
* python (>= 2.5), sur la machine où VigiBoard est installé |
15 |
* Apache (>= 2.2.0), sur la machine où VigiBoard est installé |
16 |
* mod_wsgi (>= 2.3), sur la machine où VigiBoard est installé |
17 |
* PostgreSQL (>= 8.3), éventuellement sur une machine distante |
18 |
|
19 |
|
20 |
.. Installation du RPM |
21 |
.. include:: ../buildenv/doc/package.rst |
22 |
|
23 |
|
24 |
Démarrage et arrêt |
25 |
================== |
26 |
|
27 |
VigiBoard fonctionne comme un site Web standard. À ce titre, il n'est pas |
28 |
nécessaire d'exécuter une commande spécifique pour démarrer VigiBoard, dès lors |
29 |
que le serveur Web qui l'héberge a été lancé, à l'aide de la commande:: |
30 |
|
31 |
service httpd start |
32 |
|
33 |
De la même manière, il n'y a pas de commande spécifique pour arrêter VigiBoard. |
34 |
L'application est arrêtée en même temps que le serveur Web, à l'aide de la |
35 |
commande:: |
36 |
|
37 |
service httpd stop |
38 |
|
39 |
|
40 |
|
41 |
Configuration |
42 |
============= |
43 |
|
44 |
La configuration initialement fournie avec VigiBoard est très rudimentaire. |
45 |
Elle est décomposée en deux fichiers : |
46 |
|
47 |
- le fichier ``settings.ini`` d'une part, qui contient la majorité des options |
48 |
de configuration ; |
49 |
- et le fichier ``app_cfg.py`` qui contient des options de configuration plus |
50 |
complexes, nécessitant l'utilisation d'un langage plus complet (Python). |
51 |
|
52 |
Ce chapitre a pour but de présenter les différentes options de configuration |
53 |
disponibles afin de configurer VigiBoard en fonction de vos besoins. Les |
54 |
chapitres :ref:`confbdd` à :ref:`confproxy` reprennent l'ordre de la |
55 |
configuration utilisé dans le fichier ``settings.ini`` de l'application. Toutes |
56 |
les options de configuration citées ici se trouvent sous la section |
57 |
``[app:main]`` du fichier ``settings.ini``. |
58 |
|
59 |
Le chapitre :ref:`confappcfg` quant à lui décrit certaines options de |
60 |
configuration fournies par le fichier ``app_cfg.py``. |
61 |
|
62 |
Enfin, le chapitre :ref:`confmodwsgi` donne des informations quant à la méthode |
63 |
utilisée pour intégrer VigiBoard sur un serveur Web de type Apache, grâce au |
64 |
module mod_wsgi. |
65 |
|
66 |
La configuration de la journalisation des événements se fait également au |
67 |
travers du fichier ``settings.ini``. Néanmoins, comme ce procédé se fait de la |
68 |
même manière dans les différents composants de Vigilo, celui-ci fait l'objet |
69 |
d'une documentation séparée dans le document *Vigilo - Journaux d'événements*. |
70 |
|
71 |
.. _confbdd: |
72 |
|
73 |
Base de données |
74 |
--------------- |
75 |
|
76 |
Pour fonctionner, VigiBoard nécessite qu'une base de données soit accessible. |
77 |
Ce chapitre décrit les options de configuration se rapportant à la base de |
78 |
données. |
79 |
|
80 |
Connexion |
81 |
^^^^^^^^^ |
82 |
La configuration de la connexion à la base de base de données se fait en |
83 |
modifiant la valeur de la clé ``sqlalchemy.url`` sous la section |
84 |
``[app:main]``. |
85 |
|
86 |
Cette clé contient une URL qui contient tous les paramètres nécessaires pour |
87 |
pouvoir se connecter à la base de données. Le format de cette URL est le |
88 |
suivant:: |
89 |
|
90 |
sgbd://utilisateur:mot_de_passe@serveur:port/base_de_donnees |
91 |
|
92 |
Le champ ``:port`` est optionnel et peut être omis si vous utilisez le port |
93 |
par défaut d'installation du SGBD choisi. |
94 |
|
95 |
Par exemple, voici la valeur correspondant à une installation mono-poste par |
96 |
défaut de VigiBoard:: |
97 |
|
98 |
postgres://vigilo:vigilo@localhost/vigilo |
99 |
|
100 |
**ATTENTION** : à l'heure actuelle, seul PostgreSQL a fait l'objet de tests |
101 |
intensifs. D'autres SGBD peuvent également fonctionner, mais aucun support ne |
102 |
sera fourni pour ces SGBD. |
103 |
|
104 |
Choix d'un préfixe pour les tables |
105 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
106 |
Vous pouvez choisir un préfixe qui sera appliqué aux noms des tables de la base |
107 |
de données en indiquant ce préfixe dans la clé ``db_basename`` sous la section |
108 |
``[app:main]``. Par défaut, la configuration suppose que les tables de Vigilo |
109 |
porteront le préfixe ``vigilo_``. |
110 |
|
111 |
Si vous optez pour l'utilisation d'un préfixe, veillez à ce que celui-ci ne |
112 |
contiennent que des caractères alpha-numériques (a-zA-Z0-9) ou le caractère |
113 |
``_``. |
114 |
|
115 |
Si vous décidez de ne pas utiliser de préfixe, veillez à ce que la base de |
116 |
données configurée ne doit utilisée que par Vigilo, au risque d'un conflit avec |
117 |
une éventuelle application tierce. |
118 |
|
119 |
Optimisation de la couche d'abstraction |
120 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
121 |
L'option ``sqlalchemy.echo`` permet de forcer l'affichage des requêtes SQL. En |
122 |
production, cette valeur doit être positionnée à ``False``. Elle est redondante |
123 |
avec la configuration des journaux d'événements (voir le document intitulé |
124 |
Vigilo - Journaux d'événements pour plus d'information). |
125 |
|
126 |
L'option ``sqlalchemy.echo_pool`` permet d'activer le mode de débogage du |
127 |
gestionnaire de connexions à la base de données. De même que pour l'option |
128 |
``sqlalchemy.echo`` ci-dessus, elle doit être positionnée à ``False`` en |
129 |
production. |
130 |
|
131 |
L'option ``sqlalchemy.pool_recycle`` permet de définir la durée après laquelle |
132 |
une connexion est « recyclée » (recréée). |
133 |
|
134 |
L'option ``sqlalchemy.pool_size`` permet de configurer le nombre de connexions |
135 |
gérées simultanément par le gestionnaire de connexions à la base de données. La |
136 |
valeur recommandée est 20. |
137 |
|
138 |
L'option ``sqlalchemy.max_overflow`` permet de limiter le nombre maximales de |
139 |
connexions simultanées à la base de données. La limite correspond à la somme de |
140 |
``sqlalchemy.pool_size`` et ``sqlalchemy.max_overflow``. Une valeur de 100 |
141 |
convient généralement. |
142 |
|
143 |
La documentation d'API de SQLAlchemy (la bibliothèque d'abstraction de la base |
144 |
de données utilisée par Vigilo) donne quelques informations supplémentaires sur |
145 |
le rôle de ces différents paramètres. Cette documentation est accessible `sur |
146 |
le site du projet |
147 |
<http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/pooling.html>`_. |
148 |
|
149 |
Éléments de sécurité |
150 |
-------------------- |
151 |
|
152 |
Ce chapitre décrit les options relatives à la gestion des données de sécurité |
153 |
(clés de chiffrements, etc.) utilisées par VigiBoard. |
154 |
|
155 |
Choix de la méthode de hachage des mots de passe |
156 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
157 |
Lorsque l'authentification de Vigilo se base sur les comptes contenus dans la |
158 |
base de données, les mots de passe des utilisateurs sont stockés sous forme |
159 |
hachée afin de rendre plus difficile le cassage de ces mots de passe. |
160 |
|
161 |
La méthode de hachage sélectionnée peut être configurée en modifiant la valeur |
162 |
de la clé ``password_hashing_function`` sous la section ``[app:main]``. Les |
163 |
méthodes de hachage disponibles sont variées. Les fonctions de hachage |
164 |
suivantes sont notamment disponibles : md5, sha1, sha224, sha256, sha384 et |
165 |
sha512. D'autres fonctions peuvent être disponibles en fonction de votre |
166 |
installation de Python. |
167 |
|
168 |
**Attention :** en cas d'absence d'une valeur pour cette option ou si la |
169 |
fonction de hachage indiquée n'existe pas, les mots de passe sont stockés en |
170 |
clair. Vérifiez donc la valeur indiquée. |
171 |
|
172 |
**Attention :** cette option ne doit être modifiée qu'au moment de |
173 |
l'installation. Si vous modifiez la méthode utilisée ultérieurement, les |
174 |
comptes précédemment enregistrés ne seront plus utilisables. En particulier, le |
175 |
compte d'administration créé par défaut. |
176 |
|
177 |
Clé de chiffrement / déchiffrement des sessions |
178 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
179 |
Afin de ne pas dévoiler certains paramètres associés à un utilisateur, le |
180 |
fichier de session qui contient ces paramètres est chiffré à l'aide d'une clé |
181 |
symétrique, utilisée à la fois pour le chiffrement et le déchiffrement des |
182 |
sessions de tous les utilisateurs de VigiBoard. |
183 |
|
184 |
L'option ``beaker.session.secret`` permet de choisir la clé utilisée pour |
185 |
chiffrer et déchiffrer le contenu des sessions. Cette clé peut être la même que |
186 |
celle configurée pour le chiffrement / déchiffrement des cookies (voir le |
187 |
chapitre suivant), mais ceci est déconseillé afin d'éviter que la compromission |
188 |
de l'une des deux clés n'entraine la compromission de l'autre. |
189 |
|
190 |
De la même manière, vous pouvez configurer les autres interfaces graphiques de |
191 |
Vigilo pour utiliser les mêmes clés, ou opter de préférence pour des clés |
192 |
différentes (là encore, pour éviter la propagation d'une compromission). |
193 |
|
194 |
Clé de chiffrement / déchiffrement des cookies |
195 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
196 |
L'association entre un utilisateur et sa session se fait à l'aide d'un cookie |
197 |
de session enregistré sur le navigateur de l'utilisateur. De la même manière |
198 |
que les sessions sont chiffrés afin de garantir la confidentialité de leur |
199 |
contenu, le cookie de session est également chiffré afin de protéger son |
200 |
contenu. |
201 |
|
202 |
L'option ``sa_auth.cookie_secret`` permet de choisir la clé utilisée pour |
203 |
chiffrer et déchiffrer le contenu du cookie. Cette clé peut être la même que |
204 |
celle configurée pour le chiffrement / déchiffrement des sessions (voir le |
205 |
chapitre ), mais ceci est déconseillé afin d'éviter que la compromission de |
206 |
l'une des deux clés n'entraine la compromission de l'autre. |
207 |
|
208 |
De la même manière, vous pouvez configurer les autres interfaces graphiques de |
209 |
Vigilo pour utiliser les mêmes clés, ou opter de préférence pour des clés |
210 |
différentes (là encore, pour éviter la propagation d'une compromission). |
211 |
|
212 |
|
213 |
Emplacement de la configuration d'authentification/autorisation |
214 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
215 |
La directive ``auth.config`` de la section ``[app:main]`` permet d'indiquer |
216 |
l'emplacement du fichier contenant la configuration de la couche |
217 |
d'authentification/autorisation de Vigilo. |
218 |
|
219 |
Il n'est généralement pas nécessaire de modifier cette valeur. La configuration |
220 |
de cette couche d'abstraction est détaillée dans le document *Vigilo - |
221 |
Authentification et autorisation*. |
222 |
|
223 |
Configuration de l'interface |
224 |
---------------------------- |
225 |
|
226 |
Ce chapitre décrit les options qui modifient l'apparence de l'interface |
227 |
graphique de VigiBoard. |
228 |
|
229 |
Langue par défaut de VigiBoard |
230 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
231 |
Au sein de son interface, VigiBoard tente de s'adapter au navigateur de |
232 |
l'utilisateur pour afficher les pages dans sa langue. Toutefois, si |
233 |
l'utilisateur n'a pas paramétré sa langue ou bien si aucune traduction n'est |
234 |
disponible qui soit en accord avec les paramètres du navigateur de |
235 |
l'utilisateur, une langue par défaut est utilisée (dans l'installation par |
236 |
défaut de VigiBoard, cette langue est le Français ``fr``). |
237 |
|
238 |
Vous pouvez modifier la langue utilisée par défaut en changeant la valeur de la |
239 |
clé ``lang`` sous la section ``[app:main]``. La valeur de cette clé est le code |
240 |
de la langue à utiliser, sur deux caractères et en minuscules (format ISO |
241 |
3166-1 ``alpha 2``). Exemples de codes valides : fr, en, de, ... |
242 |
|
243 |
La liste complète des codes possibles est disponible sur |
244 |
http://fr.wikipedia.org/wiki/ISO_3166-1. La langue retenue doit être disponible |
245 |
parmi les traductions fournies avec VigiBoard. |
246 |
|
247 |
Emplacement de la documentation en ligne |
248 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
249 |
Il est possible d'ajouter un lien dans l'interface graphique qui redirige |
250 |
l'utilisateur vers la documentation en ligne de l'application. Ceci se fait en |
251 |
assignant une URL à l'option ``help_link``. |
252 |
|
253 |
Si cette option est renseignée, une icône en forme de bouée de sauvetage |
254 |
|imghelp| apparaît dans l'interface graphique qui permet à l'utilisateur |
255 |
d'accéder à l'URL indiquée. |
256 |
|
257 |
.. |imghelp| image:: img/help.png |
258 |
|
259 |
Délai de rafraîchissement automatique |
260 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
261 |
Le bac à événements de VigiBoard peut être actualisé automatiquement à |
262 |
intervalle régulier afin de donner une vue à jour de l'état du parc aux |
263 |
veilleurs. L'option ``refresh_delay`` permet de choisir le délai, en secondes, |
264 |
entre deux rafraîchissements automatiques de la page. |
265 |
|
266 |
NOTE : Les veilleurs ont la possibilité de désactiver le rafraîchissement |
267 |
automatique durant leur session. Dans tous les cas, si une boîte de dialogue de |
268 |
VigiBoard est affichée à l'écran, le rafraîchissement automatique est mis en |
269 |
pause afin de ne pas perturber les opérations en cours. |
270 |
|
271 |
État initial du rafraîchissement automatique |
272 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
273 |
Vous avez la possibilité d'activer par défaut le rafraîchissement automatique |
274 |
du bac à événements pour les veilleurs, en positionnant l'option |
275 |
``refresh_enabled`` à ``True``. |
276 |
|
277 |
NOTE : Les veilleurs ont la possibilité de désactiver le rafraîchissement |
278 |
automatique durant leur session. Leur choix (rafraîchissement automatique actif |
279 |
ou non) est conservé en session durant un certain temps. |
280 |
|
281 |
Configuration du nombre d'événements affichés par page |
282 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
283 |
Le nombre d'événements affichés par page peut être configuré en changeant la |
284 |
valeur de la clé ``vigiboard_items_per_page`` sous la section ``[app:main]``. |
285 |
|
286 |
Configuration du lien d'accueil |
287 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
288 |
Vous avez la possibilité de rediriger l'utilisateur vers une page de votre |
289 |
choix lorsque celui-ci clique sur le logo de Vigilo |imghome| dans l'interface |
290 |
graphique de VigiBoard. Ceci se fait en modifiant l'URL donnée par l'option |
291 |
``logo_link``. |
292 |
|
293 |
.. |imghome| image:: img/home.png |
294 |
|
295 |
Ordre de tri de la priorité des événements |
296 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
297 |
VigiBoard prend en compte la priorité des événements pour les triers dans son |
298 |
interface graphique. Néanmoins, chaque système à sa propre définition de la |
299 |
priorité d'un événement. Généralement, plus la priorité d'un événement est |
300 |
élevée, plus cet événement doit être traité en premier. Cependant il se peut |
301 |
que cet ordre de tri soit inversé sur votre parc (c'est-à-dire qu'un événement |
302 |
très prioritaire est représenté par une priorité dont la valeur est très |
303 |
basse). |
304 |
|
305 |
L'ordre de tri de la priorité est défini grâce à la clé de configuration |
306 |
``vigiboard_priority_order``, sous la section ``[app:main]``. Cette clé accepte |
307 |
deux valeurs : ``asc`` (nombre peu élevé = priorité importante) ou ``desc`` |
308 |
(nombre élevé = priorité importante). |
309 |
|
310 |
Choix du critère de tri prioritaire |
311 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
312 |
En fonction de votre parc informatique, il peut être intéressant de trier les |
313 |
événements reçus dans le bac à événements par état Nagios puis par horodatage, |
314 |
ou bien l'inverse. |
315 |
|
316 |
L'option ``state_first`` est un booléen qui permet de choisir si le tri se fait |
317 |
d'abord par l'état (``True``), ou d'abord par l'horodatage (``False``). |
318 |
|
319 |
.. _confproxy: |
320 |
|
321 |
Configuration du serveur mandataire |
322 |
----------------------------------- |
323 |
VigiBoard permet d'accéder à la page d'état Nagios d'un hôte ou d'un service, |
324 |
et ce malgré le fait que ces hôtes/services sont supervisés par des serveurs |
325 |
Nagios différents. Ceci est rendu possible par l'existence d'un serveur |
326 |
mandataire (proxy) qui relaye les requêtes au serveur Nagios concerné. |
327 |
|
328 |
Le chapitre présente tout d'abord les options communes à tous les types de |
329 |
serveurs mandataires de Vigilo. Puis, le chapitre détaille les options |
330 |
spécifiques au serveur mandataire pour Nagios intégré à VigiBoard. |
331 |
|
332 |
Options communes à tous les serveurs mandataires de Vigilo |
333 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
334 |
Les options communes à tous les serveurs mandataires de Vigilo concernent |
335 |
l'authentification auprès d'un serveur mandataire intermédiaire. Elles sont au |
336 |
nombre de trois : |
337 |
|
338 |
- ``app_proxy_auth_method`` indique la méthode d'authentification à utiliser et |
339 |
peut valoir ``basic`` ou ``digest`` , |
340 |
- ``app_proxy_auth_username`` indique le nom d'utilisateur à utiliser pour se |
341 |
connecter au serveur mandataire intermédiaire , |
342 |
- ``app_proxy_auth_password`` indique le mot de passe associé à ce nom |
343 |
d'utilisateur. |
344 |
|
345 |
Ces trois options doivent être renseignées pour que l'authentification auprès |
346 |
du serveur mandataire intermédiaire soit effective. |
347 |
|
348 |
Options spécifiques au serveur mandataire Nagios |
349 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
350 |
L'option ``app_path.nagios`` indique l'emplacement de l'installation de Nagios |
351 |
sur le serveur Web distant, à partir de la racine du serveur Web. Généralement, |
352 |
il s'agit de ``/nagios/`` (emplacement par défaut lors d'une nouvelle |
353 |
installation de l'interface graphique CGI de Nagios). |
354 |
|
355 |
L'option ``app_scheme.nagios`` indique le protocole à utiliser pour communiquer |
356 |
avec le serveur Web distant. Les protocoles supportés sont ``http`` et |
357 |
``https``. |
358 |
|
359 |
L'option ``app_port.nagios`` permet d'indiquer le port à utiliser pour se |
360 |
connecter, dans le cas où il ne s'agit pas du port standard. Par défaut, le |
361 |
serveur mandataire Nagios utilise le port standard associé au protocole donné |
362 |
par ``app_scheme.nagios`` (80 pour HTTP, 443 pour HTTPS). |
363 |
|
364 |
L'option ``app_redirect.nagios`` permet de modifier le comportement du serveur |
365 |
mandataire. Lorsque cette option vaut ``True``, le serveur mandataire agit |
366 |
comme un simple redirecteur de requêtes. Dans ce mode, les options |
367 |
d'authentification liées au serveur mandataire sont ignorées. Ce mode de |
368 |
fonctionnement est utile afin de tester la configuration mais n'est pas |
369 |
recommandé en production. |
370 |
|
371 |
Les options ``app_auth_method.nagios``, ``app_auth_username.nagios`` et |
372 |
``app_auth_password.nagios`` permettent d'indiquer la méthode |
373 |
d'authentification, le nom d'utilisateur et le mot de passe pour accéder à |
374 |
l'interface CGI de Nagios. Ces options sont similaires à celles décrites au |
375 |
chapitre . |
376 |
|
377 |
Configuration des sessions |
378 |
-------------------------- |
379 |
Chaque fois qu'un utilisateur se connecte à VigiBoard, un fichier de session |
380 |
est créé permettant de sauvegarder certaines préférences de cet utilisateur |
381 |
(par exemple, le thème de l'application, la taille de la police de caractères, |
382 |
etc.). |
383 |
|
384 |
Ce chapitre décrit les options relatives à la gestion des sessions. |
385 |
|
386 |
Emplacement des fichiers de session |
387 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
388 |
Le dossier dans lequel les fichiers de session seront stockés est indiqué par |
389 |
l'option ``cache_dir``. |
390 |
|
391 |
Nom du cookie de session |
392 |
^^^^^^^^^^^^^^^^^^^^^^^^ |
393 |
Afin d'associer un utilisateur au fichier de session qui lui correspond, un |
394 |
cookie de session est créé sur le navigateur de l'utilisateur. L'option |
395 |
``beaker.session.key`` permet de choisir le nom du cookie créé. Le nom doit |
396 |
être composé de caractères alphanumériques (a-zA-Z0-9) et commencer par une |
397 |
lettre (a-zA-Z). |
398 |
|
399 |
.. _confappcfg: |
400 |
|
401 |
Options du fichier ``app_cfg.py`` |
402 |
--------------------------------- |
403 |
Le fichier ``app_cfg.py`` contient des réglages spécifiques à VigiBoard plus |
404 |
complexes à représenter que par l'usage du fichier ``settings.ini``. Ce |
405 |
chapitre décrit ces réglages. |
406 |
|
407 |
La modification de ces réglages nécessite une connaissance rudimentaire du |
408 |
langage de programmation Python. |
409 |
|
410 |
Choix des colonnes affichées dans VigiBoard |
411 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
412 |
Vous avez la possibilité de configurer les colonnes à afficher dans VigiBoard |
413 |
ainsi que leur ordre. VigiBoard est fourni avec un ensemble de colonnes |
414 |
prédéfinies. La liste complète des colonnes disponibles peut être obtenue à |
415 |
l'aide de la commande suivante:: |
416 |
|
417 |
vigilo-plugins vigiboard.columns |
418 |
|
419 |
L'option ``base_config['vigiboard_plugins']`` du fichier ``app_cfg.py`` |
420 |
contient un tuple des noms des colonnes à afficher (dans leur ordre |
421 |
d'affichage, de gauche à droite sur un navigateur configuré pour un utilisateur |
422 |
français, et de droite à gauche pour un utilisateur hébreu). |
423 |
|
424 |
Exemple de configuration possible:: |
425 |
|
426 |
base_config['vigiboard_plugins'] = ( |
427 |
'details', |
428 |
'date', |
429 |
'priority', |
430 |
'occurrences', |
431 |
'hostname', |
432 |
'servicename', |
433 |
'output', |
434 |
'hls', |
435 |
'status', |
436 |
) |
437 |
|
438 |
Configuration des liens externes |
439 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
440 |
L'option ``base_config['vigiboard_links.eventdetails']`` contient la liste des |
441 |
liens externes configurés, c'est-à-dire les liens qui seront affichés dans le |
442 |
dialogue de détail d'un événement (figure ). |
443 |
|
444 |
La configuration des liens externes est donnée sous la forme d'un tuple de |
445 |
tuples, de la forme:: |
446 |
|
447 |
(libellé du lien, URL cible) |
448 |
|
449 |
L'URL peut être relative ou absolue. Dans le cas d'une URL relative, celle-ci |
450 |
est relative à l'emplacement de la racine de VigiBoard sur le serveur Web. |
451 |
|
452 |
L'URL peut contenir des paramètres qui seront transmis tel quel. De plus, les |
453 |
variables de substitution suivantes sont disponibles : |
454 |
|
455 |
- ``%(idcorrevent)d`` est remplacé par l'identifiant (unique) de l'événement |
456 |
corrélé dans Vigilo, |
457 |
- ``%(host)s`` est remplacé par le nom de l'hôte impacté par l'événement |
458 |
corrélé, |
459 |
- ``%(service)s`` est remplacé par le nom du service impacté ou ``None`` si |
460 |
l'événement concernant directement l'hôte, |
461 |
- ``%(message)s`` est remplacé par le message de supervision remonté par |
462 |
Nagios. |
463 |
|
464 |
Exemple de configuration possible:: |
465 |
|
466 |
base_config['vigiboard_links.eventdetails'] = ( |
467 |
( |
468 |
u'Détail de l\'hôte dans Nagios', |
469 |
'/nagios/%(host)s/cgi-bin/status.cgi?host=%(host)s' |
470 |
), ( |
471 |
u'Détail de la métrologie', |
472 |
'http://vigilo.example.com/vigigraph/rpc/fullHostPage?host=%(host)s' |
473 |
), ( |
474 |
u'Détail de la sécurité', |
475 |
'http://security.example.com/?host=%(host)s' |
476 |
), ( |
477 |
'Inventaire', |
478 |
'http://cmdb.example.com/?host=%(host)s' |
479 |
), ( |
480 |
'Documentation', |
481 |
'http://doc.example.com/?q=%(message)s' |
482 |
), |
483 |
) |
484 |
|
485 |
Cet exemple correspond à la liste de liens suivante : |
486 |
|
487 |
.. figure:: img/liens.png |
488 |
|
489 |
Liens externes d'un événement |
490 |
|
491 |
|
492 |
Emplacement du gestionnaire de tickets |
493 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
494 |
Un ticket d'incident peut être associé à un ou plusieurs événements corrélés |
495 |
apparaissant dans VigiBoard. L'adresse du gestionnaire de ticket est |
496 |
paramétrable à l'aide de l'option ``base_config['vigiboard_links.tt']``. |
497 |
|
498 |
Il s'agit d'une URL absolue, dans laquelle les variables de substitution |
499 |
suivantes sont disponibles : |
500 |
|
501 |
- ``%(idcorrevent)d`` est remplacé par l'identifiant (unique) de l'événement |
502 |
corrélé dans Vigilo, |
503 |
- ``%(host)s`` est remplacé par le nom de l'hôte impacté par l'événement |
504 |
corrélé, |
505 |
- ``%(service)s`` est remplacé par le nom du service impacté ou ``None`` si |
506 |
l'événement concernant directement l'hôte, |
507 |
- ``%(tt)s`` est remplacé par la référence du ticket d'incident, telle que |
508 |
saisie par un utilisateur. |
509 |
|
510 |
Exemple de configuration possible:: |
511 |
|
512 |
base_config['vigiboard_links.tt'] = 'http://bugs.example.com/?ticket_id=%(tt)s' |
513 |
|
514 |
|
515 |
.. _confmodwsgi: |
516 |
|
517 |
Intégration de VigiBoard avec Apache / mod_wsgi |
518 |
----------------------------------------------- |
519 |
|
520 |
VigiBoard a été testé avec le serveur libre Apache. L'application utilise en |
521 |
outre le module Apache ``mod_wsgi`` pour communiquer avec le serveur. Ce module |
522 |
implémente un modèle de communication basé sur l'interface WSGI. Le reste de ce |
523 |
chapitre décrit la configuration utilisée pour réaliser cette intégration. |
524 |
|
525 |
Fichier de configuration pour Apache |
526 |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
527 |
Le fichier de configuration pour l'intégration de VigiBoard dans Apache se |
528 |
trouve généralement dans ``/etc/vigilo/vigiboard/vigiboard.conf`` (un lien |
529 |
symbolique vers ce fichier est créé dans le dossier de configuration d'Apache, |
530 |
généralement dans ``/etc/httpd/conf.d/vigiboard.conf``). |
531 |
|
532 |
En général, il n'est pas nécessaire de modifier le contenu de ce fichier. Ce |
533 |
chapitre vise toutefois à fournir quelques informations sur le fonctionnement |
534 |
de ce fichier, afin de permettre d'éventuelles personnalisations de ce |
535 |
comportement. |
536 |
|
537 |
Ce fichier tente tout d'abord de charger le module ``mod_wsgi`` (directive |
538 |
LoadModule) puis ajoute les directives de configuration nécessaire à Apache |
539 |
pour faire fonctionner VigiBoard, reprises partiellement ci-dessous:: |
540 |
|
541 |
WSGIRestrictStdout off |
542 |
WSGIPassAuthorization on |
543 |
WSGIDaemonProcess vigiboard user=apache group=apache threads=2 |
544 |
WSGIScriptAlias /vigilo/vigiboard "/etc/vigilo/vigiboard/vigiboard.wsgi" |
545 |
|
546 |
KeepAlive Off |
547 |
|
548 |
<Directory "/etc/vigilo/vigiboard/"> |
549 |
<Files "vigiboard.wsgi"> |
550 |
WSGIProcessGroup vigiboard |
551 |
WSGIApplicationGroup %{GLOBAL} |
552 |
|
553 |
Order deny,allow |
554 |
Allow from all |
555 |
</Files> |
556 |
</Directory> |
557 |
|
558 |
L'option ``WSGIRestrictStdout`` est positionnée à ``off`` afin d'éviter |
559 |
qu'Apache ne tue le processus de l'application lorsque des données sont |
560 |
envoyées sur la sortie standard. Ceci permet de récupérer les erreurs critiques |
561 |
pouvant être émises par l'application. Ces erreurs apparaissent alors dans le |
562 |
journal des événements d'Apache (configuré par la directive ``error_log``). |
563 |
|
564 |
L'option ``WSGIPassAuthorization`` positionnée à ``on`` indique à Apache et |
565 |
mod_wsgi que les informations d'authentification éventuellement transmises par |
566 |
l'utilisateur doivent être transmises à VigiBoard. En effet, Vigilo utilise son |
567 |
propre mécanisme de gestion de l'authentification et des autorisations (voir la |
568 |
documentation intitulée Vigilo - Authentification et autorisation) et utilise |
569 |
donc ces informations. |
570 |
|
571 |
L'option ``WSGIDaemonProcess`` permet de créer un groupe de processus affecté |
572 |
au traitement des requêtes HTTP destinées à VigiBoard. Il permet d'utiliser un |
573 |
nom d'utilisateur et un groupe prédéfini (afin de réduire les privilèges |
574 |
nécessaires), ainsi que le nombre de processus légers à utiliser pour traiter |
575 |
les requêtes (ici, 2). |
576 |
|
577 |
L'option ``WSGIScriptAlias`` indique l'emplacement à partir duquel VigiBoard sera accessible (ici, ``http://example.com/vigilo/vigiboard`` si le serveur Apache est configuré pour le domaine ``example.com``) et l'emplacement du script WSGI nécessaire au lancement de l'application (voir le chapitre suivant). |
578 |
|
579 |
L'option ``KeepAlive`` positionnée à ``off`` est nécessaire afin de contourner |
580 |
un problème dans le module ``mod_wsgi`` d'Apache. |
581 |
|
582 |
Les autres options permettent d'exécuter le script WSGI de VigiBoard à l'aide |
583 |
du groupe de processus défini précédemment. |
584 |
|
585 |
La liste complète des directives de configuration supportées par le module |
586 |
``mod_wsgi`` d'Apache est disponible `dans la documentation officielle |
587 |
<http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives>`_. |
588 |
|
589 |
Script WSGI de VigiBoard |
590 |
^^^^^^^^^^^^^^^^^^^^^^^^ |
591 |
Le script WSGI de VigiBoard est un script Python très simple qui a pour but de |
592 |
démarrer l'exécution de VigiBoard à partir du fichier de configuration associé |
593 |
(``/etc/vigilo/vigiboard/settings.ini``). |
594 |
|
595 |
Vous n'avez généralement pas besoin de modifier son contenu, sauf |
596 |
éventuellement pour adapter l'emplacement du fichier de configuration en |
597 |
fonction de votre installation. |
598 |
|
599 |
|
600 |
|
601 |
Annexes |
602 |
======= |
603 |
|
604 |
.. include:: ../../turbogears/doc/glossaire.rst |
605 |
|
606 |
|
607 |
.. vim: set tw=79 : |