global: scrape_interval: 15s evaluation_interval: 15s external_labels: monitor: 'photo-sharing' environment: 'production' alerting: alertmanagers: - static_configs: - targets: ['alertmanager:9093'] rule_files: - '/etc/prometheus/alerts/*.yml' scrape_configs: # Prometheus itself - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] # Node Exporter - job_name: 'node-exporter' dns_sd_configs: - names: - 'tasks.node-exporter' type: 'A' port: 9100 # Docker containers - job_name: 'cadvisor' dns_sd_configs: - names: - 'tasks.cadvisor' type: 'A' port: 8080 # Traefik - job_name: 'traefik' static_configs: - targets: ['traefik:8082'] # Photo Sharing Backend - job_name: 'photo-sharing-backend' dns_sd_configs: - names: - 'tasks.photo-sharing_backend' type: 'A' port: 3000 metrics_path: '/api/metrics' # PostgreSQL - job_name: 'postgres' static_configs: - targets: ['photo-sharing_db:9187'] # Loki - job_name: 'loki' static_configs: - targets: ['loki:3100'] # Grafana - job_name: 'grafana' static_configs: - targets: ['grafana:3000']