68 lines
1.4 KiB
YAML
68 lines
1.4 KiB
YAML
![]() |
global:
|
||
|
scrape_interval: 15s
|
||
|
evaluation_interval: 15s
|
||
|
|
||
|
rule_files:
|
||
|
- "rules/*.yml"
|
||
|
|
||
|
scrape_configs:
|
||
|
# Rustelo application metrics
|
||
|
- job_name: 'rustelo-app'
|
||
|
static_configs:
|
||
|
- targets: ['app:3030']
|
||
|
scrape_interval: 15s
|
||
|
metrics_path: '/metrics'
|
||
|
scheme: http
|
||
|
scrape_timeout: 10s
|
||
|
|
||
|
# Prometheus self-monitoring
|
||
|
- job_name: 'prometheus'
|
||
|
static_configs:
|
||
|
- targets: ['localhost:9090']
|
||
|
|
||
|
# Node exporter for system metrics (optional)
|
||
|
- job_name: 'node-exporter'
|
||
|
static_configs:
|
||
|
- targets: ['node-exporter:9100']
|
||
|
scrape_interval: 15s
|
||
|
|
||
|
# PostgreSQL metrics (optional)
|
||
|
- job_name: 'postgres-exporter'
|
||
|
static_configs:
|
||
|
- targets: ['postgres-exporter:9187']
|
||
|
scrape_interval: 30s
|
||
|
|
||
|
# Redis metrics (optional)
|
||
|
- job_name: 'redis-exporter'
|
||
|
static_configs:
|
||
|
- targets: ['redis-exporter:9121']
|
||
|
scrape_interval: 30s
|
||
|
|
||
|
# Nginx metrics (optional)
|
||
|
- job_name: 'nginx-exporter'
|
||
|
static_configs:
|
||
|
- targets: ['nginx-exporter:9113']
|
||
|
scrape_interval: 30s
|
||
|
|
||
|
# Custom health check endpoint
|
||
|
- job_name: 'rustelo-health'
|
||
|
static_configs:
|
||
|
- targets: ['app:3030']
|
||
|
scrape_interval: 30s
|
||
|
metrics_path: '/health'
|
||
|
scheme: http
|
||
|
scrape_timeout: 10s
|
||
|
|
||
|
alerting:
|
||
|
alertmanagers:
|
||
|
- static_configs:
|
||
|
- targets:
|
||
|
- alertmanager:9093
|
||
|
|
||
|
# Storage configuration
|
||
|
storage:
|
||
|
tsdb:
|
||
|
path: /prometheus
|
||
|
retention.time: 30d
|
||
|
retention.size: 10GB
|