You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Prometheus(Kubernetes监控)中获取节点特定端口的当前TCP连接数

特定端口TCP连接数的Prometheus监控解决办法

一、node_exporter原生不支持按端口拆分指标

node_exporter自带的node_netstat_Tcp_CurrEstab仅统计节点所有ESTABLISHED状态的TCP总连接数,没有按端口维度拆分的内置指标,没法直接筛选出22端口的连接数。

二、两种可行实现方式

1. 用node_exporter的textfile收集器自定义指标

这是最轻量化的方案,无需额外部署新组件:

  • 先确认node_exporter启动参数中开启了textfile收集器,比如添加--collector.textfile.directory=/var/lib/node_exporter/textfile_collector(路径可自行修改)
  • 编写一个shell脚本,定时统计指定端口的连接数并生成Prometheus格式的指标文件:
#!/bin/bash
TARGET_PORT=22
OUTPUT_FILE="/var/lib/node_exporter/textfile_collector/tcp_port_22_connections.prom"
# 用ss命令(比netstat高效)统计本地22端口的ESTABLISHED状态连接数
CONN_NUM=$(ss -tna state established | grep -E ":${TARGET_PORT}\s+" | wc -l)
# 生成标准Prometheus指标格式
cat > ${OUTPUT_FILE} <<EOF
# HELP node_tcp_established_connections_by_port Number of established TCP connections on specific local port
# TYPE node_tcp_established_connections_by_port gauge
node_tcp_established_connections_by_port{port="${TARGET_PORT}"} ${CONN_NUM}
EOF
  • 给脚本添加执行权限:chmod +x /path/to/your/script.sh
  • 通过crontab设置定时执行,比如每分钟跑一次:* * * * * /path/to/your/script.sh
  • 完成后,访问node_exporter的metrics端点(如http://192.168.1.1:9100/metrics)就能看到node_tcp_established_connections_by_port{port="22"}指标,直接用于PromQL查询和告警。

2. 部署专用连接数监控exporter

如果需要监控多端口、多连接状态(如TIME_WAIT、SYN_RECV等),可以用专门的netstat_exporter或tcp_connection_exporter:

  • 这类exporter会自动抓取系统TCP连接的详细维度数据,包括本地端口、远端端口、连接状态等
  • 部署后在Prometheus配置中添加该exporter的抓取任务,就能获取到带port标签的连接数指标,直接筛选22端口即可。

三、告警规则示例(基于自定义指标)

groups:
- name: node_tcp_port_alerts
  rules:
  - alert: TcpPort22ConnectionsExceeded
    expr: node_tcp_established_connections_by_port{port="22",instance="192.168.1.1"} > 100
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: "节点192.168.1.1的22端口连接数超标"
      description: "当前连接数: {{ $value }}, 已超过阈值100"

内容的提问来源于stack exchange,提问作者54vault

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 07:35:13