在一台服务器上,我目前正在经历奇怪的应用程序行为,这些行为似乎都与网络问题有关。
问题的例子:
你将如何着手调查这些问题?关于第一个问题,我知道应该有3个连接可以连接到serverB,所以我只需要设置一个监视,这样就可以执行如下操作:
netstat | grep IP_serverB当连接丢失时,这是可以检测的,但是我想了解为什么这些连接会丢失。你会怎么做?
你需要安装哪些工具?
我认识我们的一个合作伙伴,它似乎监视通过其服务器的所有通信量,并且能够为我们提供数据包跟踪文件(.pcap文件)。
你怎么安排的?调查问题有帮助吗?
发布于 2013-10-03 21:00:39
pcaps很可能是由tcpdump创建的,我推荐的不够多。我数不清它帮助我解决网络问题的次数。因此,我将在每台服务器上设置tcpdump,并酌情将捕获限制在服务器A、B或C上:
tcpdump -i any -v "host <ip of server>" -s0 -w output.pcap注意,使用主机参数意味着将捕获该主机的通信量(无论是传入的还是传出的)。
另外,请注意,output.pcap可能不会在您认为应该的地方结束。(在上面的示例中,当前目录),这是因为某些版本的tcpdump在运行之前会变成chroot。如果找不到所需的文件,请签入/var/lib/tcpdump
运行tcpdumps,直到您满意地捕捉到每种情况的示例。如果您需要,可以通过添加附加条件来进一步限制数据包捕获。
host <ip of server> and port 80一旦您有了pcap,您就可以将它加载到wireshark中,并希望能够找出问题出在哪里。
发布于 2013-10-03 21:26:50
这样的问题可能会发生,如果您正在隧道连接或有一个NAT在途中的某个地方,这是一个工作方式,但没有正确地做NAT回来。路由也可能是一个问题。
最简单的开始方式是检查所有3台机器上的路由。您可以使用:netstat -rn完成此操作。
我不知道你的具体设置,但你应该使用适当的接口和网关,也要注意网络掩码。
然后,看看NAT的桌子:
iptables -L -n -t nat有时防火墙可能也是一个值得检查的问题:
iptables -L -n您还没有指定您使用的协议(UDP/ TCP ),所以我假设使用TCP。TCP连接有几个它们可以处于的状态。您可以让Cacti以图形的方式为您监视这些,在Cacti论坛上查看一下,如何设置它:http://forums.cacti.net/viewtopic.php?f=12&t=12787
在此基础上,您可以添加ip_conntrack模块(mod探针nf_conntrack )或将其编译到内核中(难度更大,但可能默认的Linux内核已经支持它)。向以下机构查询:
cat /proc/net/ip_conntrack您将看到一个连接列表以及它们的状态。你可以使用grep过滤掉你不需要的东西,或者只是寻找你感兴趣的东西。您可以让它(从crontab)每分钟运行一次,并将连接状态转储到文件中,如下所示:
grep IP_serverB /proc/net/ip_conntrack > `date +%Y%m%d_%H:%M`它将连接到/来自IP_serverB的所有连接放入一个名为: 20131003_23:11的文件中,进入当前目录。
这样,您就可以看到在这两台机器上发生了什么(或者3台机器,如果让它们在3台机器上运行)。维基百科有一个很好的图表来说明每个TCP状态:http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Tcp_状态_图解_Fied.svg/796px-TCP_状态_图解_fixed.svg.png。
还可以通过以下方式设置tcpdump以记录与给定计算机的tcp连接:
tcpdump -i <network_interface> host <IP> and ip proto \\tcp and port <port> -l > tcpdump_logfile &或者,如果您想实时查看它并同时将其记录到文件中,请执行以下操作:
tcpdump -i <network_interface> host <IP> and ip proto \\tcp and port <port> -l | tee tcpdump_logfile使用额外的-v(vv)参数,您可以增加详细内容。Tcpdump将记录TCP连接的所有细节(没有数据本身)。这也会帮助你诊断,发生在电线上的事情。
如果您想实际查看TCP数据包中的数据,Ettercap/wireshark/tshark可以是您的朋友。
https://serverfault.com/questions/543668
复制相似问题