From 360dece7ad72cbe6f07acc8b14a1eade8fd35152 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Mierzwa?= Date: Fri, 30 Jun 2017 19:49:47 -0700 Subject: [PATCH] Disallow multiple Alertmanager instances with the same URI Unique uri is required for silence form result tracking --- alertmanager/upstream.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/alertmanager/upstream.go b/alertmanager/upstream.go index 178a70eee..4f18aa3f0 100644 --- a/alertmanager/upstream.go +++ b/alertmanager/upstream.go @@ -21,6 +21,12 @@ func NewAlertmanager(name, uri string, timeout time.Duration) error { return fmt.Errorf("Alertmanager upstream '%s' already exist", name) } + for _, am := range upstreams { + if am.URI == uri { + return fmt.Errorf("Alertmanager upstream '%s' already collects from '%s'", am.Name, am.URI) + } + } + // initialize metrics metricAlertmanagerErrors.With(prometheus.Labels{ "alertmanager": name,