跳转到内容

可观测性

codingas.com 内建 OpenTelemetry 标准追踪,每个请求携带 Trace ID 贯穿全链路,并暴露 Prometheus 指标与结构化日志。

网关通过 Spring Boot Actuator 暴露运维端点:

端点说明
/actuator/health健康检查
/actuator/health/liveness存活探针
/actuator/health/readiness就绪探针(含 dbproviderRegistry
/actuator/prometheusPrometheus 指标抓取
/actuator/metrics指标查询
/actuator/traces追踪查询
Terminal window
curl http://localhost:8080/actuator/health
curl http://localhost:8080/actuator/prometheus

自定义业务指标(Micrometer):

指标说明
gateway.failover.triggered渠道故障转移触发次数
gateway.failover.exhausted故障转移候选全部耗尽次数
gateway.retry.exhausted上游重试耗尽次数

就绪探针包含 dbproviderRegistry,启动时验证数据源与 Provider 注册表。Provider 健康配置:stale-threshold=300sfailure-threshold=3success-threshold=2probe-timeout=10s

通过标准 OpenTelemetry 环境变量启用 Trace 上报(management.tracing.sampling.probability 默认 1.0):

Terminal window
export OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317

每个请求的 Trace ID 贯穿:客户端调用 -> 认证 -> 路由 -> 上游调用 -> 计量 -> 审计。数据面调用记录(call_logs)与应用日志均包含 traceId;数据面响应不返回 trace 响应头,请通过日志或调用记录追溯。详见 错误码与重试

日志由 logback-spring.xml 管理,默认 JSON 结构化输出,包含 traceId、时间戳、级别、logger 等字段,便于采集与检索。

deployments/docker/docker-compose.yml 预置监控栈组件,docker compose up -d 可启动:

组件端口用途
Prometheus9090指标采集(抓取 /actuator/prometheus
Grafana3001指标可视化
Jaeger16686链路追踪查询
OTel Collector4317 / 4318Trace 接收与转发
功能状态
Trace ID(全链路追踪)
结构化日志(JSON 格式)
Prometheus 指标导出
Actuator 健康检查
预置 Grafana 仪表盘规划中
Jaeger 官方集成规划中