Dit artikel biedt informatie over hoe u uw bestaande Uptrends-monitoringconfiguratie naar Terraform kunt migreren. Als u nog niet bekend bent met het concept van Terraform, raden we u aan de Engelstalige Terraform-documentatie te lezen voor meer informatie.
Uptrends biedt integratie met en ondersteuning voor Terraform, een krachtige Infrastructure as Code (IaC)-tool waarmee u uw volledige Uptrends-monitoringconfiguratie kunt beheren, waaronder controleregels, alertconfiguraties en andere resources door gebruik van code.
Met Uptrends Terraform kunt u:
- Uw Uptrends-configuratie gemakkelijk onderhouden en automatiseren door gebruik van configuratiebestanden in plaats van deze te beheren met een UI-gebaseerde omgeving of via de Uptrends API.
- Uw configuratiebestanden beheren met versiebeheersystemen zoals Git om wijzigingen efficiënt te volgen en rollbacks uit te voeren met behulp van een GitOps-benadering.
- De configuratie definiëren en die snippets hergebruiken binnen uw structuur.
- Uw bestaande Uptrends-configuratie downloaden en direct aan de slag gaan.
U vindt de Uptrends Terraform Registry hier.
Vereisten
Er moet aan de volgende vereisten zijn voldaan om de Uptrends Terraform te gebruiken:
- Installeer Terraform op uw lokale machine.
- Een actief Uptrends-account. Als u er nog geen heeft, meld u dan aan en probeer Uptrends nu uit.
- Uptrends API key. U kunt eenvoudig een Uptrends API key creëren door te klikken op Maak uw Terraform-gebruiker op de Uptrends Terraform-hub. U kunt ook uw bestaande API keys gebruiken voor authenticatie bij Terraform.
- Een IDE om uw configuratiebestanden te beheren en te bewerken in een code-editor. Als u Visual Studio Code gebruikt, zorg er dan voor dat u de HashiCorp Terraform-extensie heeft geïnstalleerd voor syntaxmarkering en automatische aanvulling.
Uw Terraform-infrastructuur configureren
Ga als volgt te werk om uw infrastructuur te configureren:
-
Controleer of aan alle vereisten is voldaan.
-
Creëer een directory voor uw Terraform-configuratie.
a. Creëer in de directory een bestand, main.tf.
-
Ga naar de Uptrends Terraform-hub voor de instructies voor de eerste installatie.
a. In Stap 1: Starten met monitoring, kopieert en plakt u de configuratie in uw main.tf-bestand:
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"
}
Als u een API key heeft gecreëerd met Maak uw Terraform-gebruiker, worden de velden username en password automatisch ingevuld. Gebruik anders uw bestaande API-inloggegevens in de configuratie.
- Voer
terraform init
uit om Terraform te initialiseren. Een .terraform.lock.hcl-bestand en een .terraform-directory worden toegevoegd aan de root directory.
Nadat u uw infrastructuur heeft geconfigureerd, kunt u uw huidige Uptrends-controleregelconfiguratie in Terraform gebruiken. Om dit te doen importeert u resources van het Uptrends-platform.
U kunt ook uw resources definiëren en beheren door een resource te creëren, bij te werken of te vernietigen.
Resources van het Uptrends-platform importeren
Als u uw bestaande configuratie van het Uptrends-platform naar Terraform wilt halen, kunt u bestanden importeren om uw resources aan uw Terraform-state toe te voegen. Op deze manier hoeft u niet alles handmatig helemaal opnieuw te creëren.
Ga als volgt te werk om resources te importeren:
- Ga naar Uptrends Terraform-hub.
- In Stap 2: Statussen importeren > Klik op Alles downloaden.
- Pak de gedownloade bestanden uit en plaats ze in de root directory, op hetzelfde niveau als main.tf.
- Voer
terraform plan -generate-config-out="name_of_generated_file.tf"
uit om de configuratie te genereren. Met deze opdracht kunt u de wijzigingen die Terraform aan uw infrastructuur zal aanbrengen vooraf bekijken en controleren op basis van uw configuratiebestanden en de huidige state.
U ziet dat er een nieuw bestand, name_of_generated_file.tf, is gecreëerd in de root directory. Dit bestand bevat de configuratie voor de resources die zijn geïmporteerd.
Als u voor elk resourcetype aparte configuratiebestanden wilt genereren, verwerkt u de importbestanden één voor één en geeft u elk uitvoerbestand een unieke naam (bijvoorbeeld name_of_resource_type.tf).
- Voer
terraform apply
uit om de importwijzigingen te bevestigen.
Nadat de import is voltooid, kunt u de import state blocks verwijderen.
- Controleer of het bestand terraform.tfstate is bijgewerkt met de geïmporteerde resources.
Resources definiëren
Door een resource in Terraform te definiëren, kunt u resources in uw Uptrends-account creëren, bijwerken en vernietigen. U kunt meerdere resources definiëren in uw main.tf-bestand of in afzonderlijke .tf-bestanden in dezelfde directory.
Elk resource block definieert een specifieke Uptrends-resource die u wilt beheren. Bijvoorbeeld alertdefinities, controleregels, operators en meer. Zodra een resource is gedefinieerd, wordt een terraform.tfstate-bestand gecreëerd. Dit bestand volgt alle resources en wijzigingen die door Terraform worden beheerd.
Raadpleeg de Uptrends Terraform-documentatie voor meer informatie over de beschikbare resources.
Een resource creëren
Ga als volgt te werk om een resource te creëren:
- Voeg een resource block toe.
- Voer
terraform apply
uit om wijzigingen te bevestigen. - Typ
yes
om verder te gaan met de wijzigingen.
Een bericht bevestigt dat de resources zijn gecreëerd. Controleer of het bestand terraform.tfstate is bijgewerkt met de nieuwe resources.
Een resource bijwerken
Ga als volgt te werk om een resource bij te werken:
- Wijzig een resource block volgens uw vereisten.
- Voer
terraform apply
uit om wijzigingen te bevestigen. - Typ
yes
om verder te gaan met de wijzigingen.
Als dit lukt, ziet u een bericht dat de resources zijn bijgewerkt. Controleer of het bestand terraform.tfstate is bijgewerkt met de gewijzigde resources.
Een resource vernietigen
Om een resource te vernietigen doet u het volgende:
- Identificeer het resource block dat u wilt verwijderen. U vindt de blocks in uw bestand main.tf of in andere .tf-bestanden in dezelfde directory.
- Voer een van de volgende handelingen uit:
- Om een specifieke resource te verwijderen verwijdert u het resource block uit de configuratie en voert u
terraform apply
uit. - To remove all managed resources, run
terraform destroy
.
- Typ
yes
om verder te gaan met de wijzigingen.
Als dit lukt, ziet u een bericht dat de resources zijn vernietigd. Controleer of het bestand terraform.tfstate is bijgewerkt met de wijzigingen
Omgaan met ingrijpende wijzigingen
Als een nieuwe versie van de itrs-uptrends-provider ingrijpende wijzigingen introduceert, zoals wijzigingen in attribute- of resourcenamen, moet u alle betrokken resources opnieuw importeren. Als de wijzigingen niet specifiek worden vermeld, raden we aan alle resources opnieuw te importeren om compatibiliteit te garanderen.
Als u resources heeft hernoemd, houd er dan rekening mee dat als er tijdens de bètafase een ingrijpende wijziging wordt aangekondigd, het opnieuw importeren van die resources uw naamgevingswijzigingen overschrijft.
Problemen oplossen
Als u problemen ondervindt, voer dan de opdracht terraform plan
uit om uw huidige configuratie te vergelijken met de bestaande Terraform-state. Dit helpt u bij het identificeren van afwijkingen en potentiële problemen. Raadpleeg voor meer informatie de officiële documentatie van
Terraform plan command.
U kunt ook contact opnemen met ons Support team en de volgende informatie verstrekken:
- De acties die u heeft uitgevoerd die tot de bug hebben geleid of deze hebben veroorzaakt.
- De resource block die is geconfigureerd vanuit uw .tf-bestand.
- De resource state van uw terraform.tfstate.
- De uitvoer van de opdracht
terraform plan
.