; ; vigiboard - Pylons development environment configuration ; ; The %(here)s variable will be replaced with the parent directory of this file ; ; This file is for deployment specific config options -- other configuration ; that is always required for the app is done in the config directory, ; and generally should not be modified by end users. [DEFAULT] debug = false ; Uncomment and replace with the address which should receive any error reports ;email_to = you@yourdomain.com smtp_server = localhost error_email_from = paste@localhost [server:main] use = egg:Paste#http host = 0.0.0.0 port = 80 [app:main] use = egg:vigilo-vigiboard ; ; Configuration de VigiBoard ; ; ; 1 - Configuration de la base de données. ; ; URL d'accès à la base de données. sqlalchemy.url = postgresql://vigilo:vigilo@127.0.0.1/vigilo ; Le préfixe des tables de Vigilo dans la base de données. db_basename = vigilo_ ; Options de bas niveau de la couche ORM ; (pour déboguer les requêtes SQL). sqlalchemy.echo = false sqlalchemy.echo_pool = false sqlalchemy.pool_recycle = 3600 sqlalchemy.pool_size = 20 sqlalchemy.max_overflow = 100 ; ; 2 - Configuration des éléments de sécurité. ; ; Méthode de hachage des mots de passe. ; Les méthodes suivantes sont supportées : md5,sha1. ; ATTENTION : Si cette directive n'est pas renseignée ; ou si la méthode indiquée est introuvable, les mots ; de passe sont stockés en clair dans la base de données !! password_hashing_function = md5 ; La clé secrète utilisée pour chiffrer/déchiffrer la session. ; Vous DEVEZ changer cette valeur avant la mise en production. ; Vous pouvez utilisez la même valeur que pour la clé ; "sa_auth.cookie_secret". beaker.session.secret = vigilo ; La clé secrète utilisée pour chiffrer/déchiffrer le cookie ; d'authentification. ; Vous DEVEZ changer cette valeur avant la mise en production. ; Vous pouvez utilisez la même valeur que pour la clé ; "beaker.session.secret". sa_auth.cookie_secret = vigilo ; Fichier de configuration définissant la politique de gestion ; de l'authentification. auth.config = %(here)s/who.ini ; ; 3 - Configuration de l'interface. ; ; Module additionnel utilisé pour la gestion des tickets. ; Par défaut, aucun module additionnel n'est utilisé. ; Se référrer à la documentation du module additionnel pour plus d'information ; concernant les autres options de configuration utilisables par ce dernier. ;tickets.plugin = identifiant_du_module ; La langue par défaut de l'interface. lang = fr ; Lien d'aide (redirigeant vers la documentation de Vigilo ; par exemple). help_link = http://help.example.com/vigilo ; Délai de rafraîchissement automatique (en secondes). refresh_delay = 30 ; Indique si le rafraîchissement automatique ; est activé ou non par défaut. refresh_enabled = True ; Nombre d'événements par page. vigiboard_items_per_page = 15 ; URL vers laquelle le logo de Vigilo redirige. logo_link = / ; Définition des différentes tailles possibles pour la police ; de caractères. Les tailles indiquées ici doivent utiliser ; l'une des syntaxes disponibles dans CSS 2.1. ; Cf. http://www.w3.org/TR/CSS21/fonts.html#font-size-props ; Les valeurs par défaut sont : ; - "5px" pour fontsize.small ; - "10px" pour fontsize.medium ; - "25px" pour fontsize.large ; De plus, la valeur de l'option "fontsize.medium" correspondra ; à la taille par défaut lorsque l'utilisateur se connecte à VigiBoard. fontsize.small = 5px fontsize.medium = 10px fontsize.large = 25px ; Ordre de tri pour la priorité des événements. ; - Utiliser "asc" si la priorité est inversement proportionnelle à sa ; valeur (ie: plus le nombre est bas, plus la priorité est élevée). ; - Utiliser "desc" si la priorité est proportionnelle à sa valeur ; (ie: plus le nombre est élevé, plus la priorité est élevée). ; NE PAS METTRE DE GUILLEMETS/APOSTROPHES AUTOUR DE LA VALEUR. vigiboard_priority_order = asc ; Indique si le tri des événements se fait d'abord sur l'état Nagios ; puis l'horodatage de l'événement, ou bien l'inverse. ; Dans tous les cas, d'autres critères de tri interviennent avant ; (état d'acquittement et priorité ITIL). state_first = True ; Adresse des autres interfaces de Vigilo. ; Il peut s'agir de chemins absolus sur le même serveur (ex: /../vigimap/) ; ou d'URL complètes (http://other-server.example.com/vigilo/vigimap/). ; Si les liens sont donnés sous forme absolue, ils sont en fait interprétés ; comme des liens relatifs par rapport à VigiBoard. interfaces.vigimap = /../vigimap/ ; Cible pour l'ouverture des liens vers les autres interfaces. ; Les valeurs possibles sont: ; "_self" : ouvre la nouvelle page dans le cadre courant. ; "_top" : ouvre la nouvelle page à la place de la page courante. ; "_blank" : ouvre la nouvelle page dans une nouvelle fenêtre ; ou dans un nouvel onglet. ; "_parent" : ouvre la nouvelle page dans le cadre parent. ; : ouvre la nouvelle page dans le cadre nommé . ; La valeur par défaut est "_blank". ;links_target = _blank ; Indique le nombre maximum de cartes qui peuvent être affichées ; dans le module de détail de l'événement corrélé. ; La valeur -1 supprime toute limite, tandis que la valeur 0 ; supprime l'affichage des liens vers les cartes. max_maps = -1 ; Caractère de séparation des champs dans ; l'export CSV. csv_delimiter_char = ; ; Caractère utilisé pour délimiter les champs ; dans l'export CSV. csv_quote_char = " ; Le guillemet qui termine ce commentaire ; sert uniquement à corriger la coloration ; syntaxique dans certains éditeurs. " ; Caractère d'échappement pour les caractères ; spéciaux (définis par csv_delimiter_char, ; csv_quote_char et csv_escape_char). csv_escape_char = \ ; Algorithme pour la délimitation des champs ; dans l'export CSV. ; Les valeurs possibles sont : ; "all" : les champs sont systématiquement délimités. ; "minimal" : les champs ne sont délimités que lorsque ; leur interprétation est ambigüe. ; "nonnumeric" : seuls les champs contenant des valeurs ; autres que numériques sont délimités. ; "none" : les champs ne sont jamais délimités. ; La valeur par défaut est "all". csv_quoting = all ; Durée-seuil (exprimée en secondes) au-delà de laquelle un collecteur ; Vigilo sera considéré comme étant en panne s'il n'a pas envoyé de ; signe de vie. Une alerte sera alors affichée aux utilisateurs. ; Utiliser une valeur négative ou nulle pour désactiver cette fonctionnalité. ; Par défaut : -1 (Désactivé) freshness_threshold = -1 ; ; 4 - Configuration du proxy Nagios. ; ; Définition d'une méthode d'authentification, d'un identifiant ; et d'un mot de passe pour s'identifier auprès d'un éventuel ; serveur mandataire intermédiaire. ; Ces directives sont communes à tous les proxies Vigilo configurés. ; Par défaut : aucune authentification avec un serveur mandataire ; n'est tentée si l'une de ces directives est manquante. ;app_proxy_auth_method = basic ;app_proxy_auth_username = vigilo ;app_proxy_auth_password = vigilo ; Configuration du proxy Nagios. ; a) Emplacement de l'installation de Nagios sur le serveur distant. app_path.nagios = /@NAGIOS_BIN@/ ; b) Schéma ("protocole") à utiliser pour se connecter ; à l'application. En général : http ou https. ; Par défaut : http ;app_scheme.nagios = http ; c) Port de connexion au serveur distant hébergeant ; l'application. ; Par défaut : 80 si app_schema.nagios vaut "http" ; ou 443 si app_schema.nagios vaut "https" ;app_port.nagios = 80 ; d) Le proxy agit-il comme un simple redirecteur ? ; Les valeurs autorisées sont "true" (mode redirection) ou "false" ; (mode proxy standard). ; En mode redirection, les directives relatives à l'authentification ; sont ignorées. Si le site distant nécessite une authentification, ; elle sera demandée directement à l'utilisateur. ; Par défaut : false ;app_redirect.nagios = true ; e) Définition d'une méthode d'authentification, d'un identifiant ; et d'un mot de passe pour s'identifier auprès de Nagios. ; Par défaut : aucune authentification n'a lieu si l'une de ces ; directives est manquante. ;app_auth_method.nagios = basic ;app_auth_username.nagios = nagios ;app_auth_password.nagios = ; ; 5 - Configuration avancée des sessions. ; ; Le nom du dossier dans lequel les fichiers de sessions sont conservés. cache_dir = @LOCALSTATEDIR@/cache/vigilo/sessions ; Le nom du cookie de session qui sera créé sur le navigateur ; du client. beaker.session.key = vigiboard ; If you'd like to fine-tune the individual locations of the cache data dirs ; for the Cache data, or the Session saves, un-comment the desired settings ; here: ;beaker.cache.data_dir = %(here)s/data/cache ;beaker.session.data_dir = %(here)s/data/sessions ; ; 6 - Autres options. ; Pensez à configurer le logging dans les sections ; "loggers", "handlers" & "formatters" ci-dessous. ; ; Doit être laissé à true pour obtenir une application fonctionnelle. full_stack = true ; Doit valoir false en production (risque de sécurité sinon). ; WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ; Debug mode will enable the interactive debugging tool, allowing ANYONE to ; execute malicious code after an exception is raised. set debug = false ; Logging configuration ; Add additional loggers, handlers, formatters here ; Uses python's logging config file format ; http://docs.python.org/lib/logging-config-fileformat.html [loggers] keys = root, vigiboard, sqlalchemy, auth [handlers] keys = console,sql_log,root_log,vigiboard_log,auth_log [formatters] keys = generic ; If you create additional loggers, add them as a key to [loggers] [logger_root] level = INFO handlers = root_log [logger_vigiboard] level = INFO handlers = vigiboard_log qualname = vigiboard [logger_sqlalchemy] level = INFO handlers = sql_log qualname = sqlalchemy.engine ; A logger for authentication, identification and authorization -- this is ; repoze.who and repoze.what: [logger_auth] level = INFO handlers = auth_log qualname = auth ; If you create additional handlers, add them as a key to [handlers] [handler_console] class = StreamHandler args = (sys.stderr,) level = NOTSET formatter = generic [handler_sql_log] class = handlers.TimedRotatingFileHandler args = ('@LOCALSTATEDIR@/log/vigilo/vigiboard/sql.log','D', 30, 12) level = NOTSET formatter = generic [handler_root_log] class = handlers.TimedRotatingFileHandler args = ('@LOCALSTATEDIR@/log/vigilo/vigiboard/root.log', 'D', 30, 12) level = NOTSET formatter = generic [handler_vigiboard_log] class = handlers.TimedRotatingFileHandler args = ('@LOCALSTATEDIR@/log/vigilo/vigiboard/vigiboard.log', 'D', 30, 12) level = NOTSET formatter = generic [handler_auth_log] class = handlers.TimedRotatingFileHandler args = ('@LOCALSTATEDIR@/log/vigilo/vigiboard/auth.log', 'D', 30, 12) level = NOTSET formatter = generic ; If you create additional formatters, add them as a key to [formatters] [formatter_generic] format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s datefmt = %H:%M:%S class = vigilo.common.logging.VigiloFormatter