← All Projects

Custom Services

Built 5+ Python services to fill monitoring gaps - exporters, automation, and data collection where off-the-shelf solutions didn't exist

PythonPrometheusKubernetesDockerRancher FleetVictoriaLogs

Architecture

The Problem

The monitoring stack needed metrics and automation that no existing tool covered. Business APIs, DNS health checks, dynamic metric generation, automated health discovery, alert silencing based on business state. Each gap got its own service.

Exporters

  • DNS Health Exporter - reads Cloud DNS zones and exposes health check status per zone as Prometheus metrics
  • Dynamic Metrics Exporter - creates new metrics from label values of existing metrics via YAML config with hot-reload. For example, extracting Kubernetes node version labels into dedicated version tracking metrics
  • Environment Status Exporter - scrapes a reporting API to expose which environments are live, active, or in demo mode. This data feeds into alerting and the status dashboard

Data Collection

  • Health Check Exporter - auto-discovers services via Kubernetes API across all namespaces, runs concurrent health checks, and pushes structured results to VictoriaLogs. The data source for the Status Dashboard

Automation

  • Silence Manager - checks environment business state from an API. If an environment has no live activity, it automatically creates silences in AlertManager to prevent false alerts. Part of the Alert Pipeline

Deployment

All services follow the same pattern - containerized with Docker, deployed via Rancher Fleet, output consumed by VictoriaMetrics or VictoriaLogs. Each one solves a specific problem that couldn't be solved with configuration alone.

Deep dive