Prometheus Integration

BetterDB exports metrics at /prometheus/metrics.

Anomaly Metrics

Metric Type Labels
betterdb_anomaly_events_total Counter severity, metric_type, anomaly_type
betterdb_anomaly_events_current Gauge severity
betterdb_anomaly_by_severity Gauge severity
betterdb_anomaly_by_metric Gauge metric_type
betterdb_correlated_groups_total Counter pattern, severity
betterdb_correlated_groups_by_pattern Gauge pattern
betterdb_anomaly_buffer_ready Gauge metric_type
betterdb_anomaly_buffer_mean Gauge metric_type
betterdb_anomaly_buffer_stddev Gauge metric_type

Scrape Config

scrape_configs:
  - job_name: 'betterdb'
    static_configs:
      - targets: ['localhost:3001']
    metrics_path: '/prometheus/metrics'
    scrape_interval: 15s

Useful Queries

# Anomaly rate
rate(betterdb_anomaly_events_total[5m])

# Critical anomalies in last hour
betterdb_anomaly_by_severity{severity="critical"}

# Detection system readiness
sum(betterdb_anomaly_buffer_ready) / count(betterdb_anomaly_buffer_ready) * 100

# Memory pressure incidents
increase(betterdb_correlated_groups_total{pattern="memory_pressure"}[1h])

Alert Rules

See docs/alertmanager-rules.yml for ready-to-use Alertmanager rules.

Configuration

The summary update interval can be configured via ANOMALY_PROMETHEUS_INTERVAL_MS (default: 30000ms).