managarten/docker/prometheus/prometheus.yml
Till JS 62d9eb1f2b fix(infra): update status page, prometheus, and cloudflared for unified app
All web app subdomains (chat.mana.how, todo.mana.how, etc.) were removed
when the unified app launched, but monitoring configs still referenced them.
Update blackbox targets to use mana.how/route URLs, remove stale API backend
routes from cloudflared, clean up CORS origins, and fix status page generator
to handle route-based URLs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 14:59:15 +02:00

336 lines
9.1 KiB
YAML

# 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']
# ============================================
# Core Services (Hono/Bun + Go)
# ============================================
# Auth Service
- job_name: 'mana-auth'
static_configs:
- targets: ['mana-auth:3001']
metrics_path: '/metrics'
scrape_interval: 30s
# Credits Service
- job_name: 'mana-credits'
static_configs:
- targets: ['mana-credits:3002']
metrics_path: '/metrics'
scrape_interval: 30s
# User Service
- job_name: 'mana-user'
static_configs:
- targets: ['mana-user:3062']
metrics_path: '/metrics'
scrape_interval: 30s
# Subscriptions Service
- job_name: 'mana-subscriptions'
static_configs:
- targets: ['mana-subscriptions:3063']
metrics_path: '/metrics'
scrape_interval: 30s
# Analytics Service
- job_name: 'mana-analytics'
static_configs:
- targets: ['mana-analytics:3064']
metrics_path: '/metrics'
scrape_interval: 30s
# ULoad Server
- job_name: 'uload-server'
static_configs:
- targets: ['mana-app-uload-server:3070']
metrics_path: '/metrics'
scrape_interval: 30s
# Memoro Server
- job_name: 'memoro-server'
static_configs:
- targets: ['mana-app-memoro-server:3015']
metrics_path: '/metrics'
scrape_interval: 30s
# NOTE: Individual app backends (chat, todo, calendar, contacts, storage,
# nutriphi, mukke, planta, picture) have been REMOVED — all migrated to
# local-first architecture. Only uload-server and memoro-server remain.
# 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 (Unified ManaCore app at mana.how + standalone games)
- job_name: 'blackbox-web'
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets:
# Unified ManaCore app (all modules as routes)
- https://mana.how
- https://mana.how/chat
- https://mana.how/todo
- https://mana.how/calendar
- https://mana.how/contacts
- https://mana.how/times
- https://mana.how/photos
- https://mana.how/picture
- https://mana.how/storage
- https://mana.how/presi
- https://mana.how/nutriphi
- https://mana.how/planta
- https://mana.how/calc
- https://mana.how/zitare
- https://mana.how/cards
- https://mana.how/skilltree
- https://mana.how/mukke
- https://mana.how/citycorners
- https://mana.how/memoro
- https://mana.how/moodlit
- https://mana.how/context
- https://mana.how/questions
- https://mana.how/uload
- https://mana.how/notes
- https://mana.how/habits
- https://mana.how/guides
- https://mana.how/inventar
- https://mana.how/playground
# Standalone games (separate containers)
- 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 (only services with running containers)
- job_name: 'blackbox-api'
metrics_path: /probe
params:
module: [http_health]
static_configs:
- targets:
- https://auth.mana.how/health
- https://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']