global: scrape_interval: {{ prometheus_scrape_interval }} evaluation_interval: {{ prometheus_evaluation_interval }} alerting: alertmanagers: - static_configs: - targets: - {{ alertmanager_host }}:{{ alertmanager_port }} rule_files: - "alert_rules.yml" scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'node-exporter' static_configs: - targets: {{ prometheus_targets | to_json }} - job_name: 'alertmanager' static_configs: - targets: ['{{ alertmanager_host }}:{{ alertmanager_port }}'] - job_name: 'haproxy' static_configs: - targets: ['titania.incus:8404'] metrics_path: '/metrics' - job_name: 'gitea' static_configs: - targets: ['oberon.incus:22084'] metrics_path: '/metrics' authorization: type: Bearer credentials: '{{ vault_gitea_metrics_token }}' - job_name: 'casdoor' static_configs: - targets: ['{{ casdoor_metrics_host }}:{{ casdoor_metrics_port }}'] metrics_path: '/api/metrics' params: accessKey: ['{{ casdoor_prometheus_access_key }}'] accessSecret: ['{{ casdoor_prometheus_access_secret }}'] - job_name: 'daedalus' static_configs: - targets: ['{{ daedalus_metrics_host }}:{{ daedalus_metrics_port }}'] metrics_path: '/metrics' scrape_interval: 15s # Mnemosyne — single /metrics endpoint on the app container serves both # django-prometheus HTTP/Celery metrics and the MCP server's tool-call # counters (the mcp_server.metrics module registers into the same # prometheus_client process registry on the Django side). The mcp # container itself does not expose /metrics; run 'em on the WSGI side. - job_name: 'mnemosyne' static_configs: - targets: ['{{ mnemosyne_metrics_host }}:{{ mnemosyne_metrics_port }}'] metrics_path: '/metrics' scrape_interval: 15s # Neo4j — stscoundrel/neo4j-apoc-exporter sidecar connects to the local # Neo4j over Bolt and exposes apoc.monitor.* (tx/ids/store) plus JVM # metrics on the standard metrics port (22094). Both Ariel (LLM memory # via neo4j-cypher MCP) and Umbriel (Mnemosyne graph+vector DB) use the # same port — they are differentiated by hostname only. - job_name: 'neo4j' static_configs: - targets: - 'ariel.incus:22094' - 'umbriel.incus:22094' metrics_path: '/metrics' scrape_interval: 15s # Red Panda Approved Prometheus Configuration