From 6166fdd4740e57cdbee59834ce26cb962caefc15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Mierzwa?= Date: Wed, 5 Jul 2017 18:26:50 -0700 Subject: [PATCH] Expose number of time unsee collected alerts from Alertmanager API This way one can alert if unsee stops collecting alerts. --- alertmanager/metrics.go | 8 ++++++++ alertmanager/models.go | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/alertmanager/metrics.go b/alertmanager/metrics.go index fc409c25f..f014888ee 100644 --- a/alertmanager/metrics.go +++ b/alertmanager/metrics.go @@ -24,10 +24,18 @@ var ( }, []string{"alertmanager", "endpoint"}, ) + metricCollectRuns = prometheus.NewGaugeVec( + prometheus.GaugeOpts{ + Name: "unsee_collect_cycles_total", + Help: "Total number of alert collection cycles run", + }, + []string{"alertmanager"}, + ) ) func init() { prometheus.MustRegister(metricAlerts) prometheus.MustRegister(metricAlertGroups) prometheus.MustRegister(metricAlertmanagerErrors) + prometheus.MustRegister(metricCollectRuns) } diff --git a/alertmanager/models.go b/alertmanager/models.go index 026767923..6ccae8364 100644 --- a/alertmanager/models.go +++ b/alertmanager/models.go @@ -264,6 +264,10 @@ func (am *Alertmanager) Pull() error { return err } + metricCollectRuns.With(prometheus.Labels{ + "alertmanager": am.Name, + }).Inc() + am.lastError = "" return nil }