Comment activer les logs Terraform ?

A certains moment il peut s'avérer utile d'activer les traces Terraform pour analyser un problème de déploiement, voici un guide pour y parvenir.

Au cours des dernières années, j'ai consacré beaucoup de temps à travailler avec Terraform, ce qui m'a permis d'accumuler des connaissances et comptétences nécessaires pour répondre à différentes situations et besoin d'entreprises.

Je continue de faire des découvertes dans la documentation, mettant en lumière des éléments jusqu'alors inconnus ou non nécessaires à mon travail. Lors de diverses occasions, je me suis appuyé sur les erreurs signalées par le plan ou lors de l'exécution des étapes pour résoudre mes problèmes.

Récemment, j'ai ressenti le besoin d'obtenir davantage d'informations et c'est ainsi que j'ai appris que Terraform offre la possibilité de générer des journaux détaillés, fournissant ainsi des données précieuses pour faciliter le processus de débogage.

Configurer votre environnement

Dans la section de débogage de la documentation de Terraform, vous trouverez les détails sur la façon d'activer les journaux, une étape que je vous encourage vivement à suivre lors de vos exécutions locales. Les informations fournies par les journaux se révèlent plus précieuses et utiles que celles générées pendant la planification ou l'exécution des commandes.

Personnellement, j'opte pour le niveau TRACE, bien que vous ayez également le choix entre DEBUG, INFO, WARN ou ERROR. Cette approche approfondie m'évite de devoir relancer les commandes pour résoudre les problèmes rencontrés.

Voici les instructions pour activer la journalisation sous Windows et Linux.

Configuration dans votre session courante

Si vous souhaitez les configurer temporairement pour vos sessions, voici comment procéder pour PowerShell et Bash. Une fois ceux-ci définis, la prochaine fois que vous exécuterez la commande terraform, vous trouverez un fichier terraform.log dans votre répertoire de travail actuel.

PowerShell

$env:TF_LOG="TRACE"
$env:TF_LOG_PATH="terraform.log"

Bash

export TF_LOG="TRACE"
export TF_LOG_PATH="terraform.log"

Configurer de manière permanente

Cette approche est celle que j'apprécie le plus, car elle minimise les désagréments. L'idée de lancer une commande, de se confronter à une erreur, puis de se rendre compte qu'il faut la relancer avec la journalisation de Terraform active peut être agaçant.

Examinons comment accomplir la configuration permanente de cette option via PowerShell et Bash.

PowerShell

Voici comment vous allez le définir à l'aide de votre profil PowerShell. Tout d'abord, recherchez et ouvrez votre profil PowerShell.
Utiliser la commande $profile dans une console PowerShell pour identifier où se trouve le fichier à modifier.

Une fois ce fichier ouvert, ajoutez les lignes suivantes:

# Terraform log settings
$env:TF_LOG="TRACE"
$env:TF_LOG_PATH="terraform.log"

Bash

C'est presque identique à la façon dont vous le faites pour PowerShell, sauf que le nom du fichier est un peu différent.
Ouvrez votre .bashrc qui se trouve dans votre répertoire $home et ajoutez les lignes suivantes:

export TF_LOG="TRACE"
export TF_LOG_PATH="terraform.log"

Conclusion

C'est tout ce qu'il faut pour obtenir un fichier journal vraiment utile pour Terraform qui vous fera gagner du temps en cas de problème.

Merci d'avoir lu et j'espère que vous trouverez cela utile.

Lien utile

Did you find this article valuable?

Support Antoine LOIZEAU's Blog by becoming a sponsor. Any amount is appreciated!