Skip to main content

Quick Setup

# One command to start monitoring
ultrabalancer dashboard --start
That’s it! This creates:

Dashboard Commands

# Start monitoring stack
ultrabalancer dashboard --start

# Check what's running
ultrabalancer dashboard --status

# View logs
ultrabalancer dashboard --logs

# Stop everything
ultrabalancer dashboard --stop

# Full reset (removes all data)
ultrabalancer dashboard --reset

Manual Setup

If you prefer Docker Compose:
docker-compose.yml
version: '3.8'

services:
  prometheus:
    image: prom/prometheus:v2.48.0
    ports:
      - "9090:9090"
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'

  grafana:
    image: grafana/grafana:10.2.0
    ports:
      - "3000:3000"
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=admin
prometheus.yml
scrape_configs:
  - job_name: 'ultrabalancer'
    static_configs:
      - targets: ['localhost:8080']
    metrics_path: /prometheus

Key Metrics

MetricDescription
ultrabalancer_requests_totalTotal requests
ultrabalancer_requests_failedFailed requests
ultrabalancer_response_time_secondsResponse time histogram
ultrabalancer_backend_healthyBackend health (1/0)
ultrabalancer_backend_active_connectionsConnections per backend

Common Queries

# Requests per second
rate(ultrabalancer_requests_total[5m])

# Error rate
rate(ultrabalancer_requests_failed[5m]) / rate(ultrabalancer_requests_total[5m])

# p95 latency
histogram_quantile(0.95, rate(ultrabalancer_response_time_seconds_bucket[5m]))

# Healthy backends
sum(ultrabalancer_backend_healthy)

Admin API Metrics

The admin API also provides backend metrics:
curl http://localhost:8080/admin/backends
Response:
{
  "success": true,
  "message": "Backends listed",
  "data": [
    {
      "address": "10.0.0.1:8080",
      "weight": 100,
      "healthy": true,
      "active_connections": 5,
      "total_requests": 1234
    }
  ]
}