From 9ffc053e5a325e28fac40af9bf3792d8e1c9152f Mon Sep 17 00:00:00 2001 From: durpdur Date: Wed, 30 Jul 2025 14:05:38 -0700 Subject: [PATCH 1/2] Email monitoring added --- docker-compose.dev.yml | 2 +- .../provisioning/dashboards/email.dashboard.py | 17 +++++++++++++++++ grafana/provisioning/datasources/all.dev.yml | 2 +- prometheus/prometheus.federate.yml | 3 +++ 4 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 grafana/provisioning/dashboards/email.dashboard.py diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 22269a4..39ddbb8 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -42,7 +42,7 @@ services: volumes: - grafana-data:/var/lib/grafana ports: - - 3000:3000 + - 3001:3000 status-page: restart: unless-stopped build: diff --git a/grafana/provisioning/dashboards/email.dashboard.py b/grafana/provisioning/dashboards/email.dashboard.py new file mode 100644 index 0000000..2414488 --- /dev/null +++ b/grafana/provisioning/dashboards/email.dashboard.py @@ -0,0 +1,17 @@ +from wrapper import SceGrafanalibWrapper, ExpressionAndLegendPair +from grafanalib.formatunits import NUMBER_FORMAT + +wrapper = SceGrafanalibWrapper("Email Tracking") + +wrapper.DefineRow("Email Sent") +wrapper.AddPanel( + title="Total Emails Sent", + queries=[ + ExpressionAndLegendPair( + 'email_sent{type="verification"}', + 'Total Auth Emails' + ) + ], + unit=NUMBER_FORMAT, +) +dashboard = wrapper.Render() diff --git a/grafana/provisioning/datasources/all.dev.yml b/grafana/provisioning/datasources/all.dev.yml index 2017cf9..9a955ac 100644 --- a/grafana/provisioning/datasources/all.dev.yml +++ b/grafana/provisioning/datasources/all.dev.yml @@ -4,4 +4,4 @@ datasources: - name: Prometheus type: prometheus access: proxy - url: "http://one.sce/prometheus" + url: "http://prometheus-federated:9090" diff --git a/prometheus/prometheus.federate.yml b/prometheus/prometheus.federate.yml index 3257ac9..1100c9a 100644 --- a/prometheus/prometheus.federate.yml +++ b/prometheus/prometheus.federate.yml @@ -13,6 +13,9 @@ scrape_configs: - targets: - prometheus-clark-sshtunnel:9090 - prometheus-poweredge:9090 + - job_name: 'email-service' + static_configs: + - targets: ['host.docker.internal:8082'] alerting: alertmanagers: From 32d474ad37f2298950f69c862da4385a1915d762 Mon Sep 17 00:00:00 2001 From: durpdur Date: Tue, 5 Aug 2025 14:08:01 -0700 Subject: [PATCH 2/2] Added dashboard for current epoch time, refresh token expired --- .../dashboards/email.dashboard.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/grafana/provisioning/dashboards/email.dashboard.py b/grafana/provisioning/dashboards/email.dashboard.py index 2414488..bf991fc 100644 --- a/grafana/provisioning/dashboards/email.dashboard.py +++ b/grafana/provisioning/dashboards/email.dashboard.py @@ -3,6 +3,28 @@ wrapper = SceGrafanalibWrapper("Email Tracking") +wrapper.DefineRow("Current Time") +wrapper.AddPanel( + title="Current Epoch Time", + queries=[ + ExpressionAndLegendPair( + 'current_epoch_time{app="sce-core"}', + 'Current Epoch Time' + ) + ], +) + +wrapper.DefineRow("Refresh Token Expired") +wrapper.AddPanel( + title="Refresh Token Refreshed", + queries=[ + ExpressionAndLegendPair( + 'google_cloud_refresh_token_epoch{app="sce-core"}', + 'Refresh token expired and refreshed' + ) + ], +) + wrapper.DefineRow("Email Sent") wrapper.AddPanel( title="Total Emails Sent",