Uptime-Monitoring als Code, mit dem offiziellen Terraform-Provider

Definiere Monitore, Cron-Job-Checks, Alert-Routing und Statusseiten in HCL. Prüf sie als Pull Requests und roll sie aus wie den Rest deiner Infrastruktur – mit Terraform oder OpenTofu.

Open Source · In jedem Plan · Terraform & OpenTofu

Änderungen am Monitoring laufen durchs Code-Review

Monitore, Alert-Routing und Statusseiten liegen in deinem Repo. Jede Änderung ist ein Pull Request – versioniert, reviewt und zurückrollbar wie der Rest deiner Infrastruktur.

Reproduzierbar über Umgebungen und Kunden hinweg

Bau mit einem Apply dasselbe Monitoring-Setup für Staging, Produktion oder einen neuen Kunden auf. Agenturen können ein komplettes White-Label-Setup pro Kunde als Vorlage anlegen.

Übernimm, was du schon hast

Jede Ressource unterstützt terraform import, ein bestehendes UptimeEye-Setup wandert also in Code, ohne dass du etwas neu anlegen musst. Drift siehst du im Plan, nicht erst bei einem Ausfall.

Mit einem Apply von null auf überwacht

1 · Provider konfigurieren

hcl
terraform {
  required_providers {
    uptimeeye = {
      source = "uptimeeye/uptimeeye"
    }
  }
}

provider "uptimeeye" {
  # or set the UPTIMEEYE_API_KEY environment variable
  api_key = var.uptimeeye_api_key
}

2 · Monitoring beschreiben

hcl
resource "uptimeeye_notification_channel" "oncall" {
  name = "On-Call"
}

resource "uptimeeye_notification_integration" "slack" {
  channel_id = uptimeeye_notification_channel.oncall.id
  name       = "Slack #alerts"
  slack = {
    webhook_url = var.slack_webhook_url
    channel     = "#alerts"
  }
}

resource "uptimeeye_monitor" "api" {
  name                    = "API Healthcheck"
  notification_channel_id = uptimeeye_notification_channel.oncall.id
  locations               = ["eu-central-1", "us-east-1"]

  steps = [{
    type = "http"
    request = {
      url = "https://api.example.com/health"
    }
    asserts = [{
      type     = "body"
      property = "statusCode"
      operator = "is"
      expected = "200"
    }]
  }]

  options = {
    tick_every = 60
    timeout    = 5000
  }
}

Die vollständige Referenz aller Ressourcen findest du in der Doku des Providers.

In wenigen Minuten eingerichtet

  1. 1

    Erstell einen API-Key

    Öffne in UptimeEye Einstellungen → API-Keys und erstell einen Organisations-Key (ue_live_…). In jedem Plan verfügbar, auch im Free-Plan.

  2. 2

    Konfigurier den Provider

    Füg uptimeeye/uptimeeye zu required_providers hinzu und übergib den Key per Variable oder über die Umgebungsvariable UPTIMEEYE_API_KEY.

  3. 3

    Plan und Apply

    Beschreib Monitore, Alerting und Statusseiten als Ressourcen, prüf den Plan, führ Apply aus – und verwalte Änderungen am Monitoring ab jetzt als Pull Requests.

Alles aus der App, als Ressource

  • HTTP-, DNS- und ICMP-Monitore inkl. Multi-Step-Flows
  • Cron-Job- und Heartbeat-Checks (Scheduled Tasks)
  • Benachrichtigungskanäle & Integrationen (Slack, PagerDuty, Teams, Discord, Telegram, E-Mail, Webhooks)
  • Statusseiten inkl. Bereichen und eigenen Domains
  • Geplante Uptime-Reports
  • Geheime Variablen für Monitor-Schritte

Häufige Fragen

Funktioniert der Provider mit OpenTofu?

Ja. Der Provider ist in der öffentlichen Terraform Registry veröffentlicht und funktioniert ohne zusätzliche Konfiguration sowohl mit Terraform als auch mit OpenTofu.

Welchen Plan brauche ich?

API-Keys und der Terraform-Provider sind in jedem Plan verfügbar, auch im Free-Plan. Die Limits deines Plans (Anzahl der Monitore, Check-Intervalle, Integrationen) gelten genau wie in der App.

Kann ich ein bestehendes UptimeEye-Setup importieren?

Ja – jede Ressource unterstützt terraform import. Verschachtelte Ressourcen nutzen zusammengesetzte IDs, z. B. <channel_id>/<integration_id> für Integrationen von Benachrichtigungskanälen.

Wie werden Secrets wie Webhook-URLs behandelt?

Sensible Attribute (Webhook-URLs, Routing-Keys, geheime Variablen) sind im Schema als sensitive markiert, und die Werte geheimer Variablen sind in der API write-only – UptimeEye gibt sie nie im Klartext zurück.

Wo liegt der Quellcode des Providers?

Der Provider ist Open Source auf GitHub (uptimeeye/terraform-provider-uptimeeye). Issues und Feature-Wünsche sind dort willkommen.

Bug gefunden oder fehlt dir eine Ressource? Eröffne ein Issue auf GitHub.

Bring dein Monitoring unter Versionskontrolle

Leg ein kostenloses Konto an, erstell einen API-Key und roll deinen ersten Monitor in den nächsten zehn Minuten per Apply aus.

Kostenlos starten