From 8406a82803344fcf1284d72300cf69f54d5b5925 Mon Sep 17 00:00:00 2001 From: Rasmus Dahlberg Date: Sat, 4 Jan 2025 14:22:20 +0100 Subject: prometheus: Add drafty error counter Needs tuning, too noisy right now. --- internal/manager/manager.go | 4 ++++ internal/metrics/metrics.go | 13 ++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/internal/manager/manager.go b/internal/manager/manager.go index 55e72c0..e302b4f 100644 --- a/internal/manager/manager.go +++ b/internal/manager/manager.go @@ -209,6 +209,9 @@ func (mgr *Manager) monitorJob(msg monitor.Event) error { return err } mgr.Metrics.LogState(msg.State) + for _, err := range msg.Errors { + mgr.errorJob(err) + } return nil } @@ -226,5 +229,6 @@ func (mgr *Manager) alertJob() error { func (mgr *Manager) errorJob(err error) error { mgr.Logger.Debugf("received error: %v\n", err) + mgr.Metrics.CountError() return nil } diff --git a/internal/metrics/metrics.go b/internal/metrics/metrics.go index 113d28c..17e9cce 100644 --- a/internal/metrics/metrics.go +++ b/internal/metrics/metrics.go @@ -11,6 +11,7 @@ type Metrics struct { logIndex *prometheus.GaugeVec logTimestamp *prometheus.GaugeVec certificateAlert *prometheus.GaugeVec + errorCounter prometheus.Counter } func NewMetrics(registry *prometheus.Registry) *Metrics { @@ -43,9 +44,15 @@ func NewMetrics(registry *prometheus.Registry) *Metrics { }, []string{"stored_at"}, ), + errorCounter: prometheus.NewCounter( + prometheus.CounterOpts{ + Name: "silentct_error_counter", + Help: "The number of errors propagated to the main loop.", + }, + ), } - registry.MustRegister(m.logSize, m.logIndex, m.logTimestamp, m.certificateAlert) + registry.MustRegister(m.logSize, m.logIndex, m.logTimestamp, m.certificateAlert, m.errorCounter) return m } @@ -69,3 +76,7 @@ func (m *Metrics) CertificateAlert(alerts []index.CertificateInfo) { m.certificateAlert.WithLabelValues(alert.StoredAt).Set(float64(alert.ObservedAt.Unix())) } } + +func (m *Metrics) CountError() { + m.errorCounter.Inc() +} -- cgit v1.2.3