首页/网络/常用端口速查/2003 Graphite carbon 明文上报
2000-2999 注册端口60 条

2003 Graphite carbon 明文上报

Graphite 生态中 carbon 组件的明文接收端口:应用以极简格式把监控指标推给碳缓存进程。

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

carbon 的明文上报口

2003 是 Graphite 监控栈里 carbon 组件的明文接收端口。carbon 监听 2003,接收「指标路径 值 时间戳」这样的极简文本行,写入 Whisper 数据库供 Graphite Web 查询。格式简单到用 nc 就能上报,因此被大量自研采集脚本、StatsD 后端与自定义 Agent 直接使用,代价是既没有认证也没有加密。

基本信息

服务Graphite carbon(plaintext 协议)
协议TCP
数据格式metric value timestamp
同族端口2003 明文、2004 pickle、7002 查询缓存
安全等级仅限内网可信网段

典型使用场景

  • 自研采集脚本用几行代码把业务指标推给 Graphite
  • StatsD 后端把聚合结果转发到 carbon 的 2003 端口
  • 排障时手工灌一条测试指标,验证采集链路是否通畅
  • 迁移监控栈时清点还有哪些脚本硬编码了这个端口
  • 安全评估时确认上报口是否被限制在可信网段

手工上报一个指标

手工上报一个指标
echo "test.metric 42 $(date +%s)" | nc -q1 127.0.0.1 2003   # 路径 值 时间戳
ss -lntp | grep ':2003 '                     # 服务端确认监听
ls /var/log/carbon* 2>/dev/null              # 定位 carbon 日志再查写入情况

carbon 端口分工

端口协议用途
2003TCP 明文指标上报,最常用的入口
2004TCP pickle二进制协议,吞吐更高但不便手工测试
2023TCP 明文carbon-aggregator 聚合入口
2024TCP pickle聚合器的二进制入口
7002TCP查询缓存接口,供 dashboard 快速读数据
三个组件要分清:carbon-cache 收数据写盘,carbon-relay 按规则转发到其他后端,carbon-aggregator 先做统计再落库。同一个端口后面接的是谁,决定了指标是原样入库还是被聚合后再入库,排障时先确认链路里有哪些角色。
明文协议没有认证,能连上就能写数据。把 2003 放在不可信网段,任何主机都能往监控系统里灌假指标,把告警判断与容量规划一起带偏,事后很难辨认真实数据。
写入失败分两类:连接被拒说明 carbon 进程没监听或端口被拦;连接成功但数据不落盘,要查落库目录的权限与磁盘空间。carbon 对格式错误的行通常是直接丢弃而不回错,所以手工上报后必须回查数据库,确认数据真的写进去了。

易错点

  • 把 carbon 明文口暴露到不可信网段:任意主机都能伪造业务指标污染告警
  • 上报字段顺序写错:必须是路径、值、时间戳三段,值不是数字会被直接丢弃且不回错
  • 用本地时区理解时间戳:carbon 以 Unix 时间戳为准,手工测试时用 date +%s 生成最稳妥
  • 只放行 2003 忘了 2004:把采集端切到 pickle 协议后会静默失败

数据来源与参考

  • Graphite 官方文档(carbon 端口)
  • IANA 端口注册表

相关工具

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