API-Keys
API-Keys findest du in der Seitenleiste der App unter API-Keys. Ein Key gehört der Organisation und wird nur einmal angezeigt, beim Erstellen. Es gibt zwei Arten von Keys:
- Management (
ue_live_…) – Für die API, Terraform und MCP. Nur Admins der Organisation können Management-Keys erstellen oder löschen - Log-Ingest (
ue_ingest_…) – Kann nur Logs senden; er gehört in deine Log-Agents (siehe Logs senden)
Terraform-Provider
Mit dem offiziellen Terraform-Provider verwaltest du deine Organisation als Code, mit Terraform oder OpenTofu. Seine Ressourcen sind uptimeeye_monitor, uptimeeye_scheduled_task, uptimeeye_notification_channel, uptimeeye_notification_integration, uptimeeye_variable, uptimeeye_status_page, uptimeeye_status_page_domain und uptimeeye_report_schedule; die Data Sources uptimeeye_locations und uptimeeye_notification_channel lesen bestehende aus. Er ist in der Terraform Registry veröffentlicht und Open Source auf GitHub.
Terraform-Schnellstart
Erstelle unter API-Keys einen Management-Key (ue_live_…, siehe API-Keys) und kopiere dann diese Konfiguration in eine main.tf in einem leeren Verzeichnis. Die Konfiguration definiert einen Benachrichtigungskanal und einen Monitor, der einen HTTP-Endpoint alle 5 Minuten aus Europa (Deutschland) prüft; die Tabelle Regionen listet die IDs aller Regionen.
terraform {
required_providers {
uptimeeye = {
source = "uptimeeye/uptimeeye"
}
}
}
variable "uptimeeye_api_key" {
description = "Management API key (ue_live_…) from API Keys in the app"
type = string
sensitive = true
}
provider "uptimeeye" {
# or remove this line and the variable block, and set UPTIMEEYE_API_KEY
api_key = var.uptimeeye_api_key
}
resource "uptimeeye_notification_channel" "oncall" {
name = "On-Call"
}
resource "uptimeeye_monitor" "api" {
name = "API Healthcheck"
notification_channel_id = uptimeeye_notification_channel.oncall.id
locations = ["eu-central-1"] # Europe (Germany)
steps = [{
type = "http"
request = {
url = "https://api.example.com/health"
method = "GET"
}
asserts = [{
type = "statusCode"
operator = "is"
expected = "2xx"
}]
}]
options = {
tick_every = 300 # seconds; 5 minutes is the shortest interval on Free
timeout = 30 # seconds
}
}Übergib den Key als Variable und wende die Konfiguration an:
export TF_VAR_uptimeeye_api_key="ue_live_..."
terraform init
terraform applyDer Benachrichtigungskanal hat noch keine Empfänger: Füge einen mit uptimeeye_notification_integration oder in der App hinzu.
Bestehendes Setup importieren
Jede Ressource unterstützt terraform import mit ihrer ID (sichtbar in den URLs der App, z. B. mon_…). Verschachtelte Ressourcen nutzen zusammengesetzte IDs wie <channel_id>/<integration_id> für Notification Integrations. Die vollständige Referenz der Ressourcen steht in der Doku der Registry; einen geführten Überblick gibt die Seite zur Terraform-Integration.