prometheus/alertmanager

Prometheus Alertmanager

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 33 minutes ago
Added to GitGenius on April 7th, 2021
Created on July 16th, 2013
Open Issues & Pull Requests: 422 (+0)
Number of forks: 2,448
Total Stargazers: 8,593 (+0)
Total Subscribers: 166 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 119.8 days
Mean response time: 668.4 days
90th percentile: 1873.1 days
Tracked items: 653

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 91% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "kind/enhancement" is answered fastest, typically in about 3 months, while "kind/more-info-needed" waits about 55 months. 62% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 2% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 321
New in 7 days: 5
Closed in 7 days: 6
Avg open age: 1,325 days
Stale 30+ days: 303
Stale 90+ days: 279

Recent activity

Opened in 7 days: 4
Closed in 7 days: 6
Comments in 7 days: 9
Events in 7 days: 49

Top labels

  • kind/enhancement (151)
  • stale (130)
  • component/notify (120)
  • kind/support (117)
  • component/ui (51)
  • help wanted (49)
  • kind/more-info-needed (39)
  • component/silences (33)

Detailed Description

Alertmanager is a Go-based alert handling system that serves as a critical component of the Prometheus monitoring ecosystem. It receives alerts from client applications like Prometheus servers and manages their lifecycle through deduplication, grouping, and intelligent routing to appropriate notification channels. The system supports integration with numerous external services including email, PagerDuty, OpsGenie, and custom webhooks, making it highly extensible for diverse operational environments.

The core functionality of Alertmanager centers on alert management operations. It deduplicates incoming alerts to prevent notification fatigue, groups related alerts together for coherent presentation, and routes them based on configurable rules to the correct receiver integrations. Beyond basic routing, Alertmanager implements silencing capabilities that allow operators to temporarily suppress alerts and inhibition rules that prevent certain alerts from firing when other conditions are met. These features collectively enable sophisticated alert management workflows in complex monitoring scenarios.

The project provides multiple installation methods to accommodate different deployment preferences. Users can download precompiled binaries from prometheus.io, pull Docker images from Quay.io or Docker Hub, or compile from source using Go and Node.js. The system exposes a fully-specified REST API through OpenAPI and Go Swagger, with the current version being APIv2 accessed via the /api/v2 prefix. This API-first design enables programmatic interaction and client generation across multiple programming languages.

Alertmanager includes amtool, a command-line interface for interacting with the API. This tool allows operators to view firing alerts, query alerts using rich syntax, manage silences, test template rendering, and visualize routing configurations. The amtool supports configuration files for convenience and includes route verification capabilities to test how alerts would be routed based on label sets.

High availability is a built-in feature enabled by default through cluster communication between Alertmanager instances. The clustering mechanism uses both UDP and TCP protocols and is controlled through command-line flags specifying listen addresses, peer configurations, and various timeout and interval parameters. The system requires all alerts to be sent to all Alertmanager instances rather than load-balanced traffic to ensure proper high availability operation.

The project is classified across multiple domains including notification systems, webhooks, routing, integrations, deduplication, inhibition, silencing, aggregation, and alerting. It maintains comprehensive documentation at prometheus.io and operates under the Apache License 2.0, welcoming contributions through established Prometheus project guidelines with specific guidance for UI contributions.