Cet article vous explique comment migrer votre configuration de surveillance Uptrends vers Terraform. Si vous ne connaissez pas Terraform, nous vous recommandons de commencer par consulter sa documentation officielle (en anglais).
Uptrends intègre et prend en charge Terraform, un puissant outil d’Infrastructure as code (IaC) qui vous permet de gérer l’ensemble de votre configuration de surveillance Uptrends (y compris les moniteurs, les configurations d’alertes et d’autres ressources) avec du code.
Avec Terraform pour Uptrends, vous pouvez :
- Maintenir et automatiser facilement votre configuration Uptrends à l’aide de fichiers de configuration, plutôt que de la gérer via une interface graphique ou via l’API Uptrends.
- Gérer vos fichiers de configuration avec des systèmes de contrôle de version comme Git pour suivre efficacement les modifications et effectuer des retours en arrière grâce à une approche GitOps.
- Définir des configurations réutilisables et les appliquer à l’ensemble de votre infrastructure.
- Télécharger votre configuration Uptrends existante et l’utiliser instantanément.
Le registre de Terraform pour Uptrends est accessible ici.
Prérequis
Avant d’utiliser Terraform pour Uptrends, vous devez disposer des éléments suivants :
- Une installation de Terraform sur votre machine locale.
- Un compte Uptrends actif. Si vous n’en avez pas, créez un compte pour découvrir Uptrends.
- Une clé API Uptrends. Vous pouvez facilement créer une clé API en cliquant sur Créer votre utilisateur Terraform dans le hub d’Uptrends sur Terraform. Vous pouvez également utiliser vos clés API existantes pour vous authentifier.
- Un IDE pour gérer et éditer vos fichiers de configuration dans un éditeur de code. Si vous utilisez Visual Studio Code, assurez-vous d’installer l’extension HashiCorp Terraform pour bénéficier de la coloration syntaxique et de l’autocomplétion.
Mise en place de votre infrastructure Terraform
Pour configurer votre infrastructure :
-
Vérifiez que tous les prérequis sont satisfaits.
-
Créez un répertoire pour votre configuration Terraform.
a. À l’intérieur, créez un fichier main.tf.
-
Les instructions d’initialisation se trouvent sur le hub d’Uptrends sur Terraform.
a. Copiez les informations figurant dans Mise en route, puis collez-les dans votre fichier main.tf :
terraform {
required_providers {
itrs-uptrends = {
source = "registry.terraform.io/ITRS-Group/itrs-uptrends"
version = "1.0.1" # Depends on the latest version available
}
}
}
provider "itrs-uptrends" {
username = "your_username" # Replace with your Uptrends API username
password = "your_password" # Replace with your Uptrends API password
alias = "uptrendsauthenticated"
}
Si vous avez créé une clé API en cliquant sur Créer votre utilisateur Terraform, les champs username et password seront remplis automatiquement. Dans le cas contraire, utilisez vos identifiants API existants.
- Exécutez
terraform initpour initialiser Terraform. Un fichier .terraform.lock.hcl et un dossier .terraform seront ajoutés au répertoire racine.

Une fois que vous avez mis en place votre infrastructure, vous pouvez utiliser votre configuration de surveillance Uptrends dans Terraform. Pour cela, vous devez importer les ressources depuis la plateforme Uptrends.
Vous pouvez aussi définir et gérer vos ressources, par exemple pour en créer, en modifier ou en supprimer.
Importer des ressources depuis Uptrends
Pour utiliser votre configuration de surveillance existante, vous pouvez importer vos ressources dans l’état Terraform. Ainsi, vous n’avez pas besoin de tout recréer manuellement.
Voici comment importer des ressources :
- Accédez au hub d’Uptrends sur Terraform.
- Dans Importer les états, cliquez sur Tout télécharger.
- Extrayez les fichiers téléchargés et placez-les dans le répertoire racine, au même niveau que main.tf.
- Exécutez la commande
terraform plan -generate-config-out="name_of_generated_file.tf"pour générNEW_terraform.frer la configuration. Cette commande sert à examiner et confirmer les modifications que Terraform effectuera sur votre infrastructure, en tenant compte à la fois de vos fichiers de configuration et de l’état actuel.

Un nouveau fichier name_of_generated_file.tf est créé dans le répertoire racine. Ce fichier contient la configuration des ressources importées.
Pour générer des fichiers séparés par type de ressource, importez-les un par un et donnez un nom unique à chaque fichier (par exemple, name_of_resource_type.tf).
- Exécutez
terraform applypour appliquer les changements.
Une fois l’importation achevée, vous pouvez supprimer les blocs d’état créés pour l’importation.
- Vérifiez que le fichier terraform.tfstate a bien été mis à jour avec les ressources importées.
Définir des ressources
Définir une ressource dans Terraform vous permet de créer, modifier ou supprimer des ressources dans votre compte Uptrends. Vous pouvez définir plusieurs ressources dans main.tf ou dans d’autres fichiers .tf du même répertoire.
Chaque bloc de ressource correspond à une ressource spécifique. Il peut s’agir de moniteurs, de définitions d’alertes, d’opérateurs, etc. Une fois qu’une ressource a été définie, un fichier terraform.tfstate est créé. Ce fichier suit toutes les ressources et leurs modifications gérées via Terraform.
Pour en savoir plus sur les ressources disponibles, reportez-vous à la documentation sur le registre de Terraform pour Uptrends.
Créer une ressource
Voici comment créer une ressource :
- Ajoutez un bloc ressource.
- Exécutez
terraform apply. - Tapez
yespour appliquer les changements.
Un message confirme que les ressources ont été créées. Vérifiez que le fichier terraform.tfstate est mis à jour.
Modifier une ressource
Voici comment modifier une ressource :
- Modifiez le bloc resource selon vos besoins.
- Exécutez
terraform apply. - Tapez
yespour appliquer les changements.
Un message confirme que les ressources ont été modifiées. Vérifiez que le fichier terraform.tfstate a bien été mis à jour avec les ressources modifiées.
Supprimer une ressource
Voici comment supprimer une ressource :
- Identifiez le bloc ressource à supprimer. Les blocs se trouvent dans votre fichier main.tf ou dans d’autres fichiers .tf dans le même répertoire.
- Voici comment procéder :
- Pour supprimer une ressource spécifique, retirez son bloc de la configuration et exécutez
terraform apply. - Pour supprimer toutes les ressources gérées, exécutez
terraform destroy.
- Tapez
yespour appliquer les changements.
Un message confirme que les ressources ont été supprimées. Vérifiez que le fichier terraform.tfstate a bien été mis à jour selon ces changements.
Gérer les changements majeurs
Si une nouvelle version du fournisseur itrs-uptrends introduit des changements incompatibles (par exemple, dus à la modification de noms d’attributs ou de ressources), vous devrez réimporter les ressources concernées. Si les changements ne sont pas listés précisément, il est recommandé de réimporter toutes les ressources pour assurer la compatibilité.
Attention : si vous avez renommé des ressources et qu’un changement majeur est introduit en phase bêta, la réimportation écrasera vos noms personnalisés.
Dépannage
En cas de problème, exécutez la commande terraform plan pour comparer votre configuration avec l’état Terraform actuel. Cette commande met en évidence les écarts et les problèmes éventuels. Pour en savoir plus, consultez la documentation officielle de Terraform sur la
commande plan.
Vous pouvez également contacter le support en veillant à lui fournir les informations suivantes :
- Les actions qui ont causé le problème.
- Le bloc ressource issu de votre fichier .tf.
- L’état de la ressource dans terraform.tfstate.
- Le résultat de la commande
terraform plan.