vigiboard / doc / admin.rst @ 24182db6
History | View | Annotate | Download (26.7 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 | f1886725 | Vincent QUEMENER | Configuration de l'auto-supervision |
329 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
||
330 | VigiBoard affiche un message d'alerte à l'utilisateur dès lors qu'un des |
||
331 | collecteurs Vigilo n'a pas donné signe de vie depuis plus d'une certaine durée. |
||
332 | Cette durée-seuil, exprimée en secondes, est configurable à l'aide de l'option |
||
333 | « freshness_threshold » . |
||
334 | Une valeur négative ou nulle désactive complètement cette fonctionnalité. |
||
335 | |||
336 | f4387960 | Aurelien BOMPARD | Configuration du serveur mandataire |
337 | ----------------------------------- |
||
338 | VigiBoard permet d'accéder à la page d'état Nagios d'un hôte ou d'un service, |
||
339 | et ce malgré le fait que ces hôtes/services sont supervisés par des serveurs |
||
340 | Nagios différents. Ceci est rendu possible par l'existence d'un serveur |
||
341 | mandataire (proxy) qui relaye les requêtes au serveur Nagios concerné. |
||
342 | |||
343 | Le chapitre présente tout d'abord les options communes à tous les types de |
||
344 | serveurs mandataires de Vigilo. Puis, le chapitre détaille les options |
||
345 | spécifiques au serveur mandataire pour Nagios intégré à VigiBoard. |
||
346 | |||
347 | Options communes à tous les serveurs mandataires de Vigilo |
||
348 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
||
349 | Les options communes à tous les serveurs mandataires de Vigilo concernent |
||
350 | l'authentification auprès d'un serveur mandataire intermédiaire. Elles sont au |
||
351 | nombre de trois : |
||
352 | |||
353 | - ``app_proxy_auth_method`` indique la méthode d'authentification à utiliser et |
||
354 | 0e86c6f5 | Francois POIROTTE | peut valoir ``basic`` ou ``digest`` |
355 | |||
356 | f4387960 | Aurelien BOMPARD | - ``app_proxy_auth_username`` indique le nom d'utilisateur à utiliser pour se |
357 | 0e86c6f5 | Francois POIROTTE | connecter au serveur mandataire intermédiaire |
358 | |||
359 | f4387960 | Aurelien BOMPARD | - ``app_proxy_auth_password`` indique le mot de passe associé à ce nom |
360 | d'utilisateur. |
||
361 | |||
362 | Ces trois options doivent être renseignées pour que l'authentification auprès |
||
363 | du serveur mandataire intermédiaire soit effective. |
||
364 | |||
365 | Options spécifiques au serveur mandataire Nagios |
||
366 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
||
367 | L'option ``app_path.nagios`` indique l'emplacement de l'installation de Nagios |
||
368 | sur le serveur Web distant, à partir de la racine du serveur Web. Généralement, |
||
369 | il s'agit de ``/nagios/`` (emplacement par défaut lors d'une nouvelle |
||
370 | installation de l'interface graphique CGI de Nagios). |
||
371 | |||
372 | L'option ``app_scheme.nagios`` indique le protocole à utiliser pour communiquer |
||
373 | 0e86c6f5 | Francois POIROTTE | avec le serveur Web distant. Pour le moment, seuls les protocoles ``http`` et |
374 | ``https`` sont supportés. |
||
375 | f4387960 | Aurelien BOMPARD | |
376 | L'option ``app_port.nagios`` permet d'indiquer le port à utiliser pour se |
||
377 | connecter, dans le cas où il ne s'agit pas du port standard. Par défaut, le |
||
378 | serveur mandataire Nagios utilise le port standard associé au protocole donné |
||
379 | par ``app_scheme.nagios`` (80 pour HTTP, 443 pour HTTPS). |
||
380 | |||
381 | L'option ``app_redirect.nagios`` permet de modifier le comportement du serveur |
||
382 | mandataire. Lorsque cette option vaut ``True``, le serveur mandataire agit |
||
383 | comme un simple redirecteur de requêtes. Dans ce mode, les options |
||
384 | d'authentification liées au serveur mandataire sont ignorées. Ce mode de |
||
385 | fonctionnement est utile afin de tester la configuration mais n'est pas |
||
386 | recommandé en production. |
||
387 | |||
388 | Les options ``app_auth_method.nagios``, ``app_auth_username.nagios`` et |
||
389 | ``app_auth_password.nagios`` permettent d'indiquer la méthode |
||
390 | d'authentification, le nom d'utilisateur et le mot de passe pour accéder à |
||
391 | l'interface CGI de Nagios. Ces options sont similaires à celles décrites au |
||
392 | chapitre . |
||
393 | |||
394 | Configuration des sessions |
||
395 | -------------------------- |
||
396 | Chaque fois qu'un utilisateur se connecte à VigiBoard, un fichier de session |
||
397 | est créé permettant de sauvegarder certaines préférences de cet utilisateur |
||
398 | (par exemple, le thème de l'application, la taille de la police de caractères, |
||
399 | etc.). |
||
400 | |||
401 | Ce chapitre décrit les options relatives à la gestion des sessions. |
||
402 | |||
403 | Emplacement des fichiers de session |
||
404 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
||
405 | Le dossier dans lequel les fichiers de session seront stockés est indiqué par |
||
406 | l'option ``cache_dir``. |
||
407 | |||
408 | Nom du cookie de session |
||
409 | ^^^^^^^^^^^^^^^^^^^^^^^^ |
||
410 | Afin d'associer un utilisateur au fichier de session qui lui correspond, un |
||
411 | cookie de session est créé sur le navigateur de l'utilisateur. L'option |
||
412 | ``beaker.session.key`` permet de choisir le nom du cookie créé. Le nom doit |
||
413 | être composé de caractères alphanumériques (a-zA-Z0-9) et commencer par une |
||
414 | lettre (a-zA-Z). |
||
415 | |||
416 | .. _confappcfg: |
||
417 | |||
418 | Options du fichier ``app_cfg.py`` |
||
419 | --------------------------------- |
||
420 | Le fichier ``app_cfg.py`` contient des réglages spécifiques à VigiBoard plus |
||
421 | complexes à représenter que par l'usage du fichier ``settings.ini``. Ce |
||
422 | chapitre décrit ces réglages. |
||
423 | |||
424 | La modification de ces réglages nécessite une connaissance rudimentaire du |
||
425 | langage de programmation Python. |
||
426 | |||
427 | Choix des colonnes affichées dans VigiBoard |
||
428 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
||
429 | Vous avez la possibilité de configurer les colonnes à afficher dans VigiBoard |
||
430 | ainsi que leur ordre. VigiBoard est fourni avec un ensemble de colonnes |
||
431 | prédéfinies. La liste complète des colonnes disponibles peut être obtenue à |
||
432 | l'aide de la commande suivante:: |
||
433 | |||
434 | vigilo-plugins vigiboard.columns |
||
435 | |||
436 | L'option ``base_config['vigiboard_plugins']`` du fichier ``app_cfg.py`` |
||
437 | contient un tuple des noms des colonnes à afficher (dans leur ordre |
||
438 | d'affichage, de gauche à droite sur un navigateur configuré pour un utilisateur |
||
439 | français, et de droite à gauche pour un utilisateur hébreu). |
||
440 | |||
441 | 0e86c6f5 | Francois POIROTTE | Exemple de configuration possible : |
442 | |||
443 | .. sourcecode:: python |
||
444 | f4387960 | Aurelien BOMPARD | |
445 | c8929558 | Francois POIROTTE | base_config['vigiboard_plugins'] = ( |
446 | 0e86c6f5 | Francois POIROTTE | 'details', |
447 | 'date', |
||
448 | 'priority', |
||
449 | 'occurrences', |
||
450 | 'hostname', |
||
451 | 'servicename', |
||
452 | 'output', |
||
453 | 'hls', |
||
454 | 'status', |
||
455 | f4387960 | Aurelien BOMPARD | ) |
456 | |||
457 | Configuration des liens externes |
||
458 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
||
459 | L'option ``base_config['vigiboard_links.eventdetails']`` contient la liste des |
||
460 | liens externes configurés, c'est-à-dire les liens qui seront affichés dans le |
||
461 | dialogue de détail d'un événement (figure ). |
||
462 | |||
463 | La configuration des liens externes est donnée sous la forme d'un tuple de |
||
464 | 0e86c6f5 | Francois POIROTTE | tuples, de la forme :: |
465 | f4387960 | Aurelien BOMPARD | |
466 | (libellé du lien, URL cible) |
||
467 | |||
468 | L'URL peut être relative ou absolue. Dans le cas d'une URL relative, celle-ci |
||
469 | est relative à l'emplacement de la racine de VigiBoard sur le serveur Web. |
||
470 | |||
471 | L'URL peut contenir des paramètres qui seront transmis tel quel. De plus, les |
||
472 | variables de substitution suivantes sont disponibles : |
||
473 | |||
474 | - ``%(idcorrevent)d`` est remplacé par l'identifiant (unique) de l'événement |
||
475 | corrélé dans Vigilo, |
||
476 | - ``%(host)s`` est remplacé par le nom de l'hôte impacté par l'événement |
||
477 | corrélé, |
||
478 | - ``%(service)s`` est remplacé par le nom du service impacté ou ``None`` si |
||
479 | l'événement concernant directement l'hôte, |
||
480 | - ``%(message)s`` est remplacé par le message de supervision remonté par |
||
481 | Nagios. |
||
482 | |||
483 | 0e86c6f5 | Francois POIROTTE | Exemple de configuration possible : |
484 | |||
485 | .. sourcecode:: python |
||
486 | f4387960 | Aurelien BOMPARD | |
487 | c8929558 | Francois POIROTTE | base_config['vigiboard_links.eventdetails'] = ( |
488 | ( |
||
489 | u'Détail de l\'hôte dans Nagios', |
||
490 | '/nagios/%(host)s/cgi-bin/status.cgi?host=%(host)s' |
||
491 | ), ( |
||
492 | u'Détail de la métrologie', |
||
493 | 'http://vigilo.example.com/vigigraph/rpc/fullHostPage?host=%(host)s' |
||
494 | ), ( |
||
495 | u'Détail de la sécurité', |
||
496 | 'http://security.example.com/?host=%(host)s' |
||
497 | ), ( |
||
498 | 'Inventaire', |
||
499 | 'http://cmdb.example.com/?host=%(host)s' |
||
500 | ), ( |
||
501 | 'Documentation', |
||
502 | 'http://doc.example.com/?q=%(message)s' |
||
503 | ), |
||
504 | ) |
||
505 | f4387960 | Aurelien BOMPARD | |
506 | Cet exemple correspond à la liste de liens suivante : |
||
507 | c8929558 | Francois POIROTTE | |
508 | .. figure:: img/liens.png |
||
509 | |||
510 | f4387960 | Aurelien BOMPARD | Liens externes d'un événement |
511 | |||
512 | |||
513 | Emplacement du gestionnaire de tickets |
||
514 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
||
515 | Un ticket d'incident peut être associé à un ou plusieurs événements corrélés |
||
516 | apparaissant dans VigiBoard. L'adresse du gestionnaire de ticket est |
||
517 | paramétrable à l'aide de l'option ``base_config['vigiboard_links.tt']``. |
||
518 | |||
519 | Il s'agit d'une URL absolue, dans laquelle les variables de substitution |
||
520 | suivantes sont disponibles : |
||
521 | |||
522 | - ``%(idcorrevent)d`` est remplacé par l'identifiant (unique) de l'événement |
||
523 | corrélé dans Vigilo, |
||
524 | - ``%(host)s`` est remplacé par le nom de l'hôte impacté par l'événement |
||
525 | corrélé, |
||
526 | - ``%(service)s`` est remplacé par le nom du service impacté ou ``None`` si |
||
527 | l'événement concernant directement l'hôte, |
||
528 | - ``%(tt)s`` est remplacé par la référence du ticket d'incident, telle que |
||
529 | saisie par un utilisateur. |
||
530 | |||
531 | 0e86c6f5 | Francois POIROTTE | Exemple de configuration possible : |
532 | |||
533 | .. sourcecode:: python |
||
534 | f4387960 | Aurelien BOMPARD | |
535 | 0e86c6f5 | Francois POIROTTE | base_config['vigiboard_links.tt'] = \ |
536 | 'http://bugs.example.com/?ticket_id=%(tt)s' |
||
537 | f4387960 | Aurelien BOMPARD | |
538 | |||
539 | .. _confmodwsgi: |
||
540 | |||
541 | Intégration de VigiBoard avec Apache / mod_wsgi |
||
542 | ----------------------------------------------- |
||
543 | |||
544 | VigiBoard a été testé avec le serveur libre Apache. L'application utilise en |
||
545 | outre le module Apache ``mod_wsgi`` pour communiquer avec le serveur. Ce module |
||
546 | implémente un modèle de communication basé sur l'interface WSGI. Le reste de ce |
||
547 | chapitre décrit la configuration utilisée pour réaliser cette intégration. |
||
548 | |||
549 | Fichier de configuration pour Apache |
||
550 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
||
551 | Le fichier de configuration pour l'intégration de VigiBoard dans Apache se |
||
552 | trouve généralement dans ``/etc/vigilo/vigiboard/vigiboard.conf`` (un lien |
||
553 | symbolique vers ce fichier est créé dans le dossier de configuration d'Apache, |
||
554 | généralement dans ``/etc/httpd/conf.d/vigiboard.conf``). |
||
555 | |||
556 | En général, il n'est pas nécessaire de modifier le contenu de ce fichier. Ce |
||
557 | chapitre vise toutefois à fournir quelques informations sur le fonctionnement |
||
558 | de ce fichier, afin de permettre d'éventuelles personnalisations de ce |
||
559 | c8929558 | Francois POIROTTE | comportement. |
560 | f4387960 | Aurelien BOMPARD | |
561 | Ce fichier tente tout d'abord de charger le module ``mod_wsgi`` (directive |
||
562 | LoadModule) puis ajoute les directives de configuration nécessaire à Apache |
||
563 | pour faire fonctionner VigiBoard, reprises partiellement ci-dessous:: |
||
564 | |||
565 | c8929558 | Francois POIROTTE | WSGIRestrictStdout off |
566 | WSGIPassAuthorization on |
||
567 | WSGIDaemonProcess vigiboard user=apache group=apache threads=2 |
||
568 | WSGIScriptAlias /vigilo/vigiboard "/etc/vigilo/vigiboard/vigiboard.wsgi" |
||
569 | f4387960 | Aurelien BOMPARD | |
570 | c8929558 | Francois POIROTTE | KeepAlive Off |
571 | f4387960 | Aurelien BOMPARD | |
572 | c8929558 | Francois POIROTTE | <Directory "/etc/vigilo/vigiboard/"> |
573 | <Files "vigiboard.wsgi"> |
||
574 | WSGIProcessGroup vigiboard |
||
575 | WSGIApplicationGroup %{GLOBAL} |
||
576 | f4387960 | Aurelien BOMPARD | |
577 | c8929558 | Francois POIROTTE | Order deny,allow |
578 | Allow from all |
||
579 | </Files> |
||
580 | </Directory> |
||
581 | f4387960 | Aurelien BOMPARD | |
582 | L'option ``WSGIRestrictStdout`` est positionnée à ``off`` afin d'éviter |
||
583 | qu'Apache ne tue le processus de l'application lorsque des données sont |
||
584 | envoyées sur la sortie standard. Ceci permet de récupérer les erreurs critiques |
||
585 | pouvant être émises par l'application. Ces erreurs apparaissent alors dans le |
||
586 | journal des événements d'Apache (configuré par la directive ``error_log``). |
||
587 | |||
588 | L'option ``WSGIPassAuthorization`` positionnée à ``on`` indique à Apache et |
||
589 | mod_wsgi que les informations d'authentification éventuellement transmises par |
||
590 | l'utilisateur doivent être transmises à VigiBoard. En effet, Vigilo utilise son |
||
591 | propre mécanisme de gestion de l'authentification et des autorisations (voir la |
||
592 | documentation intitulée Vigilo - Authentification et autorisation) et utilise |
||
593 | donc ces informations. |
||
594 | |||
595 | L'option ``WSGIDaemonProcess`` permet de créer un groupe de processus affecté |
||
596 | au traitement des requêtes HTTP destinées à VigiBoard. Il permet d'utiliser un |
||
597 | nom d'utilisateur et un groupe prédéfini (afin de réduire les privilèges |
||
598 | nécessaires), ainsi que le nombre de processus légers à utiliser pour traiter |
||
599 | les requêtes (ici, 2). |
||
600 | |||
601 | 0e86c6f5 | Francois POIROTTE | L'option ``WSGIScriptAlias`` indique l'emplacement à partir duquel VigiBoard |
602 | sera accessible (ici, ``http://example.com/vigilo/vigiboard`` si le serveur |
||
603 | Apache est configuré pour le domaine ``example.com``) et l'emplacement du script |
||
604 | WSGI nécessaire au lancement de l'application (voir le chapitre suivant). |
||
605 | f4387960 | Aurelien BOMPARD | |
606 | L'option ``KeepAlive`` positionnée à ``off`` est nécessaire afin de contourner |
||
607 | un problème dans le module ``mod_wsgi`` d'Apache. |
||
608 | |||
609 | Les autres options permettent d'exécuter le script WSGI de VigiBoard à l'aide |
||
610 | du groupe de processus défini précédemment. |
||
611 | |||
612 | La liste complète des directives de configuration supportées par le module |
||
613 | ``mod_wsgi`` d'Apache est disponible `dans la documentation officielle |
||
614 | <http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives>`_. |
||
615 | |||
616 | Script WSGI de VigiBoard |
||
617 | ^^^^^^^^^^^^^^^^^^^^^^^^ |
||
618 | Le script WSGI de VigiBoard est un script Python très simple qui a pour but de |
||
619 | démarrer l'exécution de VigiBoard à partir du fichier de configuration associé |
||
620 | (``/etc/vigilo/vigiboard/settings.ini``). |
||
621 | |||
622 | Vous n'avez généralement pas besoin de modifier son contenu, sauf |
||
623 | éventuellement pour adapter l'emplacement du fichier de configuration en |
||
624 | fonction de votre installation. |
||
625 | |||
626 | |||
627 | |||
628 | Annexes |
||
629 | ======= |
||
630 | |||
631 | 003efe53 | Francois POIROTTE | .. include:: ../../turbogears/doc/glossaire.rst |
632 | f4387960 | Aurelien BOMPARD | |
633 | |||
634 | .. vim: set tw=79 : |