设为首页 收藏本站
查看: 739|回复: 1

[经验分享] Linux Web服务器网站故障分析常用的命令

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2013-7-26 08:52:02 | 显示全部楼层 |阅读模式
Netstat:显示网络状态信息
参    数:  -a或--all   显示所有连线中的Socket
-n或--numeric   直接使用IP地址,而不通过域名服务器   
                               -t或--tcp   显示TCP传输协议的连线状况
                               -u或--udp   显示UDP传输协议的连线状况
                               -l或--listening   显示监控中的服务器的Socket
                               -p或--programs   显示正在使用Socket的程序识别码和程序名称
               状     态:
                               LISTEN:侦听来自远方的TCP端口的连接请求;
                               SYN-SENT:在发送连接请求后等待匹配的连接请求;
                               SYN-RECEIVED:在收到和发送一个连接请求后等待对方对连接请求的确认;
                               ESTABLISHED:代表一个打开的连接,我们常用此作为并发连接数;
                               FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认;
                               FIN-WAIT-2:从远程TCP等待连接中断请求;
                               CLOSE-WAIT:等待从本地用户发来的连接中断请求;
                               CLOSING:等待远程TCP对连接中断的确认;
                               LAST-ACK:等待原来发向远程TCP的连接中断的确认;
                               TIME-WAIT:等待足够的时间以确保远程TCP连接收到中断请求的确认;
                               CLOSED:没有任何连接状态;
管道“|”:利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。

Grep:在文件中查找并显示包含指定字符串的行,目标是字符串
           参    数:-v,反转查找,即输出与查找条件不相符的行。
                         -i   忽略大小写
                        -E   多个字符串一起搜寻,就是egrep
          说    明:1、grep命令不支持“*”和“?”这些普通意义上的通配符
                        2、最常用的通配符:
                                                           符号“^”表示以什么字符开头,“^word”表示以“word”开头,
                                                           符号“$”表示以什么字符结尾,“word$”表示以“word”结尾,
                                                                                                              “^$”则表示空行。
                                                             符号”.“表示以个非换行符的字符,'gr.p'匹配gr后接一个任意字符,然后是p
                                                             符号”[]“表示匹配一个指定范围内的字符,'[Gg]rep'匹配Grep和grep
                                                             符号"[^]"表示匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-F和H-Z的一个字母开头,紧跟rep的行。
Awk:把一行分成数个行进行处理;逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理
           参    数:-F   后面跟分隔符,可以加多个,默认为空格 取代FS   
格    式:awk  -F ‘[分隔符]+’ ‘条件类型{动作}’
                           动  作:$N变量:它指的是一条记录。如$ awk '{print $0}' test将输出test文件中的所有记录。$1表示第一个域,$n表示第n个域。
Cut:对数据进行剪切,以每一行为一个处理对象
           参    数:-c:字符(characters),中文字符和空格都算一个字符
                         -b:字节(bytes),一个空格算一个字节,一个汉字算三个字节
                         -f:域(fields),可以理解为一个字段
                        -d:定义分隔符,默认制表符TAB,d一般情况下根-f一起使用,而不能和-b,-c一起使用
Sort:排序,将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
           参    数:-n:以数值来排序
                         -r:在输出行中按降序输出,默认是升序
                         -f  :忽略大小写的差异,例如 A 与 a 视为编码相同
                        -b  :忽略最前面的空格符部分
Uniq:去除排序过的文件中的重复行,所有的重复行必须是相邻,经常和SORT一起使用
           参    数:-c, --count //在每行前加上表示相应行目出现次数的前缀编号
                         -d, --repeated //只输出重复的行
                         -D, --all-repeated //只输出重复的行,不过有几行输出几行
                        -u  :只显示唯一的行
实例:查看操作系统上有哪些服务器连接到数据库服务器

[iyunv@localhost ~]# netstat -ntu|more
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.15.209:1521 192.168.15.65:37781 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37783 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37777 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37779 ESTABLISHED
tcp 0 0 10.100.15.209:49895 10.100.15.207:26069 ESTABLISHED
tcp 0 0 10.100.15.209:49898 10.100.15.213:6092 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37785 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.181:21869 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.181:21870 ESTABLISHED
tcp 1 0 192.168.15.209:26781 192.168.15.89:1521 CLOSE_WAIT
tcp 0 0 192.168.15.209:10332 192.168.15.211:6200 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.181:21875 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37766 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.181:21874 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37761 ESTABLISHED
######省略N行######
这是所有与数据库服务器连接的外部IP 信息列表,可以看到第五列是所有的外部IP 信息。根据这些信息,找出数目最多的那个IP 是什么,或者根据IP 数目做一个排序。

[iyunv@localhost ~]# netstat -ntu|grep 'tcp'
tcp 0 0 192.168.15.209:1521 192.168.15.65:37781 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37783 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37777 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37779 ESTABLISHED
tcp 0 0 10.100.15.209:49895 10.100.15.207:26069 ESTABLISHED
tcp 0 0 10.100.15.209:49898 10.100.15.213:6092 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37785 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.181:21869 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.181:21870 ESTABLISHED
tcp 1 0 192.168.15.209:26781 192.168.15.89:1521 CLOSE_WAIT
tcp 0 0 192.168.15.209:10332 192.168.15.211:6200 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.181:21875 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37766 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.181:21874 ESTABLISHED
tcp 0 0 192.168.15.209:1521 192.168.15.65:37761 ESTABLISHED
#也可以使用egrep 过滤多个条件:netstat -ntu|egrep 'tcp|udp'
使用grep 将tcp 过滤出来

[iyunv@localhost ~]# netstat -ntu|grep 'tcp'|awk '{print $5}'
192.168.15.65:37781
192.168.15.61:34281
192.168.15.65:37783
192.168.15.61:34282
192.168.15.65:37777
192.168.15.65:37779
10.100.15.207:26069
192.168.15.61:34275
10.100.15.213:6092
#######省略N行...######
使用awk 将第五列链接的IP单独截出来

[iyunv@localhost ~]# netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1
192.168.15.65
192.168.15.61
192.168.15.65
192.168.15.61
192.168.15.65
192.168.15.65:
10.100.15.207
192.168.15.61
10.100.15.213
######省略N行######
使用cut 将列信息以":" 为分隔符再分成不同的列, 显示第一个field
1
[iyunv@localhost ~]# netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort
使用sort 默认字符顺序将字段值排序,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
1
[iyunv@localhost ~]# netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c
使用uniq 将已经排序好的字段计算不同值的数目,uniq -c 根据相近的值计算和,因此之前需要排序好
1
[iyunv@localhost ~]# netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c|sort -nr
使用sort -nr ,按照数字降序排序

[iyunv@localhost ~]# netstat -ntu|grep 'tcp'|awk '{print $5}'|cut -d: -f1|sort|uniq -c|sort -nr|head -10
32 192.168.15.146
30 192.168.15.65
18 192.168.15.92
17 192.168.15.100
15 192.168.15.63
12 192.168.15.204
11 192.168.15.61
10 192.168.15.181
8 192.168.15.62
8 192.168.15.133
这就得到我们要的结果,这个结果中,我们可以看出各个服务器在数据库服务器上的网络连接数。
查看服务器80端口链接数目:

[iyunv@localhost ~]# netstat -nat|grep -i "80"|wc -l
  4341
#netstat -an会打印系统当前网络链接状态,而grep -i "80"是用来提取与80端口有关的连接的,wc -l进行连接数统计。最终返回的数字就是当前所有80端口的请求总数。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-7817-1-1.html 上篇帖子: Ubuntu普通用户使用软件中心安装(卸载)软件(无需输管理员密码)办法 下篇帖子: linux下更新JDK版本

尚未签到

发表于 2013-10-26 05:44:06 | 显示全部楼层
学海无涯,回头是岸!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表