Multiple receivers hide other errors in configuration
Author: SoloJacobsCreated Feb 10, 2026Updated Sep 1, 2026
What did you do?
./amtool check-config config/testdata/conf.multi-bad-receivers.yml
Checking 'config/testdata/conf.multi-bad-receivers.yml' FAILED: no global SMTP from setWhat did you expect to see?
Errors from all three receivers.
What did you see instead? Under which circumstances?
Only a single error.
System information
No response
Alertmanager version
Alertmanager configuration file
global:
resolve_timeout: 5m
receivers:
# RECEIVER 1: Perfectly valid
- name: 'team-alpha-webhook'
webhook_configs:
- url: 'https://webhook.alpha.com/alerts'
# RECEIVER 2: Broken Email Config (The "Independent Loading" Issue)
- name: 'team-beta-email'
email_configs:
- to: '[email protected]'
# ERROR A: Mandatory field 'from' is missing (if not in global)
# ERROR B: Invalid smarthost port
smarthost: 'smtp.example.com:not-a-number'
# RECEIVER 3: Broken PagerDuty Config (The "Early Return" Issue)
- name: 'team-gamma-pagerduty'
pagerduty_configs:
- service_key: '' # ERROR C: Required field empty
# If the code returns early at ERROR C, it never sees ERROR D below
routing_key: 'invalid-key-format-123' # ERROR D: Validation logic
route:
group_by: ['alertname']
receiver: 'team-alpha-webhook'
routes:
- match:
team: 'beta'
receiver: 'team-beta-email'Prometheus version
Prometheus configuration file
Logs
Source: prometheus/alertmanager