1.2 KiB
1.2 KiB
日志收集与基础监控落地
对应 issue:#11 [P1][T8] 日志收集与基础监控落地
1. 结构化日志
- 中间件:
internal/observability/http.go::RequestLogMiddleware - 每个请求输出一条 JSON 日志,包含:
request_idmethod/path/statuslatency_msclient_ipuid(若已鉴权)errors(若有)
2. 核心指标
- 采集器:
internal/observability/collector.go - 暴露接口:
GET /metrics/basic - 指标字段:
total_requestsclient_errorsserver_errorsclient_error_rate_pctserver_error_rate_pctavg_latency_msmax_latency_ms
3. 基础告警阈值
- 脚本:
scripts/ops/check_basic_metrics.sh - 默认阈值:
SERVER_ERROR_RATE_THRESHOLD=5(%)AVG_LATENCY_THRESHOLD_MS=800(ms)
- 触发后行为:
- 返回非 0
- 若配置
OPS_ALERT_WEBHOOK则发送告警
推荐 cron(每 5 分钟):
*/5 * * * * METRICS_URL=http://127.0.0.1:8080/metrics/basic SERVER_ERROR_RATE_THRESHOLD=5 AVG_LATENCY_THRESHOLD_MS=800 OPS_ALERT_WEBHOOK="https://example.com/webhook" /path/to/wx_service/scripts/ops/check_basic_metrics.sh >> /var/log/wx_service-metrics-check.log 2>&1