boulder icon indicating copy to clipboard operation
boulder copied to clipboard

Add CRL prober type to boulder-observer

Open Preston12321 opened this issue 3 years ago • 1 comments

Preston12321 avatar Aug 05 '22 23:08 Preston12321

This PR adds a new Prober type to boulder-observer that monitors CRL availability and publishes a few of its own metrics that enable monitoring of a few key CRL properties, namely:

  • obs_crl_this_update the Unix timestamp of the CRL's thisUpdate value
  • obs_crl_next_update the Unix timestamp of the CRL's nextUpdate value
  • obs_crl_revoked_cert_count the number of certificates listed in the CRL

Configuration: Each defined CRL monitor takes a single configuration option, a URL that specifies the location of the CRL to monitor.

Metrics: The three CRL-specific metrics described above are only published at /metrics if at least one valid monitor is defined in the config.yml. The metrics have a single label url that is set to the URL configured for the monitor

Note: In order for the new CRL Prober to be able to publish its own metrics, the probers package now defines a global map that keeps track of any custom metrics created by Probers. These Prober-specific metrics are then registered during the call to ObsConf.MakeObserver(). This change could be leveraged in the future to add more specific reporting to other Probers. The logic behind Prober-specific metrics here is that it's probably better to define alert conditions via Prometheus alerting rules, rather than binary success/failure conditions on the boulder-observer side

Preston12321 avatar Aug 08 '22 18:08 Preston12321

Splitting this up into two different PRs. First PR is #6290, and a follow-up PR will come if/when that one is merged

Preston12321 avatar Aug 11 '22 20:08 Preston12321