常用系统分析监控工具
linux系統(tǒng)分析,日常分析主要有cpu、內(nèi)存、磁盤I/O、網(wǎng)絡(luò)I/O、進(jìn)程數(shù)分析等。
常用的分析命令工具主要有以下幾種:
1.sar
sar:system activity report
作為一款linux中常用的分析的工具,其幾乎包含了所有的狀態(tài)分析
[root@iZ25b31bdp0Z ~]# sar -h 用法: sar [ 選項(xiàng) ] [ <時(shí)間間隔> [ <次數(shù)> ] ] 主選項(xiàng)和報(bào)告:-b I/O 和傳輸速率信息狀況-B 分頁(yè)狀況-d 塊設(shè)備狀況-H 交換空間利用率-I { <中斷> | SUM | ALL | XALL }中斷信息狀況-m { <關(guān)鍵詞> [,...] | ALL }電源管理統(tǒng)計(jì)信息關(guān)鍵字:CPU CPU 頻率FAN 風(fēng)扇速度 \t\tFREQ\tCPU 平均時(shí)鐘頻率IN 輸入電壓TEMP 設(shè)備溫度 \t\tUSB\t連接的USB 設(shè)備-n { <關(guān)鍵詞> [,...] | ALL }網(wǎng)絡(luò)統(tǒng)計(jì)信息關(guān)鍵詞可以是:DEV 網(wǎng)卡EDEV 網(wǎng)卡 (錯(cuò)誤)NFS NFS 客戶端NFSD NFS 服務(wù)器SOCK Sockets (套接字) (v4)IP IP 流 (v4)EIP IP 流 (v4) (錯(cuò)誤)ICMP ICMP 流 (v4)EICMP ICMP 流 (v4) (錯(cuò)誤)TCP TCP 流 (v4)ETCP TCP 流 (v4) (錯(cuò)誤)UDP UDP 流 (v4)SOCK6 Sockets (套接字) (v6)IP6 IP 流 (v6)EIP6 IP 流 (v6) (錯(cuò)誤)ICMP6 ICMP 流 (v6)EICMP6 ICMP 流 (v6) (錯(cuò)誤)UDP6 UDP 流 (v6)-q 隊(duì)列長(zhǎng)度和平均負(fù)載-r 內(nèi)存利用率-R 內(nèi)存狀況-S 交換空間利用率-u [ ALL ]CPU 利用率-v Kernel table 狀況-w 任務(wù)創(chuàng)建與系統(tǒng)轉(zhuǎn)換統(tǒng)計(jì)信息-W 交換信息-y TTY 設(shè)備狀況sar對(duì)cpu的監(jiān)控分析
[root@iZ25b31bdp0Z ~]# sar -u 1 3 ## 1代表間隔1秒,3代表取值3次 Linux 3.10.0-123.9.3.el7.x86_64 (iZ25b31bdp0Z) 2017年09月11日 _x86_64_ (4 CPU)14時(shí)28分11秒 CPU %user %nice %system %iowait %steal %idle 14時(shí)28分12秒 all 15.96 0.00 8.23 0.75 0.00 75.06 14時(shí)28分13秒 all 3.27 0.00 8.31 16.37 0.00 72.04 14時(shí)28分14秒 all 7.30 0.00 4.28 35.77 0.00 52.64 平均時(shí)間: all 8.87 0.00 6.95 17.57 0.00 66.61其中參數(shù)分析如下:
CPU:all 表示統(tǒng)計(jì)信息為所有 CPU 的平均值。 %user:顯示在用戶級(jí)別(application)運(yùn)行使用 CPU 總時(shí)間的百分比。 %nice:顯示在用戶級(jí)別,用于nice操作,所占用 CPU 總時(shí)間的百分比。 %system:在核心級(jí)別(kernel)運(yùn)行所使用 CPU 總時(shí)間的百分比。 %iowait:顯示用于等待I/O操作占用 CPU 總時(shí)間的百分比。 %steal:管理程序(hypervisor)為另一個(gè)虛擬進(jìn)程提供服務(wù)而等待虛擬 CPU 的百分比。 %idle:顯示 CPU 空閑時(shí)間占用 CPU 總時(shí)間的百分比。簡(jiǎn)單分析:
1.iowait過(guò)高,多是磁盤I/O存在瓶頸,一般高于值高于50,就要查看相關(guān)進(jìn)程了 2.idle過(guò)高,但系統(tǒng)反應(yīng)慢,可能是cpu在等待內(nèi)存分配,可查看內(nèi)存使用量 3.system過(guò)高,說(shuō)明系統(tǒng)內(nèi)核使用cpu很高,內(nèi)核使用cpu進(jìn)行進(jìn)程的創(chuàng)建等,此時(shí)I/O頻繁,查看對(duì)應(yīng)異常進(jìn)程sar對(duì)文件使用句柄等使用
[root@iZ25b31bdp0Z ~]# sar -v 1 3 Linux 3.10.0-123.9.3.el7.x86_64 (iZ25b31bdp0Z) 2017年09月11日 _x86_64_ (4 CPU)14時(shí)38分35秒 dentunusd file-nr inode-nr pty-nr 14時(shí)38分36秒 132654 3712 135650 8 14時(shí)38分37秒 132656 3680 135652 8 14時(shí)38分38秒 132658 3680 135654 8 平均時(shí)間: 132656 3691 135652 8參數(shù)分析:
dentunusd:目錄高速緩存中未被使用的條目數(shù)量 file-nr:文件句柄(file handle)的使用數(shù)量 inode-nr:索引節(jié)點(diǎn)句柄(inode handle)的使用數(shù)量 pty-nr:tty使用量,使用w也可以查看sar對(duì)磁盤I/O的分析
[root@iZ25b31bdp0Z ~]# sar -b 1 3 Linux 3.10.0-123.9.3.el7.x86_64 (iZ25b31bdp0Z) 2017年09月11日 _x86_64_ (4 CPU)14時(shí)42分07秒 tps rtps wtps bread/s bwrtn/s 14時(shí)42分08秒 2.00 0.00 2.00 0.00 16.00 14時(shí)42分09秒 0.00 0.00 0.00 0.00 0.00 14時(shí)42分10秒 3.00 0.00 3.00 0.00 128.00 平均時(shí)間: 1.67 0.00 1.67 0.00 48.00簡(jiǎn)單參數(shù)分析如下:
tps:每秒鐘物理設(shè)備的 I/O 傳輸總量 rtps:每秒鐘從物理設(shè)備讀入的數(shù)據(jù)總量 wtps:每秒鐘向物理設(shè)備寫入的數(shù)據(jù)總量 bread/s:每秒鐘從物理設(shè)備讀入的數(shù)據(jù)量,單位為 塊/s bwrtn/s:每秒鐘向物理設(shè)備寫入的數(shù)據(jù)量,單位為 塊/ssar對(duì)內(nèi)存的分析
[root@iZ25b31bdp0Z ~]# sar -r 1 3 Linux 3.10.0-123.9.3.el7.x86_64 (iZ25b31bdp0Z) 2017年09月11日 _x86_64_ (4 CPU)14時(shí)51分41秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 14時(shí)51分42秒 704800 2915388 80.53 302240 454448 4976160 137.46 2267792 368308 356 14時(shí)51分43秒 704224 2915964 80.55 302248 454444 4976128 137.45 2267984 368308 356 14時(shí)51分44秒 704444 2915744 80.54 302248 454448 4976128 137.45 2267856 368308 464 平均時(shí)間: 704489 2915699 80.54 302245 454447 4976139 137.46 2267877 368308 392參數(shù)分析:
kbmemfree:這個(gè)值和free命令中的free值基本一致,所以它不包括buffer和cache的空間. kbmemused:這個(gè)值和free命令中的used值基本一致,所以它包括buffer和cache的空間. %memused:這個(gè)值是kbmemused和內(nèi)存總量(不包括swap)的一個(gè)百分比. kbbuffers和kbcached:這兩個(gè)值就是free命令中的buffer和cache. kbcommit:保證當(dāng)前系統(tǒng)所需要的內(nèi)存,即為了確保不溢出而需要的內(nèi)存(RAM+swap). %commit:這個(gè)值是kbcommit與內(nèi)存總量(包括swap)的一個(gè)百分比.sar對(duì)網(wǎng)絡(luò)I/O的分析
[root@iZ25b31bdp0Z ~]# sar -n DEV 1 3 Linux 3.10.0-123.9.3.el7.x86_64 (iZ25b31bdp0Z) 2017年09月11日 _x86_64_ (4 CPU)14時(shí)52分48秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 14時(shí)52分49秒 eth0 10.00 10.00 0.56 0.70 0.00 0.00 0.00 14時(shí)52分49秒 eth1 1.00 0.00 0.04 0.00 0.00 0.00 0.00 14時(shí)52分49秒 lo 10.00 10.00 0.88 0.88 0.00 0.00 0.0014時(shí)52分49秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 14時(shí)52分50秒 eth0 5.00 5.00 0.28 0.35 0.00 0.00 0.00 14時(shí)52分50秒 eth1 10.00 7.00 0.39 9.58 0.00 0.00 0.00 14時(shí)52分50秒 lo 29.00 29.00 4.66 4.66 0.00 0.00 0.0014時(shí)52分50秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 14時(shí)52分51秒 eth0 4.00 4.00 0.96 0.31 0.00 0.00 0.00 14時(shí)52分51秒 eth1 1.00 1.00 0.04 0.48 0.00 0.00 0.00 14時(shí)52分51秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00平均時(shí)間: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 平均時(shí)間: eth0 6.33 6.33 0.60 0.45 0.00 0.00 0.00 平均時(shí)間: eth1 4.00 2.67 0.16 3.35 0.00 0.00 0.00 平均時(shí)間: lo 13.00 13.00 1.85 1.85 0.00 0.00 0.00簡(jiǎn)單參數(shù)分析:
IFACE:網(wǎng)絡(luò)接口的名字,如上圖,我服務(wù)器中主要有三個(gè)網(wǎng)卡,eth0內(nèi)網(wǎng),eth1外網(wǎng),還有l(wèi)o回環(huán) rxpck/s:每秒鐘接收的數(shù)據(jù)包 txpck/s:每秒鐘發(fā)送的數(shù)據(jù)包 rxbyt/s:每秒鐘接收的字節(jié)數(shù),網(wǎng)絡(luò)I/O洲入主要查看此參數(shù) txbyt/s:每秒鐘發(fā)送的字節(jié)數(shù),網(wǎng)絡(luò)I/O流出主要查看此參數(shù) rxcmp/s:每秒鐘接收的壓縮數(shù)據(jù)包 txcmp/s:每秒鐘發(fā)送的壓縮數(shù)據(jù)包 rxmcst/s:每秒鐘接收的多播數(shù)據(jù)包sar查看歷史系統(tǒng)狀態(tài)
[root@iZ25b31bdp0Z ~]# sar -f /var/log/sa/sa01 Linux 3.10.0-123.9.3.el7.x86_64 (iZ25b31bdp0Z) 2017年09月01日 _x86_64_ (4 CPU)00時(shí)00分01秒 CPU %user %nice %system %iowait %steal %idle 00時(shí)10分01秒 all 0.49 0.01 0.41 0.13 0.03 98.93 00時(shí)20分01秒 all 0.49 0.01 0.41 0.12 0.03 98.94 00時(shí)30分01秒 all 0.50 0.01 0.41 0.17 0.03 98.88 00時(shí)40分01秒 all 0.47 0.01 0.41 0.10 0.03 98.97 00時(shí)50分01秒 all 0.48 0.01 0.41 0.12 0.03 98.96 01時(shí)00分01秒 all 0.48 0.01 0.40 0.15 0.03 98.92 01時(shí)10分01秒 all 0.48 0.01 0.40 0.12 0.03 98.95 01時(shí)20分01秒 all 0.47 0.01 0.41 0.07 0.03 99.01sar默認(rèn)保存一個(gè)月的系統(tǒng)報(bào)告,在其中可以簡(jiǎn)單的查看其中的狀態(tài)。
相關(guān)時(shí)長(zhǎng)配置文件更改,可在/etc/sysconfig/sysstat調(diào)整history值
[root@iZ25b31bdp0Z ~]# grep ^[^#] /etc/sysconfig/sysstat HISTORY=28 COMPRESSAFTER=31 SADC_OPTIONS="-S DISK"
當(dāng)然sar只能提供簡(jiǎn)單的歷史數(shù)據(jù),相關(guān)詳細(xì)的系統(tǒng)狀態(tài)值,還是得去zabbix中查看系統(tǒng)狀態(tài)值
2.dstat
dstat沒有sar那么繁雜的參數(shù)選定,基本使用只有dstat連續(xù)滾動(dòng),或者使用dstat 1 10這樣次數(shù)限定的顯示,不過(guò)centos7上面才會(huì)自帶,centos6上面并沒有加入
[root@iZ25b31bdp0Z ~]# dstat You did not select any stats, using -cdngy by default. ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 1 1 98 1 0 0| 143k 251k| 0 0 | 0 0 | 688 954 0 0 99 0 0 0| 0 0 |3372B 28k| 0 0 | 668 910 0 0 99 0 0 0| 0 80k|1257B 3302B| 0 0 | 489 732 1 0 99 0 0 0| 0 0 | 775B 9720B| 0 0 | 565 830 0 1 98 1 0 0| 120k 80k| 780B 3983B| 0 0 | 558 836 0 1 99 0 0 0| 0 0 |1189B 10k| 0 0 | 496 731其中相比于top而言,在網(wǎng)絡(luò)上面有recv和send的區(qū)分,也不至于像sar那樣過(guò)于細(xì)分,可以很方便的顯示
最重要的,它是彩色顯示!
3.iftop
iftop是一款專門用來(lái)顯示網(wǎng)絡(luò)I/O的工具,其相對(duì)于dstat而言,其可以顯示相關(guān)進(jìn)程的網(wǎng)絡(luò)I/O使用,在epel源中,默認(rèn)沒有安裝
常用的命令
[root@iZ25b31bdp0Z ~]# iftop -n -P -o 2s -i eth1參數(shù)簡(jiǎn)單講解:
-n:不對(duì)主機(jī)名進(jìn)行反解,直接顯示ip -i:選擇對(duì)應(yīng)的網(wǎng)卡,不選擇默認(rèn)顯示第一個(gè)網(wǎng)卡,eth0為我的內(nèi)網(wǎng)網(wǎng)卡,eth1才為外網(wǎng)網(wǎng)卡 -P:顯示進(jìn)程端口 -o 2s: 2秒的統(tǒng)計(jì)結(jié)果,進(jìn)行排序4.nethogs
與iftop類似的一款工具,可以顯示程序詳細(xì)的進(jìn)程網(wǎng)絡(luò)I/O。不過(guò)因?yàn)槊铍y記,所以本人一般逐漸使用iftop進(jìn)行了替代
使用時(shí)方便,不需要使用其它的附帶參數(shù)
5.free
free -h為內(nèi)存使用量查看,因?yàn)槭褂萌撕芏?#xff0c;所以不過(guò)多介紹
[root@iZ25b31bdp0Z ~]# free -htotal used free shared buffers cached Mem: 3.5G 2.6G 833M 248M 194M 118M -/+ buffers/cache: 2.3G 1.1G Swap: 0B 0B 0B6.iostat
用于查看cpu和磁盤I/O的工具,相比于sar而言,其優(yōu)點(diǎn)在于可以顯示每塊盤的I/O狀況,其中-x選項(xiàng)使用頻率挺高,可以查看util的值,如果util值過(guò)高,說(shuō)明該磁盤io繁忙,很多監(jiān)控系統(tǒng)會(huì)監(jiān)控此選項(xiàng)值
[root@10-110-151-75 ~]# iostat -x 1 10 Linux 2.6.32-926.573.26.1.letv.el6.x86_64 (10-110-151-75) 01/31/2018 _x86_64_ (6 CPU)avg-cpu: %user %nice %system %iowait %steal %idle26.42 0.00 3.85 2.41 0.00 67.32Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.03 1.55 0.61 1.36 22.44 23.32 23.31 0.01 3.11 1.07 0.21 sdb 0.53 0.27 6.93 6.85 2230.21 2502.06 343.57 0.22 16.10 0.80 1.10 sdc 0.52 0.27 6.38 5.99 1946.43 2102.32 327.34 0.21 16.64 0.78 0.97 sdd 0.52 0.26 6.91 5.97 2230.60 2091.13 335.64 0.20 15.50 0.84 1.08 sde 0.49 0.27 6.79 6.00 2180.22 2108.09 335.43 0.21 16.53 0.84 1.07 sdf 0.53 0.27 6.21 6.01 1826.62 2112.35 322.40 0.21 16.81 0.76 0.92 sdg 0.49 0.27 6.83 5.98 2164.34 2093.05 332.56 0.20 15.85 0.83 1.06 sdh 0.50 0.27 6.74 5.98 2153.15 2092.00 333.82 0.21 16.14 0.85 1.08 sdi 0.51 0.27 6.90 5.99 2200.24 2103.99 333.95 0.21 16.09 0.83 1.08 sdj 0.54 0.27 6.97 5.97 2251.68 2091.70 335.60 0.21 16.13 0.85 1.10 sdk 0.61 0.42 6.87 5.82 2214.42 2081.00 338.41 0.20 15.45 17.41 22.10 sdl 0.49 0.26 6.19 6.12 1739.91 2116.46 313.28 0.22 17.82 0.84 1.03 sdm 0.50 0.26 6.20 6.01 1845.52 2092.76 322.60 0.21 17.08 0.79 0.967.netstat
netstat主要用于查看本機(jī)端口使用,網(wǎng)絡(luò)狀態(tài)連接數(shù)
1.查看端口使用netstat -tnl
[root@iZ25b31bdp0Z ~]# netstat -tnl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:15770 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:188 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:8800 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:55203 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:33060 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:718 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:81 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:178 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:8181 0.0.0.0:* LISTEN tcp 0 0 101.200.215.232:53 0.0.0.0:* LISTEN tcp 0 0 10.44.182.73:53 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:8088 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN tcp6 0 0 :::21 :::* LISTEN2.查看網(wǎng)絡(luò)連接數(shù)
netstat -n |grep 'WORD'
一般使用為查看tcp連接最多的ip
常用命令:
[root@iZ25b31bdp0Z ~]# netstat -na|grep ESTABLISHED |awk '{print $5}' | awk -F: '{ip[$1]++}END{for (i in ip){print ip[i],i}}' | sort -nr 166 118.192.170.71 42 123.207.167.163 9 114.242.249.229 8 61.148.244.65 8 183.198.197.154或者直接使用sort和uniq來(lái)進(jìn)行獲取
[root@iZ25b31bdp0Z ~]# netstat -na|grep ESTABLISHED |awk '{print $5}' | awk -F: '{print $1}' | sort -n | uniq -c | sort -nr165 118.192.170.7142 123.207.167.1639 114.242.249.2298 61.148.244.658 183.198.197.1548.ss
ss,man的解釋中說(shuō)的是another utility to investigate sockets,但是我覺得其可以是netstat的替代者,至少在端口占用這方面,其少了連接數(shù)等查看,但是在程序占用端口方面卻直觀很多。
主要使用命令有
[root@wlinux conf.d]# ss -tnl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 127.0.0.1:9000 *:* LISTEN 0 128 *:80 *:* LISTEN 0 128 *:50998 *:* LISTEN 0 80 :::3306 :::*其可以更直觀的顯示端口,同時(shí)加上-p參數(shù),可以顯示占用對(duì)應(yīng)端口的程序
9.ps
ps:snapshot of the current processes.顯示當(dāng)時(shí)運(yùn)行進(jìn)程
ps一般有兩種風(fēng)格,一種是BSD風(fēng)格,一種是NUIX風(fēng)格
兩種常用的命令有
ps aux和ps -ef
當(dāng)然ps中還有其它的參數(shù),但是以這兩者組合居多
[root@wlinux conf.d]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Sep01 ? 00:00:17 /usr/lib/systemd/systemd --system --deserialize 20 root 2 0 0 Sep01 ? 00:00:00 [kthreadd] root 3 2 0 Sep01 ? 00:00:00 [ksoftirqd/0] 以下略 [root@wlinux conf.d]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.3 125120 3352 ? Ss Sep01 0:17 /usr/lib/systemd/systemd --system --deserialize 20 root 2 0.0 0.0 0 0 ? S Sep01 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S Sep01 0:00 [ksoftirqd/0] 以下略一般相比而言,本人使用ps aux多于ps -ef,前者相比于后者,可以更好的看出資源的使用量,不過(guò)后面可以直接看出ppid,不過(guò)ps中使用ps ax -o user,pid,ppid,stat,command加入-o的選項(xiàng),加上ppid的參數(shù),也是能顯示ppid值的。
10.top,glance,hop
這三者均也是常用工具,特別是top,其相關(guān)解釋可以查看top命令使用
轉(zhuǎn)載于:https://www.cnblogs.com/marility/p/7505165.html
總結(jié)
以上是生活随笔為你收集整理的常用系统分析监控工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: R 中的哪些命令或者包让你相见恨晚?--
- 下一篇: ElasticSearch 基础概念学习