6.4. Logs

La solution logicielle VITAM propose une solution ouverte, au choix de l’exploitant. Ce dernier peut, à l’installation, comme à la mise à jour de la solution logicielle VITAM, choisir d’utiliser sa propre solution de « regroupement » des logs ou la solution embarquée dans la solution logicielle VITAM.

Dans le cas de la solution embarquée, celle-ci se décompose en :

  • rsyslog ou syslog-ng (choix à l’installation, se référer au DIN) déployé sur les machines « applicatives » 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é

Voir aussi

Les principes & implémentation du système de gestion de logs inclus dans VITAM sont décrits plus en détail dans le DAT.

6.4.1. Changement des règles de log

  • Pour les logs fichiers :

    • Définition : fichier /vitam/conf/<composant>/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 : <service_id>.%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.<n>``(avec ``<n> le numéro du fichier, sur base 0).
  • Pour les logs accès :

    • Définition : fichier /vitam/conf/<service_id>/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-<service_id>.%d.log (%d étant remplacé par yyyy-MM-dd) (paramètre fileNamePattern).

Prudence

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é.

6.4.2. Rétention des index sous elasticsearch-log

Curator est l’outil défini dans VITAM pour nettoyer les index du cluster elasticsearch de log. Curator a été paramétré avec les informations contenues, durant l’installation, dans le fichier cots_vars.yml.

Pour les différents index dans le cluster Elasticsearch de log, deux paramètres sont définis pour Curator :

  • durée de fermeture : nombre de jours avant clôture de l’index
  • durée de suppression : nombre de jours avant suppression de l’index.

Note

concernant les index « logstash-* », il est recommandé de laisser une durée de rétention de 1 an.

Il est possible de modifier le comportement de curator. Pour ce faire, il faut :

  1. modifier le fichier cots_vars.yml
  2. rejouer le playbook de déploiement, en ajoutant en fin de commande --tags curator_logs.