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 :
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 :
automation-cli clearlogs 10
Exemple, cette commande supprimera l’intégralité des logs :
automation-cli clearlogs 0