export bao client-cert not_before/not_after gauges and alert past 80% of lifetime
This commit is contained in:
parent
daea7a56be
commit
078696aaee
1 changed files with 604 additions and 53 deletions
|
|
@ -171,8 +171,9 @@ async fn main() -> Result<()> {
|
|||
)
|
||||
.ok()
|
||||
.map(|c| Box::new(c) as Box<dyn opentelemetry_http::HttpClient>);
|
||||
let _jobq_metrics_provider =
|
||||
let jobq_metrics_provider =
|
||||
hive_jobq_metrics::spawn_exporter(Arc::clone(&jobq), "swarm-controller", jobq_http_client);
|
||||
register_cert_gauges(jobq_metrics_provider.as_ref());
|
||||
|
||||
let webhook_secret = load_webhook_secret();
|
||||
|
||||
|
|
@ -243,6 +244,16 @@ async fn main() -> Result<()> {
|
|||
serve(listener, state).await
|
||||
}
|
||||
|
||||
/// Registers the `bao.client_cert.*` gauges for the controller's own store
|
||||
/// certificate (`controller.pem`) on the jobq exporter, the one provider built
|
||||
/// at startup rather than on first use. Nothing when no exporter is configured.
|
||||
fn register_cert_gauges(provider: Option<&opentelemetry_sdk::metrics::SdkMeterProvider>) {
|
||||
use opentelemetry::metrics::MeterProvider as _;
|
||||
if let Some(provider) = provider {
|
||||
swarm_cert_metrics::register(&provider.meter("hyperhive.bao_client_cert"), "controller");
|
||||
}
|
||||
}
|
||||
|
||||
/// Start taking the queued review requests and answering the notification
|
||||
/// router's, then serve `state` on `listener`.
|
||||
async fn serve(listener: tokio::net::UnixListener, state: AppState) -> Result<()> {
|
||||
|
|
|
|||
Loading…
Reference in a new issue