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