Aller au contenu

Les logs avec automation-cli

Les logs sont importants dans les opérations. Ces derniers permettent de comprendre le processus d’exécution.

Traces des opérations (audit système)

Toutes les opérations exécutées sur des serveurs, laissent une trace de son passage au niveau des journaux systèmes.

La commande “logger” est utilisée dans ce processus :

  • tag (-t) : “automation-cli”
  • priority level (-p) : “local6.debug”

La trace embarque le login de l’utilisateur ayant effectué l’opération, et selon le type d’opération :

  • “command” : “La commande complète”
  • “operation” : “La valeur de la variable d’environnement “OPS” et le nom de l’opération
  • “operationBook” : “La valeur de la variable d’environnement “OPS” et le nom de l’opérationBook

Pour retrouver la liste des opérations effectuées avec automation-cli, sur le serveur, exécutez :

Fenêtre de terminal
journalctl -t 'automation-cli'

Exemple de trace :

Jan 01 15:35:15 infra automation-cli[1107688]: [root] operation : /var/lib/automation-cli => operation: health/callHealthChecksService

Type de logs

Standard

Chaque exécution de la commande automation-cli run génère un log, qui contient :

  • Le shell complet avec les lignes numérotées pour permettre un meilleur débogage.
  • L’intégralité des sorties standard et erreur (stdOut/stdErr).
  • Et tous les messages de service.

Ce fichier peut contenir des secrets.

Debug

Si vous passez en mode debug, toutes les informations de débogage pourront être trouvées dans le fichier “automation-cli-debug.log”. Ce fichier indique beaucoup d’informations, par conséquent, peut contenir des secrets.

Commun

Le fichier “automation-cli-common.log” est utilisé quand une information ne concerne pas spécifiquement un hote, exemple pour le démarrage des connexions VPN. L’information étant contrôlée par “automation-cli”, il ne contient pas de secrets.

Localisation des logs

Les logs sont créés dans le répertoire “automation-cli.logs” de votre “home directory”, même ceux exécutés en préfixant la commande “automation-cli” avec “sudo”.

Contenu des logs

Les logs contiennent tous les messages de service “automation-cli”, ainsi que les sorties “standard” et “error” du shell exécuté. Par conséquent, des secrets peuvent apparaître dans ces fichiers. Charge au développeur des shells de masquer ce type d’information.

Désactiver les logs

ATTENTION : Ceci est généralement une mauvaise pratique.

Vous pouvez désactiver les logs, en passant le commutation “-nl” à la commande run ou bien passer la variable d’environnement NOLOG="1". Pour une utilisation globale : export NOLOG="1".

Suppression des logs

Pour supprimer des fichiers de log, utiliser la commande clearlogs. Cette commande s’utilise obligatoirement avec une valeur. Le type de cette valeur est “number”. Elle indique à automation-cli le nombre de jours à supprimer.

Exemple, cette commande supprimera tous les fichiers créés dans les 10 derniers jours :

Fenêtre de terminal
automation-cli clearlogs 10

Exemple, cette commande supprimera l’intégralité des logs :

Fenêtre de terminal
automation-cli clearlogs 0