# 环境监测组件接入说明 ## 当前已接入能力 - `blackbox_exporter` - 负责 HTTP / TCP 探测 - `Spring Boot Actuator` - 负责 Java 应用健康状态 - `JMX Exporter` - 负责 JVM 指标 - `Vector` - 负责日志采集并推送到平台 ## 多机多节点约定 - `service_key` - 一个逻辑服务一份,例如 `java-demo-app` - `nodeKey` - 一个具体节点一份,例如 `java-demo-app-node-1` - `host` - 具体机器名或 IP - `clusterName` - 可选,用于标识集群 平台会按 `service_key + nodeKey` 聚合日志和监测结果。 ## 本地示例服务 示例工程目录: - `examples/java-demo-app` 默认端口: - 应用:`18080` - JMX Exporter:`19404` 关键接口: - `http://localhost:18080/actuator/health` - `http://localhost:18080/demo/hello` - `http://localhost:18080/demo/error?message=test` - `http://localhost:19404/metrics` ## 启动方式 启动 Java 示例服务: ```powershell powershell -ExecutionPolicy Bypass -File .\scripts\start-java-demo.ps1 ``` 启动 Vector: ```powershell powershell -ExecutionPolicy Bypass -File .\scripts\start-vector-java-demo.ps1 ``` ## Vector 到平台 Vector 配置文件: - `examples/java-demo-app/vector.yaml` 日志接收接口: - `POST /api/monitoring/logs/ingest` 鉴权头: - `x-monitoring-ingest-token` 默认令牌: - `sentai-monitor-ingest` ## 监测目标配置示例 Java hybrid 示例: ```json { "nodeKey": "java-demo-app-node-1", "host": "localhost", "javaCollectionMode": "hybrid", "javaHealthPath": "/actuator/health", "javaMetricsPath": "/actuator/metrics", "jmxExporterUrl": "http://localhost:19404", "jmxMetricsPath": "/metrics", "javaRequireHealthCheck": true } ``` HTTP blackbox 示例: ```json { "collectionMode": "blackbox", "blackboxBaseUrl": "http://localhost:9115", "blackboxModule": "http_2xx", "blackboxTarget": "http://localhost:3001/health" } ```