首页/AI/大模型部署与运维速查/调试端点暴露面:/metrics 与健康检查
运维监控与排障50 条

调试端点暴露面:/metrics 与健康检查

监控与健康端点默认面向内网:绑定地址、防火墙与网关鉴权三层收口;对公网只保留经网关的 API 入口,避免指标与内部拓扑被直接读取。

监控端点默认面向内网

监控与健康检查端点默认面向内网:绑定地址、防火墙与网关鉴权三层收口,对公网只保留经网关的接口入口。指标端点里往往含有模型名称、版本号与流量结构,一旦暴露,等于把内部拓扑和调用情况一起交出去。

基本信息

适用平台自托管推理服务与监控组件
涉及端点指标端点与健康检查端点
收口层级监听地址、防火墙与安全组、网关鉴权
检查时机上线前核对,变更后复核

确认暴露面

确认暴露面
ss -lntp | grep -E ':8000|:9090'      # 看监听地址是全网还是仅本机
curl -s -o /dev/null -w '%{http_code}\n' http://<内网IP>:8000/metrics
# 从公网侧再试一次,确认无法直连

收口做法

  • 绑定:引擎与采集组件尽量只监听内网地址或本机
  • 网络:安全组与防火墙只放行业务端口,监控端口只开给监控网段
  • 网关:对外只暴露接口路径,指标路径不进入公网路由表
  • 鉴权:监控端点加访问控制,而不是靠没人知道地址
  • 复核:新增组件上线后重新确认监听情况

层级与遗漏后果

层级做法遗漏后果
监听地址只监听内网地址或本机能连上的机器都能读到指标
防火墙与安全组监控端口只开给监控网段端口对全网开放
网关路由对外只暴露接口路径指标路径进入公网路由表
鉴权监控端点加访问控制无认证即可读取内部信息
把这项检查放进上线前核对表:端点暴露面是默认存在的,显式确认过才算安心。
指标端点常包含模型名称、版本号与调用方结构:外泄之后就不只是性能数据的问题。
变更后要复核:新加上的组件往往自带监听端口,上线前通常没人问过它到底开在哪里。

易错点

  • 只测业务端口不测监控端口:指标里可能含模型名、版本与流量结构信息
  • 以为内网就安全:横向移动之后,未鉴权的监控端点等于开放数据源
  • 健康检查端点返回过多信息:部分实现会输出版本与内部状态,对外暴露要收紧
  • 上线前测过就再不复查:新增组件常带默认监听端口,暴露面会重新扩大

数据来源与参考

  • vLLM 官方文档:OpenAI-Compatible Server(docs.vllm.ai)
  • nginx 官方文档:访问控制 allow/deny(nginx.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌