# تنظیمات Prometheus — اسکرپ همهٔ سرویس‌های استک از شبکه‌های داخلی global: scrape_interval: 30s evaluation_interval: 30s alerting: alertmanagers: - static_configs: - targets: ["alertmanager:9093"] rule_files: - /etc/prometheus/alerts.yml scrape_configs: - job_name: prometheus static_configs: - targets: ["localhost:9090"] # بک‌اند FastAPI — /metrics با instrumentator (فقط از شبکه داخلی) - job_name: backend static_configs: - targets: ["backend:8000"] # پراکسی — RPS هر روتر، کدهای وضعیت، انقضای گواهی TLS - job_name: traefik static_configs: - targets: ["traefik:8080"] # منابع کانتینرها و میزبان - job_name: cadvisor static_configs: - targets: ["cadvisor:8080"] - job_name: node static_configs: - targets: ["node-exporter:9100"] - job_name: postgres static_configs: - targets: ["postgres-exporter:9187"] # سلامت مستقیم سرویس‌ها — up == 0 یعنی آن سرویس پایین است - job_name: frontend metrics_path: / static_configs: - targets: ["frontend:80"] - job_name: minio metrics_path: /minio/health/live static_configs: - targets: ["minio:9000"] - job_name: umami metrics_path: /api/heartbeat static_configs: - targets: ["umami:3000"] - job_name: chatbot metrics_path: /chat/healthz static_configs: - targets: ["chatbot:8000"] # پروب بیرون‌نگر — سلامت واقعی /api/health (بخش عمق: DB و MinIO را می‌آزماید) # و در تولید، آدرس عمومی سایت (SITE_URL از .env — پشتیبانی متغیر محیطی Prometheus) - job_name: blackbox-internal-health metrics_path: /probe params: module: [http_2xx] static_configs: - targets: - http://backend:8000/api/health relabel_configs: &blackbox_relabel - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: blackbox-exporter:9115 - job_name: blackbox-public metrics_path: /probe params: module: [http_2xx] static_configs: - targets: - ${SITE_URL:-http://frontend/} relabel_configs: *blackbox_relabel