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