# Prometheus Production Configuration # ============================================================================= # This configuration provides production-ready monitoring setup with # security, performance optimizations, and comprehensive service discovery # ============================================================================= global: scrape_interval: 15s evaluation_interval: 15s external_labels: monitor: 'meldestelle-prod' environment: 'production' # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: - "alert_rules.yml" - "recording_rules.yml" # Scrape configuration scrape_configs: # Prometheus itself - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] scrape_interval: 5s metrics_path: /metrics # Application metrics - job_name: 'meldestelle-api' static_configs: - targets: ['host.docker.internal:8081'] scrape_interval: 10s metrics_path: /actuator/prometheus basic_auth: username: 'admin' password: 'CHANGE_ME_METRICS_PASSWORD' # PostgreSQL metrics (using postgres_exporter) - job_name: 'postgres' static_configs: - targets: ['postgres-exporter:9187'] scrape_interval: 30s # Redis metrics (using redis_exporter) - job_name: 'redis' static_configs: - targets: ['redis-exporter:9121'] scrape_interval: 30s # Kafka metrics (using kafka_exporter) - job_name: 'kafka' static_configs: - targets: ['kafka-exporter:9308'] scrape_interval: 30s # Zookeeper metrics (using zookeeper_exporter) - job_name: 'zookeeper' static_configs: - targets: ['zookeeper-exporter:9141'] scrape_interval: 30s # Keycloak metrics - job_name: 'keycloak' static_configs: - targets: ['keycloak:8443'] scrape_interval: 30s metrics_path: /auth/realms/master/metrics scheme: https tls_config: insecure_skip_verify: true # Nginx metrics (using nginx-prometheus-exporter) - job_name: 'nginx' static_configs: - targets: ['nginx-exporter:9113'] scrape_interval: 30s # Node exporter for system metrics - job_name: 'node' static_configs: - targets: ['node-exporter:9100'] scrape_interval: 30s # cAdvisor for container metrics - job_name: 'cadvisor' static_configs: - targets: ['cadvisor:8080'] scrape_interval: 30s # Grafana metrics - job_name: 'grafana' static_configs: - targets: ['grafana:3000'] scrape_interval: 30s metrics_path: /metrics # Zipkin metrics - job_name: 'zipkin' static_configs: - targets: ['zipkin:9411'] scrape_interval: 30s metrics_path: /actuator/prometheus # Remote write configuration (for long-term storage) # remote_write: # - url: "https://your-remote-storage/api/v1/write" # basic_auth: # username: "your-username" # password: "your-password" # Storage configuration storage: tsdb: retention.time: 30d retention.size: 10GB wal-compression: true