# ManaCore Prometheus Configuration # Scrapes metrics from all services global: scrape_interval: 15s evaluation_interval: 15s # Load alerting rules rule_files: - /etc/prometheus/alerts.yml # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: ['alertmanager:9093'] scrape_configs: # Prometheus self-monitoring - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] # Host system metrics via node-exporter - job_name: 'node' static_configs: - targets: ['node-exporter:9100'] relabel_configs: - source_labels: [__address__] target_label: instance replacement: 'mac-mini' # Docker container metrics via cAdvisor - job_name: 'cadvisor' static_configs: - targets: ['cadvisor:8080'] # PostgreSQL metrics - job_name: 'postgres' static_configs: - targets: ['postgres-exporter:9187'] # Redis metrics - job_name: 'redis' static_configs: - targets: ['redis-exporter:9121'] # ============================================ # Application Backends (after /metrics added) # ============================================ # Auth Service - job_name: 'mana-auth' static_configs: - targets: ['mana-auth:3001'] metrics_path: '/metrics' scrape_interval: 30s # Chat Backend - job_name: 'chat-backend' static_configs: - targets: ['chat-backend:3030'] metrics_path: '/metrics' scrape_interval: 30s # Todo Backend - job_name: 'todo-backend' static_configs: - targets: ['todo-backend:3031'] metrics_path: '/metrics' scrape_interval: 30s # Calendar Backend - job_name: 'calendar-backend' static_configs: - targets: ['calendar-backend:3032'] metrics_path: '/metrics' scrape_interval: 30s # Clock Backend: REMOVED — migrated to local-first # Contacts Backend - job_name: 'contacts-backend' static_configs: - targets: ['contacts-backend:3033'] metrics_path: '/metrics' scrape_interval: 30s # Storage Backend - job_name: 'storage-backend' static_configs: - targets: ['storage-backend:3034'] metrics_path: '/metrics' scrape_interval: 30s # Presi Backend: REMOVED — replaced by Hono server # Nutriphi Backend - job_name: 'nutriphi-backend' static_configs: - targets: ['nutriphi-backend:3038'] metrics_path: '/metrics' scrape_interval: 30s # SkillTree Backend: REMOVED — migrated to local-first # Photos Backend: REMOVED — migrated to local-first + direct mana-media # CityCorners Backend: REMOVED — migrated to local-first # Zitare Backend: REMOVED — migrated to local-first # Mukke Backend - job_name: 'mukke-backend' static_configs: - targets: ['mukke-backend:3037'] metrics_path: '/metrics' scrape_interval: 30s # Planta Backend - job_name: 'planta-backend' static_configs: - targets: ['planta-backend:3039'] metrics_path: '/metrics' scrape_interval: 30s # Picture Backend - job_name: 'picture-backend' static_configs: - targets: ['picture-backend:3035'] metrics_path: '/metrics' scrape_interval: 30s # ============================================ # Core Services # ============================================ # Mana LLM Gateway (Ollama + Google Fallback) - job_name: 'mana-llm' static_configs: - targets: ['mana-llm:3020'] metrics_path: '/metrics' scrape_interval: 15s # Mana Search Service - job_name: 'mana-search' static_configs: - targets: ['mana-search:3012'] metrics_path: '/metrics' scrape_interval: 30s # Mana Media Service - job_name: 'mana-media' static_configs: - targets: ['mana-media:3011'] metrics_path: '/metrics' scrape_interval: 30s # Matrix Synapse - job_name: 'synapse' static_configs: - targets: ['synapse:9002'] metrics_path: '/_synapse/metrics' scrape_interval: 30s # ============================================ # GPU Server (Windows PC, LAN: 192.168.178.11) # ============================================ # GPU: LLM Gateway - job_name: 'gpu-llm' static_configs: - targets: ['192.168.178.11:3025'] labels: instance: 'gpu-server' metrics_path: '/metrics' scrape_interval: 15s # GPU: Speech-to-Text (WhisperX) - job_name: 'gpu-stt' static_configs: - targets: ['192.168.178.11:3020'] labels: instance: 'gpu-server' metrics_path: '/health' scrape_interval: 30s # GPU: Text-to-Speech - job_name: 'gpu-tts' static_configs: - targets: ['192.168.178.11:3022'] labels: instance: 'gpu-server' metrics_path: '/health' scrape_interval: 30s # GPU: Image Generation (FLUX.2) - job_name: 'gpu-image-gen' static_configs: - targets: ['192.168.178.11:3023'] labels: instance: 'gpu-server' metrics_path: '/health' scrape_interval: 30s # GPU: Video Generation (LTX-Video) - job_name: 'gpu-video-gen' static_configs: - targets: ['192.168.178.11:3026'] labels: instance: 'gpu-server' metrics_path: '/health' scrape_interval: 30s # ============================================ # Go Infrastructure Services # ============================================ # API Gateway (Go) - job_name: 'mana-api-gateway' static_configs: - targets: ['mana-api-gateway:3016'] metrics_path: '/metrics' scrape_interval: 15s # Matrix Bot (Go) — consolidated 21 bots - job_name: 'mana-matrix-bot' static_configs: - targets: ['mana-matrix-bot:4000'] metrics_path: '/metrics' scrape_interval: 30s # Sync Server (Go) — local-first data sync - job_name: 'mana-sync' static_configs: - targets: ['mana-core-sync:3051'] metrics_path: '/metrics' scrape_interval: 30s # Notification Service (Go) — email, push, matrix, webhook - job_name: 'mana-notify' static_configs: - targets: ['mana-core-notify:3013'] metrics_path: '/metrics' scrape_interval: 30s # Crawler Service (Go) - job_name: 'mana-crawler' static_configs: - targets: ['mana-crawler:3014'] metrics_path: '/metrics' scrape_interval: 30s # ============================================ # Blackbox Exporter — HTTP Uptime Probes # ============================================ # Web Apps (SvelteKit frontends) - job_name: 'blackbox-web' metrics_path: /probe params: module: [http_2xx] static_configs: - targets: - https://mana.how - https://chat.mana.how - https://todo.mana.how - https://calendar.mana.how - https://contacts.mana.how - https://clock.mana.how - https://photos.mana.how - https://picture.mana.how - https://storage.mana.how - https://presi.mana.how - https://nutriphi.mana.how - https://planta.mana.how - https://calc.mana.how - https://zitare.mana.how - https://cards.mana.how - https://skilltree.mana.how - https://mukke.mana.how - https://citycorners.mana.how - https://playground.mana.how - https://whopxl.mana.how - https://arcade.mana.how relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: blackbox-exporter:9115 # API Health Endpoints - job_name: 'blackbox-api' metrics_path: /probe params: module: [http_health] static_configs: - targets: - https://auth.mana.how/health - https://api.mana.how/health - https://chat-api.mana.how/health - https://todo-api.mana.how/health - https://calendar-api.mana.how/health - https://contacts-api.mana.how/health - https://storage-api.mana.how/health - https://nutriphi-api.mana.how/health - https://planta-api.mana.how/health - https://picture-api.mana.how/health relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: blackbox-exporter:9115 # Infrastructure & Monitoring Tools - job_name: 'blackbox-infra' metrics_path: /probe params: module: [http_2xx] static_configs: - targets: - https://git.mana.how - https://grafana.mana.how - https://stats.mana.how - https://glitchtip.mana.how - https://matrix.mana.how - https://element.mana.how relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: blackbox-exporter:9115 # GPU Server Services - job_name: 'blackbox-gpu' metrics_path: /probe params: module: [http_2xx] static_configs: - targets: - https://gpu-ollama.mana.how - https://gpu-stt.mana.how - https://gpu-tts.mana.how - https://gpu-img.mana.how - https://gpu-video.mana.how relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ replacement: blackbox-exporter:9115 # ============================================ # Pushgateway (deploy metrics, batch jobs) # ============================================ - job_name: 'pushgateway' honor_labels: true static_configs: - targets: ['pushgateway:9091']