Alertmanager Open Issues — Analysis Report
Executive Summary
157 feature/enhancement requests dominate the backlog, vs 23 confirmed bugs.
142 issues (43%) have had no activity for over a year; the median issue is 1218 days old.
14 issues are blocked waiting on the reporter for more information.
16 recurring themes account for clusters of overlapping/duplicate reports (see below).
The single largest driver is notification delivery: component/notify is the most-applied component label.
Overview by Category
Category
Count
%
Bug
23
7%
Documentation
15
5%
Cleanup / Tech-debt
2
1%
Feature / Enhancement
157
48%
Question
11
3%
Support
25
8%
Change / Proposal
1
0%
Friction
1
0%
Release / Packaging
1
0%
Uncategorized
91
28%
Total
327
100%
Overview by Component
Component
Count
component/notify
68
component/ui
31
component/config
18
component/silences
17
component/api
14
component/high availability
12
component/templating
12
component/inhibition
4
component/cli
3
component/storage
3
component/dispatch
2
component/nflog
2
Most Up-voted Issues (by reactions)
Issue
Reactions
Comments
Category
#2217 Support Block Kit with Slack notifications
187
24
Feature / Enhancement
#226 Send resolved notification for silenced alerts
103
70
Feature / Enhancement
#3221 Send subsequent notifications to a slack thread instead of channel
48
14
Feature / Enhancement
#1860 Feature request: provide a way to acknowledge a firing alert
44
27
Feature / Enhancement
#730 Silence notifications
44
14
Feature / Enhancement
#2940 Add google chat receiver
42
17
Feature / Enhancement
#3503 [Feature] Support adaptive cards for MSTeams
34
11
Feature / Enhancement
#2556 Darkmode
34
2
Uncategorized
#1496 Templating support for body of webhook_config
34
8
Feature / Enhancement
#2165 Feature request: Slack alert threading
30
6
Feature / Enhancement
#1188 Add basic arithmetic functions to templating funcmap
27
19
Feature / Enhancement
#2120 Feature suggestion: Add Gotify as receiver
26
10
Feature / Enhancement
#3729 Feature suggestion: Add Apprise library to support more notification services
25
4
Feature / Enhancement
#1196 Feature request: restrict the identity of silence creator to one passed by some HTTP header
24
27
Feature / Enhancement
#3919 Feature Request: Matrix Receiver
21
3
Feature / Enhancement
Triage Findings
Heuristic flags derived from issue body text, labels and age. Each entry needs human confirmation before acting.
Likely Already Fixed (1)
Issue body references a merge/fix that may already be released:
Potentially Invalid / No Longer Valid (13)
Candidates to close as not-a-bug, by-design, abandoned or obsolete:
Potential Duplicate / Overlapping Clusters (16)
Issues grouped by recurring theme — strong candidates for consolidation into a single tracking issue:
Templating helper / function requests (21)
Spurious / extra 'resolved' notifications (17)
Requests for new notification integrations (15)
Inhibition rule expressiveness (12)
Duplicate / repeated notifications in HA (10)
Slack threading / attachments / blocks (9)
OpsGenie / JSM behaviour (8)
Config auto-reload / reload behaviour (7)
Jira integration (6)
repeat_interval timing complaints (6)
IPv6 / hostname binding & advertise-address (5)
Silence creator/comment handling (4)
Pagination of alerts/silences/groups API (4)
Expired silences not garbage-collected (4)
'dropping messages because too many are queued' (3)
MSTeams adaptive cards / actions (3)
Blocked: Waiting for Reporter (14)
Tagged kind/more-info-needed / waiting-for-user-input:
Stale: No Activity > 1 Year (142)
Sorted by staleness (most stale first):
Source links do not work when on same domain as Alertmanager #1881 Source links do not work when on same domain as Alertmanager — 1738d idle
Clarify lack of route time interval inheritance in docs #3211 Clarify lack of route time interval inheritance in docs — 973d idle
Alertmanager sending "empty" endsAt to webhook when alert is not resolved. #3341 Alertmanager sending "empty" endsAt to webhook when alert is not resolved. — 948d idle
one alert firing,but over two resloved message received #2151 one alert firing,but over two resloved message received — 703d idle
Remove function in KV is hard to use from templates #3393 Remove function in KV is hard to use from templates — 645d idle
Feature Request: Support for Dynamic Merging or Patching of Routing Tree Subtrees #4151 Feature Request: Support for Dynamic Merging or Patching of Routing Tree Subtrees — 445d idle
Add pagination for silences list #4138 Add pagination for silences list — 445d idle
[FEATURE REQUEST] Alertmanager receiver for Suppressed Alerts #4120 [FEATURE REQUEST] Alertmanager receiver for Suppressed Alerts — 445d idle
Alerts that should be inhibited fire on Alertmanager reload/restart #4064 Alerts that should be inhibited fire on Alertmanager reload/restart — 445d idle
Add docker tags for major/minor/patch versions #4004 Add docker tags for major/minor/patch versions — 445d idle
AlertManager doesn't send some of alerts to Pagerduty #3902 AlertManager doesn't send some of alerts to Pagerduty — 445d idle
[UI] Feature: Localtime / Timezone option #3861 [UI] Feature: Localtime / Timezone option — 445d idle
amtool ZSH completion is broken #3849 amtool ZSH completion is broken — 445d idle
Different aggregation groups can share the same nflog #3808 Different aggregation groups can share the same nflog — 445d idle
Guidance on pagination token #3766 Guidance on pagination token — 445d idle
Pass Go's time function into the alertmanager templates to be able to do time calculations #3762 Pass Go's time function into the alertmanager templates to be able to do time calculations — 445d idle
Discord integration: no possibility to configure the webhook content object #3667 Discord integration: no possibility to configure the webhook content object — 445d idle
OpsGenie cross-team deduplication - alias prefix #3639 OpsGenie cross-team deduplication - alias prefix — 445d idle
HA Alertmanager can send conflicting notifications in certain cases #3551 HA Alertmanager can send conflicting notifications in certain cases — 445d idle
[Feature] Support adaptive cards for MSTeams #3503 [Feature] Support adaptive cards for MSTeams — 445d idle
When there is a problem with one of the mailboxes, just skip it #3496 When there is a problem with one of the mailboxes, just skip it — 445d idle
[Feature] Additional validation to prevent extremely broad silences #3492 [Feature] Additional validation to prevent extremely broad silences — 445d idle
Notifications are not resilient to bad templates #3490 Notifications are not resilient to bad templates — 445d idle
Repeated notifications sooner than repeat_interval #2320 Repeated notifications sooner than repeat_interval — 443d idle
Receiving alert more often then repeat interval #3326 Receiving alert more often then repeat interval — 420d idle
Inhibit Rules should be able to consider different labels in their equal statement #2254 Inhibit Rules should be able to consider different labels in their equal statement — 402d idle
Allow mutating alerts on pipeline stages #4361 Allow mutating alerts on pipeline stages — 398d idle
Silence count metric collection #4358 Silence count metric collection — 398d idle
Eventstream endpoint #1304 Eventstream endpoint — 183d idle
Make alertmanager config on status page readable #1466 Make alertmanager config on status page readable — 178d idle
Consider relaxed retrying for resolved notifications #225 Consider relaxed retrying for resolved notifications — 178d idle
Direct link to alert #211 Direct link to alert — 178d idle
Inhibits should be per-route rather than global #180 Inhibits should be per-route rather than global — 178d idle
Show dispatched notifications in web UI #172 Show dispatched notifications in web UI — 178d idle
Add description for Architecture diagram in README #2424 Add description for Architecture diagram in README — 167d idle
[feature request] allow matched values from source_match_re in target_match #2395 [feature request] allow matched values from source_match_re in target_match — 167d idle
Implement Base64 Decoding in Alert Description Templates #2385 Implement Base64 Decoding in Alert Description Templates — 167d idle
Feature Request: Slack send_resolved with jump to resolved link #2382 Feature Request: Slack send_resolved with jump to resolved link — 167d idle
VictorOps Alerts Incorrectly Merged #2337 VictorOps Alerts Incorrectly Merged — 167d idle
[Proposal] Change Config Format #2302 [Proposal] Change Config Format — 167d idle
V2 API swagger file issue re: Matchers #2272 V2 API swagger file issue re: Matchers — 167d idle
Feature Request: add an optional not_equal field to inhibit_rules #2201 Feature Request: add an optional not_equal field to inhibit_rules — 167d idle
Silenced alert becomes active after cluster restart with silence still active #2158 Silenced alert becomes active after cluster restart with silence still active — 167d idle
Cannot discover web.external_url value from API #2064 Cannot discover web.external_url value from API — 167d idle
Feature Suggestion - Webhook integration should indicate timeout #1997 Feature Suggestion - Webhook integration should indicate timeout — 167d idle
Inconsistent look and feel between prometheus and alertmanager web consoles #1933 Inconsistent look and feel between prometheus and alertmanager web consoles — 167d idle
Documentation for docker usage #1855 Documentation for docker usage — 167d idle
Links in annotations - support relative URLs #1826 Links in annotations - support relative URLs — 167d idle
Alert housekeeping and Pagerduty #1803 Alert housekeeping and Pagerduty — 167d idle
Receiver called with already notified resolved alerts #1755 Receiver called with already notified resolved alerts — 167d idle
Old peer is not forgotten properly #1722 Old peer is not forgotten properly — 167d idle
[HA] Show more info about the cluster status in the UI if it is failing #1564 [HA] Show more info about the cluster status in the UI if it is failing — 167d idle
Show alert notification information #1305 Show alert notification information — 167d idle
Feature request: Support Slack Attachments in alert templates #654 Feature request: Support Slack Attachments in alert templates — 167d idle
Feature Req: Trigger alert if any of the match_re(or match) matches. #2629 Feature Req: Trigger alert if any of the match_re(or match) matches. — 160d idle
Struct tags are not longer supporting multiple space separated keys #2625 Struct tags are not longer supporting multiple space separated keys — 160d idle
The alert sending interval is inconsistent with the document description #2601 The alert sending interval is inconsistent with the document description — 160d idle
Update value of alert resolved. #2589 Update value of alert resolved. — 160d idle
Resolved alert not being send if the resolved alert is the first alert received after restart in docker swarm environment #2570 Resolved alert not being send if the resolved alert is the first alert received after restart in docker swarm environment — 160d idle
Prometheus Alert manager to send the scraping to Moogsoft #2553 Prometheus Alert manager to send the scraping to Moogsoft — 160d idle
Requesting native AWS SNS support #2525 Requesting native AWS SNS support — 160d idle
Resolved notification sent with send_resolved set to false #2510 Resolved notification sent with send_resolved set to false — 160d idle
No alerts going out when started to use 3 alertmanager #2506 No alerts going out when started to use 3 alertmanager — 160d idle
Clustering: remove failed peers that are not in the configuration #2775 Clustering: remove failed peers that are not in the configuration — 154d idle
Whether alibaba's Dingding notification can be built in, Dingding is more popular in Chinese office apps than wechat #2750 Whether alibaba's Dingding notification can be built in, Dingding is more popular in Chinese office apps than wechat — 154d idle
Improvement amtool alert grouping #2736 Improvement amtool alert grouping — 154d idle
[feature request] Include silence alarm link in the default email templates #2717 [feature request] Include silence alarm link in the default email templates — 154d idle
Send "New Silence" notification (trigger or list of fingerprints) #2690 Send "New Silence" notification (trigger or list of fingerprints) — 154d idle
Alertmanager does not send resolve for a few cases randomly #2675 Alertmanager does not send resolve for a few cases randomly — 154d idle
intermittent bogus resolved notifications #2550 intermittent bogus resolved notifications — 154d idle
Expired silences are not garbage collected after --data.retention has passed #2164 Expired silences are not garbage collected after --data.retention has passed — 154d idle
Feature request: provide a way to acknowledge a firing alert #1860 Feature request: provide a way to acknowledge a firing alert — 154d idle
Silences post returns a status code of 200 on create or update #3246 Silences post returns a status code of 200 on create or update — 126d idle
Rename weekdays to days_of_week in time interval definition #3212 Rename weekdays to days_of_week in time interval definition — 126d idle
Add dynamic duration variable for the repeat_interval #3186 Add dynamic duration variable for the repeat_interval — 126d idle
GCS file as a configuration source #3185 GCS file as a configuration source — 126d idle
[feature-request] Generate JSON and base64 encode to generate silence payload for Karma #3127 [feature-request] Generate JSON and base64 encode to generate silence payload for Karma — 126d idle
Silence creator and comment is required in the UI but not in the API #2998 Silence creator and comment is required in the UI but not in the API — 126d idle
Inhibit alerts by groupname matcher #2984 Inhibit alerts by groupname matcher — 126d idle
Feature request - Matcher continue on receiver failure #2957 Feature request - Matcher continue on receiver failure — 126d idle
How about getting alertmanager that can run on an ARM8 processor? #2941 How about getting alertmanager that can run on an ARM8 processor? — 126d idle
Feature Request: Add in functions to convert variable types in templates #2920 Feature Request: Add in functions to convert variable types in templates — 126d idle
Improve actor lifecycle / shutdown management in main.go #2906 Improve actor lifecycle / shutdown management in main.go — 126d idle
AlertManager/Opsgenie - I can't template only by the responder type field #2887 AlertManager/Opsgenie - I can't template only by the responder type field — 126d idle
Update alerts api to display that notifications are muted for certain receivers. #2832 Update alerts api to display that notifications are muted for certain receivers. — 126d idle
Feature Request: Allow CRUD operations via API on AlertManager #2756 Feature Request: Allow CRUD operations via API on AlertManager — 126d idle
Toggle ability to - send resolved notifications for inhibited alerts #2754 Toggle ability to - send resolved notifications for inhibited alerts — 126d idle
Feature request: Adding metadata to incomming alerts #2611 Feature request: Adding metadata to incomming alerts — 126d idle
Alertmanager pod msg="dropping messages because too many are queued" #2440 Alertmanager pod msg="dropping messages because too many are queued" — 126d idle
Incomplete AlertManager API Documentation #2228 Incomplete AlertManager API Documentation — 126d idle
Send image via Telegram notification #3258 Send image via Telegram notification — 125d idle
Proposal: support idempotency token for create silence api #3229 Proposal: support idempotency token for create silence api — 125d idle
Prometheus SNS receiver validation #2781 Prometheus SNS receiver validation — 125d idle
amtool: /etc/amtool.yml or $home/.config/amtool/ on windows server #3331 amtool: /etc/amtool.yml or $home/.config/amtool/ on windows server — 119d idle
Feature request: Expiry for resolved alerts in long-running groups #3329 Feature request: Expiry for resolved alerts in long-running groups — 119d idle
Alert reach Opsgenie with different deduplicating aliases even in the presence of group_by labels #3328 Alert reach Opsgenie with different deduplicating aliases even in the presence of group_by labels — 119d idle
Add Pushsafer Notification Service #3325 Add Pushsafer Notification Service — 119d idle
Proposal: Paginate through listAlertGroups API #3297 Proposal: Paginate through listAlertGroups API — 119d idle
Group Timings Visibility #3294 Group Timings Visibility — 119d idle
time_intervals configuration differences in /status #3267 time_intervals configuration differences in /status — 119d idle
Filter alerts based on query result labels #2916 Filter alerts based on query result labels — 119d idle
Validation of successful alert delivery to Opsgenie #3598 Validation of successful alert delivery to Opsgenie — 117d idle
Ghost Silence: Some silences have been manually expired, but they will be recreated strangely #3457 Ghost Silence: Some silences have been manually expired, but they will be recreated strangely — 117d idle
Reloading the config leads to incorrect notifications being sent due to a race condition #3407 Reloading the config leads to incorrect notifications being sent due to a race condition — 117d idle
Add num firing and resolved alerts to webhook payload #3396 Add num firing and resolved alerts to webhook payload — 117d idle
Port number template functions from prometheus to alertmanager #3395 Port number template functions from prometheus to alertmanager — 117d idle
Expired silences are not garbage collected after -data.retention has been changed from 2400h to 169h. #3382 Expired silences are not garbage collected after -data.retention has been changed from 2400h to 169h. — 117d idle
Missing CORS headers for DELETE in API v2 #3165 Missing CORS headers for DELETE in API v2 — 117d idle
Feature request: graceful configuration reload #2146 Feature request: graceful configuration reload — 117d idle
Alerts are not closed at Opsgenie receiver #3384 Alerts are not closed at Opsgenie receiver — 115d idle
Using repetitive blocks for slack_config in alertmanager config file #3248 Using repetitive blocks for slack_config in alertmanager config file — 115d idle
[feature-request] Use time_intervals in Silences function module #3339 [feature-request] Use time_intervals in Silences function module — 114d idle
Support for providing token_url as a file in http_config.oauth2 #4759 Support for providing token_url as a file in http_config.oauth2 — 112d idle
Custom JQL for Jira tickets #4624 Custom JQL for Jira tickets — 112d idle
Alertmanager resends the notifications after reloading the configuration #3410 Alertmanager resends the notifications after reloading the configuration — 98d idle
Offer solution to test receivers #2845 Offer solution to test receivers — 98d idle
Memory leak when repeating silences #2659 Memory leak when repeating silences — 98d idle
AlertManager not sending all alerts to Webhook endpoint. #2404 AlertManager not sending all alerts to Webhook endpoint. — 98d idle
Alertmanagers in HA mode goes sometimes out of sync #2384 Alertmanagers in HA mode goes sometimes out of sync — 98d idle
Alertmanager loses in-memory alerts when it restarts #2370 Alertmanager loses in-memory alerts when it restarts — 98d idle
amtool support multiple alertmanagers #2704 amtool support multiple alertmanagers — 96d idle
msteamsv2 Receiver does not support Summary field #4319 msteamsv2 Receiver does not support Summary field — 84d idle
Alertmanager native integration jira problem #4293 Alertmanager native integration jira problem — 84d idle
Feature Request - An extra button in the Alert.ele that directs to the https://<prom-url>/alerts?search=<ALERT_NAME> #4287 Feature Request - An extra button in the Alert.ele that directs to the https:///alerts?search=<ALERT_NAME> — 84d idle
Feature request: slack_configs.send_resolved a templatable field #4033 Feature request: slack_configs.send_resolved a templatable field — 84d idle
Feature request: Add group creation time to group_by hash #3959 Feature request: Add group creation time to group_by hash — 84d idle
Have a way to mute alert until it's resolved to receive a resolved notification once it's fixed #3825 Have a way to mute alert until it's resolved to receive a resolved notification once it's fixed — 84d idle
When the alarm is restored, the unrecovered alarms will be issued together #3677 When the alarm is restored, the unrecovered alarms will be issued together — 84d idle
Heartbeat (Webhook) stuck after opsgenie connection issue #3669 Heartbeat (Webhook) stuck after opsgenie connection issue — 84d idle
Rename VictorOps to Splunk OnCall #3539 Rename VictorOps to Splunk OnCall — 84d idle
--web.page-title flag as Prometheus "Core", it's possibile? #3527 --web.page-title flag as Prometheus "Core", it's possibile? — 84d idle
Alert Rules Labels do not appear in Notification Email when being used in annotations/description prometheus field #3519 Alert Rules Labels do not appear in Notification Email when being used in annotations/description prometheus field — 84d idle
Whether Alertmanager supports receiving different alerts per their labels #3515 Whether Alertmanager supports receiving different alerts per their labels — 84d idle
Issue on Alerting WebHook since 0.24.0 alertmanager version #2924 Issue on Alerting WebHook since 0.24.0 alertmanager version — 84d idle
Alertmanager not logging bad request error when posting to v2 api #2532 Alertmanager not logging bad request error when posting to v2 api — 84d idle
template.Data does not export GroupKey #2526 template.Data does not export GroupKey — 71d idle
Implement proper retries for integrations #2205 Implement proper retries for integrations — 71d idle
duplicate repeated notifications #1005 duplicate repeated notifications — 70d idle
Minimum value for repeat_interval #917 Minimum value for repeat_interval — 70d idle
Accessing current date / other functions in the Alertmanager Go templates #603 Accessing current date / other functions in the Alertmanager Go templates — 70d idle
Preview of alert utilizing templating and so on #584 Preview of alert utilizing templating and so on — 70d idle
docker image does not recognise timezone appropriately #3810 docker image does not recognise timezone appropriately — 53d idle
Full Issue Listing by Category
Bug (23)
Documentation (15)
Cleanup / Tech-debt (2)
Feature / Enhancement (157)
Show dispatched notifications in web UI #172 Show dispatched notifications in web UI — component/storage, component/ui
Inhibits should be per-route rather than global #180 Inhibits should be per-route rather than global — component/config, component/notify
Consider relaxed retrying for resolved notifications #225 Consider relaxed retrying for resolved notifications — —
Send resolved notification for silenced alerts #226 Send resolved notification for silenced alerts — component/notify
Be able to silence based on generatorURL #344 Be able to silence based on generatorURL — component/silences
Extract main function into package #406 Extract main function into package — —
Ensure same timestamp context for all evaluations #461 Ensure same timestamp context for all evaluations — component/notify
Allow comment log per silence #462 Allow comment log per silence — component/storage, component/ui, component/silences
Alert page should automatically refresh #524 Alert page should automatically refresh — component/ui
Preview of alert utilizing templating and so on #584 Preview of alert utilizing templating and so on — component/notify, component/templating
feature request: cancel pushover notifications when the alert resolves itself #634 feature request: cancel pushover notifications when the alert resolves itself — component/notify
Feature request: Support Slack Attachments in alert templates #654 Feature request: Support Slack Attachments in alert templates — component/config, component/notify, component/templating
Silence notifications #730 Silence notifications — component/silences, component/notify
Display relative times in the UI #810 Display relative times in the UI — component/ui
Add routing tree back to the UI #813 Add routing tree back to the UI — component/ui
Display "natural" grouping (and make groups linkable) #868 Display "natural" grouping (and make groups linkable) — component/ui
Receiver filter matching incorrectly #933 Receiver filter matching incorrectly — component/ui
Change color of buttons #956 Change color of buttons — component/ui
allow user to request consistent ordering / sorting of grouped alerts #1178 allow user to request consistent ordering / sorting of grouped alerts — component/templating
Add basic arithmetic functions to templating funcmap #1188 Add basic arithmetic functions to templating funcmap — component/templating
Feature request: restrict the identity of silence creator to one passed by some HTTP header #1196 Feature request: restrict the identity of silence creator to one passed by some HTTP header — component/silences
Eventstream endpoint #1304 Eventstream endpoint — —
Show alert notification information #1305 Show alert notification information — component/ui
Make alertmanager config on status page readable #1466 Make alertmanager config on status page readable — component/ui
Templating support for body of webhook_config #1496 Templating support for body of webhook_config — component/notify
Show Related Expired Silences on Alerts page #1497 Show Related Expired Silences on Alerts page — component/ui, component/silences
Old peer is not forgotten properly #1722 Old peer is not forgotten properly — component/high availability
Alert housekeeping and Pagerduty #1803 Alert housekeeping and Pagerduty — component/notify
Links in annotations - support relative URLs #1826 Links in annotations - support relative URLs — component/ui
Add internal alert ingest queue #1832 Add internal alert ingest queue — component/storage
Support building alert filters before evaluating them #1849 Support building alert filters before evaluating them — component/ui
Feature request: provide a way to acknowledge a firing alert #1860 Feature request: provide a way to acknowledge a firing alert — —
No way to consume the API v2 client code separately from the main module #1983 No way to consume the API v2 client code separately from the main module — component/api
Support for sending notification to kafka #1996 Support for sending notification to kafka — component/notify
Feature Suggestion - Webhook integration should indicate timeout #1997 Feature Suggestion - Webhook integration should indicate timeout — component/notify
Cannot discover web.external_url value from API #2064 Cannot discover web.external_url value from API — component/ui, component/api
Feature suggestion: Add Gotify as receiver #2120 Feature suggestion: Add Gotify as receiver — component/notify
Feature request: graceful configuration reload #2146 Feature request: graceful configuration reload — component/notify, component/high availability
Feature request: Slack alert threading #2165 Feature request: Slack alert threading — component/notify
Feature Request: add an optional not_equal field to inhibit_rules #2201 Feature Request: add an optional not_equal field to inhibit_rules — component/config
Implement proper retries for integrations #2205 Implement proper retries for integrations — component/notify
Support Block Kit with Slack notifications #2217 Support Block Kit with Slack notifications — component/notify
Inhibit Rules should be able to consider different labels in their equal statement #2254 Inhibit Rules should be able to consider different labels in their equal statement — component/silences
[Proposal] Change Config Format #2302 [Proposal] Change Config Format — component/config
[feature request] Log each successfully sent notification with metadata #2304 [feature request] Log each successfully sent notification with metadata — component/notify
Show similar existing silences when creating a new silence #2326 Show similar existing silences when creating a new silence — component/ui
group_by: [alertname, alertstate] doesn't work as it should #2334 group_by: [alertname, alertstate] doesn't work as it should — component/notify
Feature Request: Slack send_resolved with jump to resolved link #2382 Feature Request: Slack send_resolved with jump to resolved link — component/notify
Implement Base64 Decoding in Alert Description Templates #2385 Implement Base64 Decoding in Alert Description Templates — component/templating
[feature request] allow matched values from source_match_re in target_match #2395 [feature request] allow matched values from source_match_re in target_match — component/inhibition
Requesting native AWS SNS support #2525 Requesting native AWS SNS support — —
Expose which webhook endpoint is failing in AlertmanagerClusterFailedToSendAlerts #2527 Expose which webhook endpoint is failing in AlertmanagerClusterFailedToSendAlerts — —
Feature Request: Sort Alerts based on startsAt time or arbitrary paramater #2565 Feature Request: Sort Alerts based on startsAt time or arbitrary paramater — component/templating
Feature request: Adding metadata to incomming alerts #2611 Feature request: Adding metadata to incomming alerts — —
Struct tags are not longer supporting multiple space separated keys #2625 Struct tags are not longer supporting multiple space separated keys — component/api
Feature Req: Trigger alert if any of the match_re(or match) matches. #2629 Feature Req: Trigger alert if any of the match_re(or match) matches. — —
Feature request: ZenDesk support #2682 Feature request: ZenDesk support — component/notify
Feature: Exclude existing alerts in group notification #2686 Feature: Exclude existing alerts in group notification — —
amtool support multiple alertmanagers #2704 amtool support multiple alertmanagers — component/cli
[feature request] Include silence alarm link in the default email templates #2717 [feature request] Include silence alarm link in the default email templates — —
Toggle ability to - send resolved notifications for inhibited alerts #2754 Toggle ability to - send resolved notifications for inhibited alerts — component/notify
Feature Request: Allow CRUD operations via API on AlertManager #2756 Feature Request: Allow CRUD operations via API on AlertManager — component/config, component/api
V2 Matchers don't have ability to match #2766 V2 Matchers don't have ability to match — —
amtool: add support for stdin to config routes test #2776 amtool: add support for stdin to config routes test — —
Offer solution to test receivers #2845 Offer solution to test receivers — component/notify
AlertManager/Opsgenie - I can't template only by the responder type field #2887 AlertManager/Opsgenie - I can't template only by the responder type field — component/notify
Expose Alert data structure in alert fields #2911 Expose Alert data structure in alert fields — —
Add a metric with alertmanager_notifications_success_total #2913 Add a metric with alertmanager_notifications_success_total — —
Feature Request: Add in functions to convert variable types in templates #2920 Feature Request: Add in functions to convert variable types in templates — component/templating
Add google chat receiver #2940 Add google chat receiver — component/notify
Feature Request - Temporary Suspension of Alert Resolution for noisy and flapping alert #3048 Feature Request - Temporary Suspension of Alert Resolution for noisy and flapping alert — —
Proposal: allow alert manager to read from secret resources #3108 Proposal: allow alert manager to read from secret resources — —
[feature-request] Generate JSON and base64 encode to generate silence payload for Karma #3127 [feature-request] Generate JSON and base64 encode to generate silence payload for Karma — —
Missing CORS headers for DELETE in API v2 #3165 Missing CORS headers for DELETE in API v2 — —
Add dynamic duration variable for the repeat_interval #3186 Add dynamic duration variable for the repeat_interval — component/config
Send subsequent notifications to a slack thread instead of channel #3221 Send subsequent notifications to a slack thread instead of channel — component/notify
Proposal: support idempotency token for create silence api #3229 Proposal: support idempotency token for create silence api — component/api
Include status code label to the numTotalFailedNotifications for all notifiers #3231 Include status code label to the numTotalFailedNotifications for all notifiers — component/notify
Send image via Telegram notification #3258 Send image via Telegram notification — component/notify
Proposal: Paginate through listAlertGroups API #3297 Proposal: Paginate through listAlertGroups API — component/api
Add Pushsafer Notification Service #3325 Add Pushsafer Notification Service — component/notify
Feature request: Expiry for resolved alerts in long-running groups #3329 Feature request: Expiry for resolved alerts in long-running groups — component/notify
[feature-request] Use time_intervals in Silences function module #3339 [feature-request] Use time_intervals in Silences function module — —
Webhooks for firing alerts contain zeroed EndsAt #3351 Webhooks for firing alerts contain zeroed EndsAt — component/notify
Proposal: API spec for paginated version of getAlertGroups and getAlerts #3361 Proposal: API spec for paginated version of getAlertGroups and getAlerts — —
need option to fire all currently firing alerts after mute time interval is over. #3367 need option to fire all currently firing alerts after mute time interval is over. — —
Proposal: improve silence API #3379 Proposal: improve silence API — component/silences, component/api
Expired silences are not garbage collected after -data.retention has been changed from 2400h to 169h. #3382 Expired silences are not garbage collected after -data.retention has been changed from 2400h to 169h. — component/silences, component/nflog
amtool silence add shows unexpected behaviour interpreting matchers #3385 amtool silence add shows unexpected behaviour interpreting matchers — component/cli
Port number template functions from prometheus to alertmanager #3395 Port number template functions from prometheus to alertmanager — component/templating
Add num firing and resolved alerts to webhook payload #3396 Add num firing and resolved alerts to webhook payload — component/notify
Re-add group key to alert groups endpoint #3446 Re-add group key to alert groups endpoint — component/api
Add Date Time Picker to the Routing Tree Editor #3456 Add Date Time Picker to the Routing Tree Editor — component/ui
Notifications are not resilient to bad templates #3490 Notifications are not resilient to bad templates — —
[Feature] Additional validation to prevent extremely broad silences #3492 [Feature] Additional validation to prevent extremely broad silences — —
When there is a problem with one of the mailboxes, just skip it #3496 When there is a problem with one of the mailboxes, just skip it — —
[Feature] Support adaptive cards for MSTeams #3503 [Feature] Support adaptive cards for MSTeams — —
Add support for Huawei WeLink #3508 Add support for Huawei WeLink — —
Rename VictorOps to Splunk OnCall #3539 Rename VictorOps to Splunk OnCall — —
[Feature Request] Provide capability for DELETE /silences/<id> to really delete silence #3614 [Feature Request] Provide capability for DELETE /silences/<id> to really delete silence — —
OpsGenie cross-team deduplication - alias prefix #3639 OpsGenie cross-team deduplication - alias prefix — —
MSTeams integration message cards actions not supported #3642 MSTeams integration message cards actions not supported — component/notify
PagerDuty alerts are stuck if I mute the alert after it's firing but before it's resolved #3664 PagerDuty alerts are stuck if I mute the alert after it's firing but before it's resolved — —
Discord integration: no possibility to configure the webhook content object #3667 Discord integration: no possibility to configure the webhook content object — —
Add extensive templating helpers based on Masterminds/sprig #3726 Add extensive templating helpers based on Masterminds/sprig — —
Feature suggestion: Add Apprise library to support more notification services #3729 Feature suggestion: Add Apprise library to support more notification services — —
JSON output flag not implemented for amtool config routes test #3741 JSON output flag not implemented for amtool config routes test — component/config
Pass Go's time function into the alertmanager templates to be able to do time calculations #3762 Pass Go's time function into the alertmanager templates to be able to do time calculations — —
Feature request: Please sign your releases #3813 Feature request: Please sign your releases — —
Have a way to mute alert until it's resolved to receive a resolved notification once it's fixed #3825 Have a way to mute alert until it's resolved to receive a resolved notification once it's fixed — —
FR: sort matchers on silences page #3834 FR: sort matchers on silences page — component/ui
[UI] Feature: Localtime / Timezone option #3861 [UI] Feature: Localtime / Timezone option — component/ui
amtool does not have a way to specify a time to test with. #3889 amtool does not have a way to specify a time to test with. — component/config
Feature Request: Matrix Receiver #3919 Feature Request: Matrix Receiver — component/notify
Feature Request: Enable Sending AdaptiveCards to Webex for Enhanced Alert Notifications #3925 Feature Request: Enable Sending AdaptiveCards to Webex for Enhanced Alert Notifications — —
Inhibition rules evaluation performance on many target alerts #3932 Inhibition rules evaluation performance on many target alerts — —
[Feature Request] Add visibleTo field to OpsGenie integration #3953 [Feature Request] Add visibleTo field to OpsGenie integration — component/notify
[feature request] matchers to work with annotations #3957 [feature request] matchers to work with annotations — —
Feature request: Add group creation time to group_by hash #3959 Feature request: Add group creation time to group_by hash — —
Add docker tags for major/minor/patch versions #4004 Add docker tags for major/minor/patch versions — —
feature request - templated route matcher expressions #4032 feature request - templated route matcher expressions — —
Feature request: slack_configs.send_resolved a templatable field #4033 Feature request: slack_configs.send_resolved a templatable field — —
Feature Request: Convert the room_id string in the webex_config to a secret value. #4034 Feature Request: Convert the room_id string in the webex_config to a secret value. — —
Alerts that should be inhibited fire on Alertmanager reload/restart #4064 Alerts that should be inhibited fire on Alertmanager reload/restart — —
Make start of week configurable via configuration file/command line #4065 Make start of week configurable via configuration file/command line — —
[JIRA_CONFIG] Template fields alert manager --> jira integration does not work #4110 [JIRA_CONFIG] Template fields alert manager --> jira integration does not work — —
[FEATURE REQUEST] Alertmanager receiver for Suppressed Alerts #4120 [FEATURE REQUEST] Alertmanager receiver for Suppressed Alerts — component/silences
[FEATURE REQUEST] Alertmanager metrics for silenced alerts #4121 [FEATURE REQUEST] Alertmanager metrics for silenced alerts — component/silences
Add pagination for silences list #4138 Add pagination for silences list — component/silences
Feature Request: Support for Dynamic Merging or Patching of Routing Tree Subtrees #4151 Feature Request: Support for Dynamic Merging or Patching of Routing Tree Subtrees — —
Feature Request - Support Grafana's log format #4265 Feature Request - Support Grafana's log format — —
Feature Request - An extra button in the Alert.ele that directs to the https://<prom-url>/alerts?search=<ALERT_NAME> #4287 Feature Request - An extra button in the Alert.ele that directs to the https:///alerts?search=<ALERT_NAME> — component/ui
[UI]: Show creator and comment for silencer in the Silences list view for better context #4303 [UI]: Show creator and comment for silencer in the Silences list view for better context — component/ui
make inhibitions part of the gossip #4315 make inhibitions part of the gossip — component/notify
Email receiver OAuth support #4342 Email receiver OAuth support — component/notify
Silence count metric collection #4358 Silence count metric collection — —
Allow mutating alerts on pipeline stages #4361 Allow mutating alerts on pipeline stages — —
Load smtp_auth_username from file #4395 Load smtp_auth_username from file — component/notify
Variable Substitution in configuration #4435 Variable Substitution in configuration — —
Feature Request: Opsgenie/JSM Response logging #4441 Feature Request: Opsgenie/JSM Response logging — —
Feature request: Extend "new silence" form to pass creator as GET parameter #4442 Feature request: Extend "new silence" form to pass creator as GET parameter — —
Feature Request: Multiple Source Alerts For Inhibition Rules #4504 Feature Request: Multiple Source Alerts For Inhibition Rules — component/inhibition
Support for CSP hardening mechanisms (e.g., nonce/hash templates, report-only CSP, or optional flag to enable safe CSP by default) #4509 Support for CSP hardening mechanisms (e.g., nonce/hash templates, report-only CSP, or optional flag to enable safe CSP by default) — component/ui
Support for providing token_url as a file in http_config.oauth2 #4759 Support for providing token_url as a file in http_config.oauth2 — component/notify
#4873 Disable authentication for Management API — component/api
#4912 Add Alertmanager to the OSS-Fuzz project — —
#4959 Add authorization subsystem for Alertmanager — component/api
#4961 Support "go tool" for golanci-lint — —
Support receiver targeted silences #4962 Support receiver targeted silences — component/silences
Support rootly for notification #4969 Support rootly for notification — component/notify
Feature request: Add native Rootly notification integration #4988 Feature request: Add native Rootly notification integration — component/notify
#4989 Alertmanager exposes errors one by one — —
Add Global Receiver template support? #5002 Add Global Receiver template support? — —
Add SIGNL4 Receiver for mobile alerting #5003 Add SIGNL4 Receiver for mobile alerting — component/notify
Add batch routing test file support with inhibition assertions to amtool config routes test #5167 Add batch routing test file support with inhibition assertions to amtool config routes test — —
Feature request: native config auto-reload support, similar to Prometheus auto-reload-config #5197 Feature request: native config auto-reload support, similar to Prometheus auto-reload-config — component/config
#5198 Feature Request: Preserve EndsAt timestamp in Webhook payloads instead of resetting to zero value — —
Question (11)
Support (25)
Change / Proposal (1)
Friction (1)
Release / Packaging (1)
Uncategorized (91)
Appendix: Label Distribution
Label
Count
stale
114
kind/enhancement
105
component/notify
68
help wanted
35
component/ui
31
kind/support
26
component/config
18
component/silences
17
component/api
14
kind/documentation
12
component/high availability
12
kind/more-info-needed
12
component/templating
12
kind/bug
10
keepalive
9
kind/question
9
component/inhibition
4
discuss-in-meeting
3
component/cli
3
component/storage
3
kind/friction
2
component/dispatch
2
waiting-for-user-input
2
kind/cleanup
2
component/nflog
2
kind/release
1
kind/change
1
hacktoberfest
1
Methodology & Caveats
Data pulled live from the GitHub REST API (state=open); pull requests are excluded.
Categories are assigned from kind/* labels first, falling back to title-keyword inference only when no kind/* label exists.
Fixed / invalid flags are keyword heuristics over the issue body (not comments) and will contain false positives — treat as a triage shortlist, not a verdict.
Duplicate clusters are thematic groupings by title regex; members are related , not necessarily exact duplicates.
Stale = no update in >365 days.
Alertmanager Open Issues — Analysis Report
Executive Summary
component/notifyis the most-applied component label.Overview by Category
Overview by Component
Most Up-voted Issues (by reactions)
Triage Findings
Likely Already Fixed (1)
Issue body references a merge/fix that may already be released:
amtoolZSH completion is broken #3849amtoolZSH completion is broken — body indicates a fix/merge existsPotentially Invalid / No Longer Valid (13)
Candidates to close as not-a-bug, by-design, abandoned or obsolete:
auto-reload-config#5197 Feature request: native config auto-reload support, similar to Prometheusauto-reload-config— body suggests not-a-bug / by-design / out-of-scopePotential Duplicate / Overlapping Clusters (16)
Issues grouped by recurring theme — strong candidates for consolidation into a single tracking issue:
Templating helper / function requests (21)
timefunction into the alertmanager templates to be able to do time calculations #3762 Pass Go'stimefunction into the alertmanager templates to be able to do time calculationsSpurious / extra 'resolved' notifications (17)
Requests for new notification integrations (15)
Inhibition rule expressiveness (12)
amtool config routes test#5167 Add batch routing test file support with inhibition assertions toamtool config routes testDuplicate / repeated notifications in HA (10)
repeat_interval#2320 Repeated notifications sooner thanrepeat_intervalSlack threading / attachments / blocks (9)
send_resolvedwithjumpto resolved link #2382 Feature Request: Slacksend_resolvedwithjumpto resolved linkupdate_message: trueinslack_configs#5164 Panic error on config parsing whenupdate_message: trueinslack_configsOpsGenie / JSM behaviour (8)
visibleTofield to OpsGenie integration #3953 [Feature Request] AddvisibleTofield to OpsGenie integrationConfig auto-reload / reload behaviour (7)
auto-reload-config#5197 Feature request: native config auto-reload support, similar to Prometheusauto-reload-configJira integration (6)
repeat_interval timing complaints (6)
repeat_interval#2320 Repeated notifications sooner thanrepeat_intervalIPv6 / hostname binding & advertise-address (5)
--cluster.advertise-addressimplicitly expects an IP address and does not let one use a hostname #5111 clustering:--cluster.advertise-addressimplicitly expects an IP address and does not let one use a hostnameSilence creator/comment handling (4)
Pagination of alerts/silences/groups API (4)
Expired silences not garbage-collected (4)
'dropping messages because too many are queued' (3)
MSTeams adaptive cards / actions (3)
Blocked: Waiting for Reporter (14)
Tagged
kind/more-info-needed/waiting-for-user-input:Stale: No Activity > 1 Year (142)
Sorted by staleness (most stale first):
amtoolZSH completion is broken #3849amtoolZSH completion is broken — 445d idletimefunction into the alertmanager templates to be able to do time calculations #3762 Pass Go'stimefunction into the alertmanager templates to be able to do time calculations — 445d idlerepeat_interval#2320 Repeated notifications sooner thanrepeat_interval— 443d idlesend_resolvedwithjumpto resolved link #2382 Feature Request: Slacksend_resolvedwithjumpto resolved link — 167d idleweekdaystodays_of_weekin time interval definition #3212 Renameweekdaystodays_of_weekin time interval definition — 126d idleFull Issue Listing by Category
Bug (23)
amtoolZSH completion is broken #3849amtoolZSH completion is broken — —update_message: trueinslack_configs#5164 Panic error on config parsing whenupdate_message: trueinslack_configs— —Documentation (15)
--cluster.advertise-addressimplicitly expects an IP address and does not let one use a hostname #5111 clustering:--cluster.advertise-addressimplicitly expects an IP address and does not let one use a hostname — component/high availabilityCleanup / Tech-debt (2)
Feature / Enhancement (157)
send_resolvedwithjumpto resolved link #2382 Feature Request: Slacksend_resolvedwithjumpto resolved link — component/notifyconfig routes test#2776 amtool: add support for stdin toconfig routes test— —DELETE /silences/<id>to really delete silence #3614 [Feature Request] Provide capability forDELETE /silences/<id>to really delete silence — —timefunction into the alertmanager templates to be able to do time calculations #3762 Pass Go'stimefunction into the alertmanager templates to be able to do time calculations — —visibleTofield to OpsGenie integration #3953 [Feature Request] AddvisibleTofield to OpsGenie integration — component/notifyamtool config routes test#5167 Add batch routing test file support with inhibition assertions toamtool config routes test— —auto-reload-config#5197 Feature request: native config auto-reload support, similar to Prometheusauto-reload-config— component/configQuestion (11)
Support (25)
Change / Proposal (1)
Friction (1)
Release / Packaging (1)
Uncategorized (91)
repeat_interval#2320 Repeated notifications sooner thanrepeat_interval— —/-/readyreports ready before cluster gossip has settled — component/high availabilityweekdaystodays_of_weekin time interval definition #3212 Renameweekdaystodays_of_weekin time interval definition — component/configAppendix: Label Distribution
Methodology & Caveats
state=open); pull requests are excluded.kind/*labels first, falling back to title-keyword inference only when nokind/*label exists.