From 371bf58691551c368e27ffdba75778224df2cbab Mon Sep 17 00:00:00 2001 From: beautifulentropy Date: Fri, 5 Mar 2021 18:40:59 -0800 Subject: [PATCH] Fix metrics --- observer/monitor.go | 2 ++ observer/observer.go | 17 ++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/observer/monitor.go b/observer/monitor.go index ecbcbf381b0..f575827061a 100644 --- a/observer/monitor.go +++ b/observer/monitor.go @@ -12,6 +12,7 @@ import ( // describing a given oberver monitor type monitor struct { name string + valid bool period time.Duration probe string prober p.Prober @@ -50,6 +51,7 @@ func (m monitor) start() *time.Ticker { func (m monitor) New(c MonConf, log blog.Logger, prom prometheus.Registerer) *monitor { m.name = c.getName() + m.valid = c.Valid m.period = c.Period.Duration m.probe = c.Probe m.prober = c.getProber() diff --git a/observer/observer.go b/observer/observer.go index 02342c03694..2d4773e9e46 100644 --- a/observer/observer.go +++ b/observer/observer.go @@ -1,6 +1,8 @@ package observer import ( + "strconv" + blog "github.com/letsencrypt/boulder/log" // _ are probes imported to trigger init func _ "github.com/letsencrypt/boulder/observer/probes/dns" @@ -42,9 +44,12 @@ func (o Observer) Start() { // start each monitor for _, mon := range o.Monitors { - statTotalMonitors.WithLabelValues(mon.probe, mon.name).Inc() - // TODO(@beautifulentropy): track and restart unhealthy goroutines - go mon.start() + if mon.valid { + // TODO(@beautifulentropy): track and restart unhealthy goroutines + go mon.start() + } + statTotalMonitors.WithLabelValues( + mon.name, mon.probe, strconv.FormatBool(mon.valid)).Inc() } // run forever select {} @@ -54,10 +59,8 @@ func (o Observer) Start() { func New(c ObsConf, l blog.Logger, p prometheus.Registerer) *Observer { var monitors []*monitor for _, monConf := range c.MonConfs { - if monConf.Valid { - var mon monitor - monitors = append(monitors, mon.New(*monConf, l, p)) - } + var mon monitor + monitors = append(monitors, mon.New(*monConf, l, p)) } return &Observer{l, p, monitors} }