From 4c4bb33ad85f893bf976ab69bb0775137b13266d Mon Sep 17 00:00:00 2001 From: Sam Simpson Date: Wed, 3 Jan 2024 16:01:40 +0000 Subject: [PATCH] Add overdue scheduled publishing metric This is a replacement for the old overdue scheduled publishing alert in Icinga --- config/initializers/prometheus.rb | 4 +++- .../scheduled_publishing_overdue_collector.rb | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 lib/collectors/scheduled_publishing_overdue_collector.rb diff --git a/config/initializers/prometheus.rb b/config/initializers/prometheus.rb index 4b842d8413b..7c051946609 100644 --- a/config/initializers/prometheus.rb +++ b/config/initializers/prometheus.rb @@ -1,2 +1,4 @@ require "govuk_app_config/govuk_prometheus_exporter" -GovukPrometheusExporter.configure +require "collectors/scheduled_publishing_overdue_collector" + +GovukPrometheusExporter.configure(collectors: [Collectors::ScheduledPublishingOverdueCollector]) diff --git a/lib/collectors/scheduled_publishing_overdue_collector.rb b/lib/collectors/scheduled_publishing_overdue_collector.rb new file mode 100644 index 00000000000..c4760d0c4d9 --- /dev/null +++ b/lib/collectors/scheduled_publishing_overdue_collector.rb @@ -0,0 +1,14 @@ +module Collectors + class ScheduledPublishingOverdueCollector < PrometheusExporter::Server::CollectorBase + def type + "whitehall" + end + + def metrics + whitehall_scheduled_publishing_overdue = PrometheusExporter::Metric::Gauge.new("whitehall_scheduled_publishing_overdue", "Overdue scheduled publications") + whitehall_scheduled_publishing_overdue.observe(Edition.due_for_publication.count) + + [whitehall_scheduled_publishing_overdue] + end + end +end