Uptrace
Demo
Alerting & monitoring

Know before your users do

When something breaks, you should hear about it before your users do — not from a support ticket. Uptrace monitors metrics, spans, and logs in one platform and routes alerts to the right channel with conditions you control.

14-day free trial · No credit card required

Two monitor types, every signal covered

Metric monitors fire on threshold crossings. Error monitors fire on specific log or exception patterns. Both cover your full stack.

  • Metric monitors: threshold alerts on any infrastructure, span, or log metric
  • Error monitors: trigger on exceptions, log severity, or message patterns
  • ERROR and FATAL monitors created automatically — no setup needed
  • Filter by any attribute: service, environment, host, operation
  • Group by service, region, or custom dimension to split notifications

Cover every layer of your stack

From CPU and disk to PostgreSQL query latency and HTTP error rates — infrastructure and application in one monitor, no extra tools

  • Host metrics: CPU load, memory, filesystem usage, disk I/O, network errors
  • Application spans: p50/p99 latency, throughput, and error rate per operation
  • Database queries: alert on slow SELECT queries exceeding a latency threshold
  • Log events: alert when error count exceeds a threshold per service or region
  • Any Prometheus or OpenTelemetry metric supported out of the box
Live monitors active
Infrastructure
58%OK
Application
0.2%OK
Database
76 msOK
Logs
8/minOK
Metrics
2.0k/sOK
Alert: DB query time exceeded 100 ms

Route to the right channel

Eight notification channels with conditional routing — production to PagerDuty, staging to Slack, from one monitor

  • Slack, Mattermost, Teams, PagerDuty, Opsgenie, Telegram, AlertManager, webhook
  • Filter channels by environment, hostname, service, or monitor name
  • Prod to PagerDuty, staging to Slack — from a single monitor definition
  • Alert body includes metric values, error samples, and affected attributes
  • Recovery notification sent automatically when the condition resolves

Silence the noise, not the signal

Adaptive intervals grow over time — a lingering alert reminds you daily, not every 15 minutes

  • Metric interval: starts at 15 min, doubles every 3 alerts, caps at 24 h
  • Error interval: starts at 1 h, doubles every 2 alerts, caps at 1 week
  • Recovery notification sent automatically when the alert closes
  • Channel conditions filter low-priority alerts away from on-call noise

Alerts as code

Write monitors in YAML, commit to git, apply with Terraform — alerting config becomes reproducible and version-controlled

  • YAML definitions for metric and error monitors
  • Terraform provider manages monitors, channels, and routing
  • Import YAML via the Uptrace UI or MCP server
  • Copy alerting config from staging to production in one step
  • Alert names support Go templates referencing any span attribute

Common questions, clear answers

What is the difference between a metric monitor and an error monitor?
A metric monitor evaluates a numeric query against a threshold — for example, alerting when CPU usage exceeds 80% or when the error rate crosses 1 per minute. An error monitor watches for specific log or exception patterns and fires when a matching entry appears, such as any log with severity ERROR or any exception containing "timeout".
Can I alert on span and trace data, not just infrastructure metrics?
Yes. Uptrace exposes span data as built-in system metrics — uptrace_tracing_spans, uptrace_tracing_logs, and uptrace_tracing_events — which you can use in metric monitors. This lets you alert on p99 latency for a specific operation, the error rate on an HTTP endpoint, or the number of failed database queries per minute.
How does Uptrace avoid alert fatigue?
Uptrace uses an adaptive notification interval that grows over time. Metric alerts start at 15-minute reminders and double every three notifications up to a 24-hour maximum. Error alerts start at 1 hour and cap at 1 week. Recovery notifications are sent automatically when conditions clear, so you always know the current state without polling.
Can I define monitors as code instead of through the UI?
Yes. Monitors can be written as YAML files and imported via the UI or MCP server. For full infrastructure-as-code workflows, the official Uptrace Terraform provider manages monitors, notification channels, projects, and team access — making your alerting setup reproducible and auditable in git.
Which notification channels does Uptrace support?
Uptrace supports eight channels: Slack, Mattermost, Microsoft Teams, PagerDuty, Opsgenie, Telegram, Prometheus AlertManager, and generic webhooks. Each channel supports conditional routing with an Expr-based filter, so you can send production alerts to PagerDuty while routing staging alerts to Slack — all from a single monitor definition.

Ready to alert before users notice?

Deploy in minutes with Docker. Open source. Fixed pricing. Your data stays on your infrastructure.

Set up your first alert

14-day free trial · No credit card required