Terraform Provider
Define your monitoring setup in HCL, commit it to git, and deploy it with terraform apply. Servers, uptime monitors, workflows, and status pages - all managed as code. Drift detection catches manual changes. CI/CD pipelines keep your monitoring in sync with your infrastructure.
Built for teams monitoring production infrastructure
No credit card · 2-minute setup
resource "fivenines_uptime_monitor" "api" {
name = "Production API"
url = "https://api.example.com/health"
interval = 60
}
Plan: 1 to add, 0 to change, 0 to destroy.
How It Works
Step 1
Install Provider
Add the Fivenines provider from the Terraform Registry with your API token.
Step 2
Write HCL
Define servers, monitors, workflows, and status pages as resources.
Step 3
Plan & Apply
Preview changes with terraform plan, then apply to create or update.
Step 4
Drift Detection
Detect manual changes made outside of Terraform. Stay in sync.
-
Declarative Monitoring Config
Define what your monitoring should look like, not how to set it up. Terraform handles creation, updates, and deletion. Review monitoring changes in pull requests.
-
Version-Controlled Monitoring
Your monitoring config lives in git alongside your infrastructure code. See who changed what, when, and why. Roll back monitoring changes like any other code change.
-
CI/CD Integration
Run terraform plan in your CI pipeline to preview monitoring changes. Auto-apply on merge to main. Monitoring stays in sync with the infrastructure it monitors.
Deep dive
HCL Resource Examples
Configure the provider and create an uptime monitor:
terraform {
required_providers {
fivenines = {
source = "Five-Nines-io/fivenines"
version = "~> 0.1"
}
}
}
provider "fivenines" {
api_token = var.fivenines_api_token
}
resource "fivenines_uptime_monitor" "production" {
url = "https://app.example.com"
name = "Production App"
check_interval = 60
}Deep dive
Manage Monitoring Alongside Infrastructure
Define your monitoring in the same Terraform configuration as your infrastructure. When you add a new server, add its monitoring in the same commit:
resource "fivenines_instance" "web_server" {
name = "web-prod-01"
}
resource "fivenines_uptime_monitor" "web_server_http" {
url = "https://web-prod-01.example.com"
name = "Web Prod 01 HTTP"
check_interval = 30
}
When the server is destroyed, its monitoring is cleaned up automatically. No orphaned monitors, no manual cleanup.
How It Compares
| Approach | Declarative | Drift Detection | State Mgmt | CI/CD Ready | Cost |
|---|---|---|---|---|---|
| Manual Setup | Varies | ||||
| Ansible / Scripts | Partial | Free | |||
| Pulumi | Free / $50+ | ||||
| Fivenines Terraform | Free & OSS |
Terraform provider is free and open source
Works with any Fivenines plan
Frequently Asked Questions
What resources does the Terraform provider support? +
Where is the provider published? +
Can I import existing resources into Terraform state? +
Does it support drift detection? +
Is the provider free? +
Explore next
Related Features
Public API
The Terraform provider is built on top of the REST API. Use the API directly for custom integrations.
Explore ->Custom Dashboards
Manage dashboards alongside your infrastructure with Terraform or build them in the UI.
Explore ->Server Alerts
Configure alert workflows in Terraform to monitor the servers you provision.
Explore ->See how Fivenines compares to other tools
Read our guide to the best infrastructure monitoring tools in 2026.
Start managing your monitoring as code
14-day trial. No credit card required.
No credit card · 2-minute setup · Cancel anytime