
tcp-info工具通过轮询循环跟踪系统中所有开放TCP socket的测量统计信息,数据以JSONL格式(内部称为ArchivedRecord)写入zstd压缩文件。该工具是基于Kubernetes的Measurement Lab平台众多测量功能的基础。
大多数用户会通过Docker容器运行此工具,支持数据持久化存储和Prometheus指标暴露。
运行工具需安装zstd,可通过以下方式安装:
bash# 方法1:使用脚本安装 bash <(curl -fsSL https://raw.githubusercontent.com/horta/zstd.install/master/install) # 方法2:通过apt安装 sudo apt-get update && sudo apt-get install -y zstd
以下命令将数据写入~/data目录,并在7070端口暴露Prometheus指标:
bashdocker run --network=host -v ~/data:/home/ -it measurementlab/tcp-info -prom=7070
参数说明:
--network=host:使用主机网络模式,确保能监控所有系统TCP socket-v ~/data:/home/:挂载本地目录到容器内,用于持久化存储数据-prom=7070:指定Prometheus指标暴露端口tcp-info的eventsocket接口允许sidecar服务接收TCP连接事件。通过docker-compose启动示例sidecar服务:
bashdocker-compose up
示例sidecar服务example-eventsocket-client会处理新的TCP事件并记录到stderr。可通过以下命令在tcp-info容器内触发TCP连接:
bashdocker exec -it tcp-info_tcpinfo_1 wget www.google.com
cmd/csvtool目录提供将ArchivedRecord数据转换为CSV格式的工具,从标准输入读取netlink-JSONL数据,输出CSV到标准输出:
bash# 示例:将JSONL文件转换为CSV cat archived_records.jsonl | csvtool > output.csv
include/uapi/linux/inet_diag.h相关的代码,所有结构体定义在structs.goinclude/uapi/linux/tcp.h相关的代码几乎所有包均使用metrics
main.go依赖层次(每层仅依赖右侧或更低层)
parse包依赖层次




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务