feat: Track the last time we updated the metrics
This commit is contained in:
parent
d4f74661d5
commit
4ceb2023db
14
main.go
14
main.go
@ -88,8 +88,9 @@ func (c *CertificateMetrics) checkTls() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func updateMetrics(metrics *[]CertificateMetrics) {
|
func updateMetrics(metrics *[]CertificateMetrics, lastUpdated prometheus.Gauge) {
|
||||||
log.Debugf("Updating metrics for %d domains...", len(*metrics))
|
log.Debugf("Updating metrics for %d domains...", len(*metrics))
|
||||||
|
lastUpdated.SetToCurrentTime()
|
||||||
for _, metric := range *metrics {
|
for _, metric := range *metrics {
|
||||||
metric.checkTls()
|
metric.checkTls()
|
||||||
}
|
}
|
||||||
@ -108,6 +109,13 @@ func run(ctx *cli.Context) error {
|
|||||||
|
|
||||||
// Setup metrics
|
// Setup metrics
|
||||||
registry := prometheus.NewRegistry()
|
registry := prometheus.NewRegistry()
|
||||||
|
lastUpdatedMetric := prometheus.NewGauge(
|
||||||
|
prometheus.GaugeOpts{
|
||||||
|
Name: "certs_status_last_updated",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
registry.MustRegister(lastUpdatedMetric)
|
||||||
|
|
||||||
metrics := make([]CertificateMetrics, 0)
|
metrics := make([]CertificateMetrics, 0)
|
||||||
for _, d := range domains {
|
for _, d := range domains {
|
||||||
log.Debugf("Parsing '%s'...", d)
|
log.Debugf("Parsing '%s'...", d)
|
||||||
@ -155,7 +163,7 @@ func run(ctx *cli.Context) error {
|
|||||||
gocron.DurationJob(24*time.Hour),
|
gocron.DurationJob(24*time.Hour),
|
||||||
gocron.NewTask(
|
gocron.NewTask(
|
||||||
func() {
|
func() {
|
||||||
updateMetrics(&metrics)
|
updateMetrics(&metrics, lastUpdatedMetric)
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
@ -166,7 +174,7 @@ func run(ctx *cli.Context) error {
|
|||||||
|
|
||||||
// Perform an initial run to populate the metrics
|
// Perform an initial run to populate the metrics
|
||||||
log.Info("Performing initial requests...")
|
log.Info("Performing initial requests...")
|
||||||
updateMetrics(&metrics)
|
updateMetrics(&metrics, lastUpdatedMetric)
|
||||||
log.Debug("Done")
|
log.Debug("Done")
|
||||||
|
|
||||||
http.Handle(
|
http.Handle(
|
||||||
|
Loading…
Reference in New Issue
Block a user