首页/网络/常用端口速查/4317 OpenTelemetry OTLP(gRPC)

4317 OpenTelemetry OTLP(gRPC)

OpenTelemetry Collector 的 gRPC 接收端口:新一代可观测性标准,应用通过它上报 metrics/logs/traces(HTTP 版为 4318)。

常用端口速查网络更新于 2026-10-13

OTLP 的 gRPC 接收口

4317 是 OpenTelemetry Collector 的 OTLP gRPC 接收端口。应用与各类 SDK 通过它上报 traces、metrics 与 logs,Collector 再分发到后端存储。OTLP 是 OpenTelemetry 定义的标准协议,同时提供 gRPC(4317)与 HTTP/protobuf(4318)两种传输方式,前者用二进制帧、开销更小,是集群内上报的常用选择。

基本信息

服务OTLP receiver(gRPC)
协议gRPC over HTTP/2(TCP 4317)
对应 HTTP 口4318(HTTP/protobuf)
用途遥测数据统一采集
安全等级仅监控网段

典型使用场景

  • 应用通过 SDK 上报链路追踪数据,构建分布式调用链
  • 采集主机与容器指标,替代多套采集器并存的局面
  • 日志与指标走同一个入口,简化采集端配置
  • 排查数据没上报,先确认接收端口与传输协议是否配对
  • 评估是否需要双向证书与来源限制
  • 迁移监控栈时清点仍指向旧端点的采集配置

接收侧核查

接收侧核查
grpcurl -plaintext 127.0.0.1:4317 list            # 列出 gRPC 服务(需 grpcurl)
curl -s http://127.0.0.1:8888/metrics | grep otelcol_receiver | head -6
ss -lntp | grep -E ':(4317|4318) '

OTLP 端口与传输

端口协议场景
4317gRPC over HTTP/2本条目,二进制上报,集群内常用
4318HTTP 与 protobufREST 风格上报,便于手工调试
8888Collector 自身指标自带 metrics 端点
传输选择按客户端能力两端协议不匹配时连接成功但没有数据
部署提示:Kubernetes 场景常用 DaemonSet 搭配集群内 Service 暴露接收端口,避免直接用 NodePort 暴露到公网;升级 Collector 时留意不同大版本之间组件与配置项命名的调整。
Collector 默认不做鉴权,暴露公网会持续收到垃圾数据,既污染观测结果又消耗存储与带宽。生产环境应加双向证书或经反向代理做鉴权,并把接收端口限制在监控网段。
排查顺序:先确认端口监听与网络可达,再看数据是否进入管道(Collector 自身指标里按接收器统计的条目会增长),最后看导出端是否成功写入后端。多数上报失败其实卡在导出端而不是接收端。
选型提示:集群内上报优先用 gRPC 版本,需要经浏览器或反向代理转发时用 HTTP 版本更省事。两者可以同时开启,按客户端能力各取所需,不必强求统一。

易错点

  • 只放行 4317 而客户端用 4318:连接能建立但没有数据,容易误判为 SDK 问题
  • 把接收端口暴露公网:垃圾数据持续涌入,观测结果与告警被污染
  • 只看接收不看导出:数据进了 Collector 但没写进后端,表现为查不到数据
  • 升级 Collector 不核对配置变更:大版本间组件命名调整会导致启动即失败

数据来源与参考

  • OpenTelemetry 官方文档(OTLP 默认 4317/4318)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌