Logs #### La solution logicielle :term:`VITAM` propose une solution ouverte, au choix de l'exploitant. Ce dernier peut, à l'installation, comme à la mise à jour de la solution logicielle :term:`VITAM`, choisir d'utiliser sa propre solution de "regroupement" des logs ou la solution embarquée dans la solution logicielle :term`VITAM`. Dans le cas de la solution embarquée, celle-ci se décompose en : - ``rsyslog`` déployé sur les machines "applicatives" :term:`VITAM` et les envois applicatifs syslog vers un serveur de centralisation de logs (via ``facility local0``) - un serveur de centralisation de logs, comprenant : * un mono-noeud (au minimum, ou multi-noeuds) Elasticsearch * un moteur logstash, parsant les messages VITAM * un afficheur de rendu/aggrégation de données Kibana dédié .. seealso:: Les principes & implémentation du système de gestion de logs inclus dans VITAM sont décrits plus en détail dans le DAT. Changement des règles de log ============================ * Pour les logs fichiers : - Définition : fichier ``/vitam/conf//logback.xml`` - Format des logs (``encoder``) : ne doit pas être changé ; - La sévérité peut être changée ; - Roulement : le roulement des fichiers défini par défaut dépend du temps, avec une taille globale maximale ; il est défini par la politique ``TimeBasedRollingPolicy`` de `l'appender RollingFileAppender `_, avec les paramètres suivants : + Nombre total de fichiers conservés : 30 (paramètre ``maxHistory``) ; + Taille totale des fichiers de logs : 5 Go (paramètre ``totalSizeCap``) ; + Pattern des fichiers : dans le répertoire de logs de l'application : ``.%d.log`` (``%d`` étant remplacé par ``yyyy-MM-dd``) (paramètre ``fileNamePattern``). * Pour les logs syslog : - Format des logs (``suffixPattern``) : ne doit pas être changé ; - La sévérité peut être changée ; - Les stacktraces sont exclues de l'envoi à la centralisation des logs (paramètre ``throwableExcluded`` placé à ``false``) ; ce paramètre ne doit pas être changé. * Pour les logs du garbage collector : - Niveau de détail : activation des détails et des timestamps (paramètres JVM ``-XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime``) - Roulement : le roulement des fichiers dépend de la taille des fichiers, avec un nombre de fichiers maximal ; il est défini comme suit : + Activation du roulement : (paramètre JVM ``-XX:+UseGCLogFileRotation``) + Nombre total de fichiers conservés : 10 (paramètre JVM ``-XX:NumberOfGCLogFiles=10``) + Taille unitaire maximale d'un' fichiers de logs : 10 Mo (paramètre JVM ``-XX:GCLogFileSize=10M``) + Pattern des fichiers : dans le répertoire de logs de l'application (paramètre ``-Xloggc:$LOG_FOLDER/gc.log``) pour le fichier courant ; après roulement, les fichiers sont nommés ``gc.log.``(avec ```` le numéro du fichier, sur base 0). * Pour les logs accès : - Définition : fichier ``/vitam/conf//logback-access.xml`` - Format des logs (``encoder``) : ne doit pas être changé ; - Roulement : le roulement des fichiers défini par défaut dépend du temps, avec une taille globale maximale ; il est défini par la politique ``TimeBasedRollingPolicy`` de `l'appender RollingFileAppender `_, avec les paramètres suivants : + Nombre total de fichiers conservés : 7 (paramètre ``maxHistory``) ; + Taille totale des fichiers de logs : 14 Go (paramètre ``totalSizeCap``) ; + Pattern des fichiers : dans le répertoire de logs de l'application : ``accesslog-.%d.log`` (``%d`` étant remplacé par ``yyyy-MM-dd``) (paramètre ``fileNamePattern``). .. caution:: La configuration de la durée de rétention des logs accès et/ou leur externalisation devra être ajustée pour respecter les contraintes légales en vigueur pour le système déployé.