← bsozudogru.com

Pulse Sight

Project · 2025

Enterprise monitoring tools assume you have a dedicated SRE team. When your engineering team is small, you need something that gives you the full picture without the configuration overhead. Pulse Sight ingests Grafana metrics, aggregates time-series data with automatic rollups, and renders interactive dashboards with RBAC, alerts, and capacity forecasting.


Built for a production GCP platform, Pulse Sight gives engineering teams a single pane of glass for infrastructure health, application performance, cost tracking, and capacity planning.

The system polls a Grafana instance on a configurable schedule, normalizes metrics through a mapping layer, and persists them to a local database with automatic rollup aggregation (1-minute to 5-minute to 1-hour granularity) and retention policies. Grafana's data model assumes you want to query everything in real-time. For a dashboard that people check a few times a day, pre-aggregated rollups are a better tradeoff.

Includes RBAC with three roles (super admin, colleague, intern), OAuth authentication via Microsoft Entra ID, threshold-based email alerts, and region-scoped access control. Deployed via Docker Compose with Terraform-managed GCP infrastructure, Nginx reverse proxy, and SSL termination.


Architecture

Four layers: data ingestion from Grafana via configurable metric mapping, a storage layer with automatic rollup aggregation, a FastAPI backend with 15 route modules and background scheduling, and a React frontend with 45+ widget components.

DATA INGESTION Grafana / Prometheus Metric Mapping Normalizer STORAGE & AGGREGATION SQLite / PostgreSQL + Rollups (1min, 5min, 1hr) API LAYER FastAPI (15 modules) + APScheduler + Cache + RBAC FRONTEND React + TypeScript (7 pages, 45+ widgets) REST

Dashboard Pages

Seven pages, each focused on a distinct operational concern.

Page Purpose
Overview System health at a glance, key metrics, service status
Performance API response times, database queries, BigQuery performance, connection pool health
Costs GCP billing breakdown, cost trends, budget status, SKU analysis, optimization opportunities
Alerts Threshold-based alerts, email notifications, alert history
Capacity Planning Resource forecasting, scaling recommendations, risk assessment
Customer Monitoring Per-customer metrics, data source coverage, activity logs, infrastructure usage
Admin User management, RBAC, region assignments, cache management, scheduler jobs

Widgets

The widget library contains 45+ specialized components, each handling its own data fetching, loading states, and error boundaries. Key categories:

Category Widgets
Infrastructure CPU, memory, disk, network utilization with breakdown views
Performance API endpoints, BigQuery queries, slow query detection, connection pool health
Cost Budget status, cost forecast, hourly heatmap, SKU analyzer, optimization opportunities
Customer Data source coverage map, activity logs, resource breakdown, budget overview
Capacity Forecast projections, scaling recommendations, risk assessment
System Service status, scheduler jobs, data integrity checks