暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

监控过程中网络问题排查思路

IT那活儿 2025-12-12
169
点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!  

  
在运维监控系统的日常工作中,经常会遇到各种“网络异常”报警或监控数据缺失的问题。这类问题往往具有迷惑性,不仅仅是简单的网络断连,有时涉及账号权限、防火墙、业务系统自身的限制等。

本文结合实际经验,总结一套较为系统的排查思路,帮助运维人员快速定位和解决问题。


一

问题现象与初步定界

当监控平台(snc-proxy)告警某台Linux设备(snc-agent)失联或数据采集超时,首先不要急于重启服务。请遵循以下流程进行初步定界:
核心问题:snc-proxy 无法与 snc-agent 建立通信或通信中断。
第一步:双向基础连通性检查(Ping)
1)操作
从 snc-proxy 服务器 ping 目标设备的IP地址。
2)结果分析
  • 不通
    问题集中在网络底层(物理链路、交换机、主机防火墙、IP冲突等)。需要联系网络团队。
  • 通
    仅证明ICMP协议开放,业务端口(如snc-agent使用的端口)仍可能被阻断。继续下一步。
第二步:业务端口连通性检查(Telnet/Nc)
1)操作
在 snc-proxy 服务器上执行 telnet <目标IP> <snc-agent端口> 或 nc -zv <目标IP> <snc-agent端口>。
2)结果分析
  • Connection refused (连接被拒绝)
    通常意味着目标端口上没有服务监听。问题可能在agent进程本身。
  • Connection timed out (连接超时)
    几乎可以肯定数据包在路径上被防火墙丢弃。这是最典型的防火墙症状。
  • Connected (连接成功)
    证明TCP层连通性无异常,问题可能出现在应用层(如认证、授权、协议解析)。
经过分析,可以将问题归为:网络底层问题、主机防火墙问题等。
二

系统性排查思路

层面一:网络底层与主机防火墙
1)排查主机防火墙(IPTables/Firewalld)
这是导致“连接超时”最常见的原因。必须在目标设备(snc-agent所在机器)上检查。
查看当前规则:
# 对于 iptablessudo 
iptables -L -n --line-numbers # 查看过滤规则
sudo iptables -L -n -t nat # 查看NAT规则
# 对于 firewalld
sudo firewall-cmd --list-all # 查看所有信息,包括 zones 和开放服务/端口

排查要点:
  • 检查 INPUT 链中是否有规则 DROP 或 REJECT 了来自 snc-proxy IP 或目标端口的流量。
  • 检查是否将业务网卡加入了错误的 zone(如 drop zone)。
  • 临时规避验证(切记操作后恢复): 临时清空防火墙规则 sudo iptables -F 或添加允许规则,然后再次测试telnet。若成功,则问题根源在此。
2)排查安全组(云平台)
如果设备部署在公有云(如AWS, Azure, 阿里云,腾讯云),安全组是虚拟防火墙。
操作: 
  • 登录云控制台,检查目标设备所属安全组的入方向规则,确保源IP(snc-proxy的IP或IP段)被允许访问snc-agent的端口,实际现场中需要结合统管网络人员,本现场不需要自己操作。
3)排查路由
路由: 
  • 使用 traceroute  命令跟踪路径,确认数据包是否被错误地路由到了黑洞或无法返回的路径。
层面二:应用层与进程本身
如果TCP连接能建立但通信失败,问题则更深层。
1)排查进程状态与监听端口
操作:在目标设备上执行
# 确认snc-agent进程是否在运行ps -ef | grep snc-agent
# 确认snc-agent是否在正确端口上监听sudo netstat -tlnp | grep :<端口号>
sudo ss -tlnp | grep :<端口号> # (推荐,更高效)

可能的问题:
  • 进程崩溃
    找不到进程。需要检查agent日志并重启。
  • 绑定错误IP
    进程可能只绑定在 127.0.0.1(本地回环),而非 0.0.0.0 或业务IP,导致外部无法访问。netstat 输出中会显示 127.0.0.1:端口。
2)排查权限与属主问题
“账号被锁” “权限不足”:
  • 检查 snc-agent 进程的运行用户是否具有足够的权限(如读取 /proc 目录、执行特定命令等)。
  • 检查 agent 用于连接 proxy 或本地资源的密钥文件、证书文件、配置文件的权限和属主。
# 检查关键文件的权限ls -l path/to/snc-agent/config.confls -l path/to/snc-agent/secret.key
# 确保属主和权限正确,通常不应是777等过于宽松的权限chmod 600 path/to/secret.key 
# 示例:设置仅用户可读写chown ampdcp:ampdcp path/to/secret.key

3)排查业务自身防火墙(具有极大迷惑性)
现象:
  • 主机防火墙和云安全组都正确,但连接仍被拒绝或超时。
排查:
  • 某些应用、业务主机自身内置了防火墙或白名单功能。
操作:
  • 检查业务自身的配置文件,查看防火墙是否开启,如未开启,可及时询问机器使用方是否使用其他三方或自研封装防火墙 ,确保 snc-proxy 的IP地址被加入白名单。
层面三:高级诊断工具
1)服务端抓包(tcpdump)
在目标设备(snc-agent端)上抓包,这是最权威的证据。
# 监听指定网卡和端口,查看是否有来自proxy_ip的包sudo tcpdump -i any -n host <proxy_ip>and port <agent_port>
# 更详细的输出sudo tcpdump -i any -nn -S -X host <proxy_ip>and port <agent_port>

2)结果分析
  • 能看到 SYN 包到达
    证明网络层通畅,需要检查应用层是否回复 RST(应用层拒绝)。
  • 看不到任何包
    证明包在到达网卡之前就被丢弃(主机防火墙或云安全组嫌疑最大)。
三

总结

3.1 先外后内,先低后高
从网络底层(Ping)逐步排查到应用层(抓包)。
3.2 双向检查
不要只检查客户端或服务端,要从两边同时入手。
3.3 善用工具
telnet/nc、netstat/ss、tcpdump 是三大神器。
3.4 考虑所有“防火墙”
物理防火墙、云安全组、主机防火墙、应用自带防火墙。

END


本文作者:李伟康(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论