Files
ewoooc/tests/test_prometheus_ai_automation_scrape.py
OoO 2b9991096b
All checks were successful
CD Pipeline / deploy (push) Successful in 1m46s
fix(monitoring): 移除失效 blackbox 目標
2026-04-30 14:39:33 +08:00

53 lines
1.9 KiB
Python

from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
def test_active_monitoring_prometheus_scrapes_momo_app_metrics():
config = (ROOT / "monitoring/prometheus.yml").read_text(encoding="utf-8")
assert "job_name: 'momo-app'" in config
assert "metrics_path: /metrics" in config
assert "targets: ['momo-pro-system:80']" in config
def test_monitoring_stack_connects_prometheus_to_momo_network():
compose = (ROOT / "monitoring/docker-compose.yml").read_text(encoding="utf-8")
assert "momo-network:" in compose
assert "external: true" in compose
assert "name: momo-network" in compose
def test_monitoring_cadvisor_uses_internal_network_only():
compose = (ROOT / "monitoring/docker-compose.yml").read_text(encoding="utf-8")
cadvisor_block = compose.split(" # Prometheus - 時序資料庫", 1)[0]
assert "container_name: cadvisor" in cadvisor_block
assert "ports:" not in cadvisor_block
assert "cadvisor:8080" in (ROOT / "monitoring/prometheus.yml").read_text(encoding="utf-8")
def test_monitoring_stack_declares_blackbox_exporter():
compose = (ROOT / "monitoring/docker-compose.yml").read_text(encoding="utf-8")
assert "blackbox-exporter:" in compose
assert "container_name: blackbox-exporter" in compose
assert "blackbox-exporter:9115" in (ROOT / "monitoring/prometheus.yml").read_text(encoding="utf-8")
def test_active_blackbox_targets_only_include_live_uat_momo_entrypoint():
config = (ROOT / "monitoring/prometheus.yml").read_text(encoding="utf-8")
assert "https://mo.wooo.work" in config
assert "https://momo.wooo.work" not in config
assert "https://wooo.work" not in config
def test_compose_prometheus_uses_container_dns_for_momo_app():
config = (ROOT / "docker/prometheus/prometheus.yml").read_text(encoding="utf-8")
assert "job_name: 'momo-app'" in config
assert "targets: ['momo-pro-system:80']" in config