日常运维(二)

200933_5lgE_3746774.png

一 监控io性能

    有时候查看到的cpu和内存还有剩余,但是系统负载还是很高,我们用vmstat命令查看发现b列或wa列值比较大,说明系统磁盘有瓶颈,这时候就需要去查看磁盘的状态了

    1、iostat 

        安装sysstat时已经安装了iostat命令

214349_lZSF_3746774.png

    2、iostat 1

        每隔1秒展示一次,

214444_6HHB_3746774.png

    3、iostat -x 1

        加上-x选项指标会更多,其中一个比较重要的是%util,这个指标代表的是cpu等待io进程的时间比例,如果这个值很大,说明磁盘io很忙,则读写rkB/s wkB/s 也会很大,如果读写值不大,则说明磁盘有问题或故障

214929_TWar_3746774.png

    4、iotop

        1)安装

            # yum install -y iotop

        2) # iotop

            将磁盘使用情况根据占用IO的比例大小排序后展示出来

220507_kg8y_3746774.png

二 free命令

    1、# free

  221436_pR5D_3746774.png

上图中的total=used+free+buff/cache,available包含了free和buff/cache剩余部分

buff:缓冲,当cpu写数据到磁盘时,被暂放在内存中 的数据

cache:缓存,当cpu从磁盘读取数据时,被暂放在内存中的数据

三 ps查看进程命令

222451_EB3Y_3746774.png

    1、ps

        1次性地将当前进程的使用状况列出来

222556_mpBS_3746774.png

222752_P8mo_3746774.png

    2、# ps aux  

        可以列出系统所有的进程

222811_tc1b_3746774.png

其中

VSZ表示虚拟内存;

RSS表示物理内存;

STAT有很多种状态,

        D表示不能中断的进程

        R表示run状态的进程

        S表示sleep状态的进程

        T表示暂停的进程

        +表示前台进程

        Z表示僵尸进程

        <表示高优先级进程

        N表示低优先级进程

        s表示主进程

230100_pcDv_3746774.png

        l表示多线程进程

        L表示内存中被锁了内存分页

ps aux用途:检查某个进程有没有,使用命令 # ps aux |grep nginx

223125_MSjI_3746774.png

    3、# ps -elf

223831_VVTY_3746774.png

    4、# ls -l /proc/进程号

    使用上述命令可以查看某个进程的启动位置,如下图

224112_7SbY_3746774.png

四 查看网络状态

    230437_EqlD_3746774.png

    1、查看监听端口

        # netstat -lnp

    l表示listen

231243_FGSP_3746774.png

同一台服务器的两个进程间使用socket协议通信

    # netstat -lntp  //只查看tcp协议端口状态

072927_BEdy_3746774.png

    # netstat -lntup  //查看tcp/upd协议端口状态

072943_vGfx_3746774.png

    2、# netstat -an    //查看所有的连接状态

072841_Qp26_3746774.png

    查阅资料:TCP/IP的三次握手和四次挥手

    3、统计各种状态的数量

    # netstat -an |awk '/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}'

073659_oXY1_3746774.png

如果处于ESTABLISHED的状态很多,说明系统很忙,一般1000以内 的数字服务器都能够接受,如果几万个

    4、# ss -an  //用这个命令查看网络状态时不会显示进程的名字和PID

075832_ZmVg_3746774.png

五 Linux下抓包

080019_bRvg_3746774.png

抓包工具:tcpdump

    1、# tcpdump -nn

080306_aiQZ_3746774.png

如果出现上图情况,说明网卡名字比较特殊,需要在命令中指定网卡名字

    # tcpdump -nn -i 网卡名字

命令中的两个n表示将下图中的第一IP和端口以数字的方式展示出来,不指定的话会显示为主机名和端口名称

080942_X5SB_3746774.png

上图中我们主要查看的是两个IP间数据的流向和length,一般我们看到的包都是TCP的包,如果看到UDP的包,很有可能是被攻击了

    2、# tcpdump -nn port 端口号  //抓取指定端口号

    3、# tcpdump -nn not port 端口号  //不抓取指定端口号

    4、指定包的长度

        # tcpdump -nn -c 长度值 

    5、将抓取到的数据存储到指定文件-w

        # tcpdump -nn -w /tmp/1.cap

094222_Rzp7_3746774.png

        1.cap文件是不能直接cat的,否则会乱码,因为这个文件是从服务器网卡中捕获的数据包,就是我们真正通信的数据,如果想查看这个文件,使用命令# tcpdump -r /tmp/1.cap

094625_X5Dq_3746774.png

    5、tshark命令

        先要安装# yum install wireshark 工具

        wireshark工具和tcpdump工具类似,wireshark就有一个tshark命令

        使用下述命令可以查看80端口web的访问情况

        # tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"

 

 

 

转载于:https://my.oschina.net/u/3746774/blog/1612102

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值