首页/数据/NoSQL 速查/健康检查与指标端点

健康检查与指标端点

InfluxDB 2.x 暴露 /health、/ready 与 /metrics:前两者用于探活与就绪判断,/metrics 以 Prometheus 格式输出数据库自身运行指标。

NoSQL 速查数据更新于 2026-10-13

健康检查三类端点

InfluxDB 2.x 暴露三个关键端点:/health 返回实例状态与版本,用于存活探针;/ready 在实例可以承接请求时返回成功状态,用于就绪探针;/metrics 以 Prometheus 格式输出数据库自身的运行指标,用于监控与告警。三者解决的问题不同:存活判断实例是否还活着,就绪判断能不能接流量,指标用来定位趋势与容量。

基本信息

GET /health返回状态值与服务版本,用于存活探针
GET /ready可承接请求时返回 204,用于就绪探针
GET /metricsPrometheus 格式指标,含请求、队列与运行时统计,需要鉴权
默认端口8086(可通过配置调整)
鉴权要求/health 与 /ready 通常无需鉴权;/metrics 需要有效 Token
典型接入Kubernetes 探针、负载均衡健康检查、Prometheus 抓取任务

典型使用场景

  • 容器编排探针:存活与就绪分开配置,避免启动期被误杀
  • 负载均衡门控:实例未就绪时不接收流量,减少重启期间的错误率
  • 自身指标采集:把写入请求、错误率与队列指标接入监控体系
  • 发布流程校验:滚动更新时用就绪状态判断新实例是否可用
  • 故障定位:区分「实例挂了」与「实例活着但写入链路异常」

示例

示例
# 存活:返回体内包含状态与版本信息
curl -s http://127.0.0.1:8086/health

# 就绪:只看状态码,204 表示可以承接请求
curl -s -o /dev/null -w "%{http_code}\n" http://127.0.0.1:8086/ready

# 自身指标:Prometheus 抓取格式,需带 Token
curl -s -H "Authorization: Token $INFLUX_TOKEN" http://127.0.0.1:8086/metrics | head -20

# 常用监控点:写入请求数与错误数、队列长度、运行时内存
# curl -s -H "Authorization: Token $INFLUX_TOKEN" http://127.0.0.1:8086/metrics \
#   | grep -E "^influxdb_(http|write|queue)"

端点读法

端点正常表现异常与处理
/health返回状态为通过并带版本号返回失败或超时说明进程异常,检查日志与资源
/ready返回 204返回其他状态说明尚未就绪或处于恢复中,不要接收流量
/metrics返回大量指标行401 说明 Token 无效或缺失,403 说明权限不足
写入错误指标长期为 0 或极低持续上升说明写入链路或容量出现问题
队列相关指标波动但在阈值内持续堆积需要检查磁盘 IO 与写入压力
负载均衡把流量分给实例之前用 /ready 做就绪门控,可以避免把请求打到尚未准备好的实例上,滚动重启期间的错误率会明显下降。
/metrics 会把版本、内部指标与部分配置信息暴露出来:不要直接开放到公网,应限制来源网段并加上鉴权。

易错点

  • 只依赖 /health 判断可用性:实例活着但写入已失败的情况不会被它发现,容量类故障要靠 /metrics 判断
  • 存活与就绪探针用同一个端点:启动期实例尚未就绪就被判为存活,流量被错误放行或实例被反复重启
  • 把 /metrics 暴露到公网:运行信息外泄,且被爬取时会额外消耗实例资源
  • 不采集自身指标只看业务数据:写入失败与队列堆积缺少趋势依据,问题只能等业务报障才发现

数据来源与参考

  • InfluxData Docs: Health check endpoints
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌