Some checks failed
CI / Unit & Component Tests (pull_request) Successful in 3m3s
CI / OCR Service Tests (pull_request) Successful in 20s
CI / Backend Unit Tests (pull_request) Failing after 29s
CI / fail2ban Regex (pull_request) Successful in 40s
CI / Compose Bucket Idempotency (pull_request) Successful in 57s
Three root causes confirmed via live server investigation (issue #604): 1. ManagementWebSecurityAutoConfiguration applied HTTP Basic auth to the management port (8081), causing Prometheus to receive 401 HTML responses instead of metrics. Excluded the auto-config — the Docker network (archiv-net) provides the security boundary for this internal port. 2. promtail-config.yml had no `job` relabel rule. Grafana's Loki dashboards query {job="$app"} which matched nothing; logs were in Loki under compose_service but invisible to every dashboard panel. 3. prometheus.yml had a stale comment claiming the spring-boot target would be DOWN until micrometer-registry-prometheus was added — it has been present in pom.xml for some time. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
27 lines
770 B
YAML
27 lines
770 B
YAML
global:
|
|
scrape_interval: 15s
|
|
evaluation_interval: 15s
|
|
|
|
scrape_configs:
|
|
- job_name: node
|
|
static_configs:
|
|
- targets: ['node-exporter:9100']
|
|
|
|
- job_name: cadvisor
|
|
static_configs:
|
|
- targets: ['cadvisor:8080']
|
|
|
|
- job_name: spring-boot
|
|
metrics_path: /actuator/prometheus
|
|
static_configs:
|
|
# Uses the Docker service name (not container_name) for reliable DNS resolution.
|
|
- targets: ['backend:8081']
|
|
|
|
- job_name: ocr-service
|
|
metrics_path: /metrics
|
|
static_configs:
|
|
# TODO: remove or add prometheus-client to ocr-service.
|
|
# The Python OCR service does not currently expose Prometheus metrics.
|
|
# This target will show as DOWN until prometheus-client is added to ocr-service.
|
|
- targets: ['ocr:8000']
|