監控io,網絡,端口,抓包
阿新 • • 發佈:2018-05-08
監控 抓包 監控io性能
- iostat和sar使用同一個包sysstat
[root@aminglinux-02 ~]# iostat -x Linux 3.10.0-514.el7.x86_64 (aminglinux-02) 2017年07月23日 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 1.75 0.00 2.49 4.83 0.00 90.93 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.00 0.07 11.48 1.98 355.95 17.50 55.48 0.22 16.20 18.62 2.21 6.38 8.59 sdb 0.00 0.00 0.88 0.00 5.56 0.00 12.64 0.00 3.23 3.23 0.00 2.30 0.20 dm-0 0.00 0.00 0.18 0.00 1.37 0.00 15.20 0.00 13.22 13.22 0.00 9.70 0.17
- 主要關註%util,cpu等待磁盤讀寫的百分比,這個數值隨著硬盤的讀寫增大而增大,如果不成正比或特別高就是磁盤有問題了
- iotop命令,yum install -y iotop安裝,查看進程的磁盤io使用情況
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --deserialize 21 2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd] 3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0] 4 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0] 6 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/u128:0] 7 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0] 8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_bh] 9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched] 10 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0] 523 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd-logind 12 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khelper] 13 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kdevtmpfs] 14 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [netns] 15 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khungtaskd] 16 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [writeback] 17 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kintegrityd] 18 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [bioset]
free命令
- free -h查看內存使用情況
[root@aminglinux-02 ~]# free -h
total used free shared buff/cache available
Mem: 984M 114M 614M 6.7M 256M 698M
Swap: 2.0G 0B 2.0G
- buff/cache緩沖和緩存,cpu到磁盤需要的內存叫buff,反過來的內存叫cache。
- total=userd+free+buff/cache。shared共享的
- avaliable包含free和buff/cache剩余部分。
ps查看系統進程
- 用法:ps aux 所有的進程都列出來或者ps -elf
[root@aminglinux-02 ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 41128 2512 ? Ss Apr19 0:10 /usr/lib/systemd/systemd --switched-root -- root 2 0.0 0.0 0 0 ? S Apr19 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S Apr19 0:03 [ksoftirqd/0] root 5 0.0 0.0 0 0 ? S< Apr19 0:00 [kworker/0:0H]
- PID進程的ID需要殺死進程時使用,也可以使用ls -l /proc/505查看進程的目錄排除可疑進程
- VSZ虛擬內存
- RSS物理內存
- STAT部分狀態說明
- D不能中斷的進程,負載高但cpu使用百分比小
- R run狀態的進程
- S sleep狀態的進程,等待運行
- T 暫停的進程,這種不會耗費cpu多少資源
- Z 僵屍進程
- < 高優先級進程
- N 低優先級進程
- L內存中被鎖了內存分頁
- s 主進程,也是父進程
- l多線程進程,一個進程裏面有多個線程
- +前臺進程
查看網絡狀態
- netstat -lnp查看監聽的端口,用法:netstat -lnp |grep nginx,
- netstat -an 查看系統的網絡連接狀況,主要是tcp的連接狀態,三次握手
- netstat -lntp只看tcp的,不包含socket(進程之間通信)
- ss -an和netstat異曲同工
- netstat -an |awk ‘/^tcp/{++sta[$NF]} END {for(key in sta)print key,"\t",sta[key]}‘查看tcp的所有狀態數量,高並發的依據,主要查看ESTABLISHED狀態的數量,正在連接的客戶端
[root@aminglinux-02 ~]# netstat -an |awk ‘/^tcp/{++sta[$NF]} END {for(key in sta)print key,"\t",sta[key]}‘
LISTEN 4
ESTABLISHED 1
Linux下抓包
- yum install -y tcpdump安裝抓包工具
- tcpdump -nn -i ens33,nn顯示ip地址和端口,不加顯示主機名
- 一般都是tcp的包,DDoS--udpflood,udp的洪水攻擊,只能接入專業的設備和服務
- tcpdump -nn port 80 查看80端口的包
- tcpdump -nn not port 22 and host 192.168.0.100 查看這個host不包含22端口的所有包
- tcpdump -nn -c 100 -w /tmp/1.cap 抓取100個包保存到/tmp/1.cap
- tcpdump -r /tmp/1.cap 查看抓包文件
- 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" 抓包查看那個ip訪問網站的那個鏈接。
- yum install -y wireshark安裝tshark。
擴展
- tcp三次握手四次揮手
- " rel="nofollow">tshark幾個用法
監控io,網絡,端口,抓包