Linux下常用的故障排查命令列

2021-06-07 02:09:42 字數 3406 閱讀 2626

1.檢視tcp連線狀態

netstat -nat |awk ''|sort|uniq -c|sort -rn

netstat -n | awk '/^tcp/ ;end '

netstat -n | awk '/^tcp/ ; end '

netstat -n | awk '/^tcp/ ;end '

netstat -n |awk '/^tcp/ '|sort|uniq -c|sort -rn

netstat -ant | awk '' | grep -v '[a-z]' | sort | uniq -c

netstat -ant|awk '/ip:80/end' |sort -n

netstat -ant|awk '/:80/end' |sort -rn|head -n 10

awk 'beginend'

netstat -anlp|grep 80|grep tcp|awk ''|awk -f: ''|sort|uniq -c|sort -nr|head -n20

netstat -ant |awk '/:80/end' |sort -rn|head -n20

3.用tcpdump嗅探80埠的訪問看看誰最高

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -f"." '' | sort | uniq -c | sort -nr |head -20

4.查詢較多time_wait連線

netstat -n|grep time_wait|awk ''|sort|uniq -c|sort -rn|head -n20

5.找查較多的syn連線

netstat -an | grep syn | awk '' | awk -f: '' | sort | uniq -c | sort -nr | more

6.根據埠列程序

netstat -ntlp | grep 80 | awk '' | cut -d/ -f1

1.獲得訪問前10位的ip位址

cat access.log|awk ''|sort|uniq -c|sort -nr|head -10

cat access.log|awk '; end '

2.訪問次數最多的檔案或頁面,取前20及統計所有訪問ip

cat access.log|awk ''|sort|uniq -c|sort -nr|head -20

awk '' access.log |sort -n -r |uniq -c|wc -l

cat access.log |awk '($7~/\.exe/)'|sort -nr|head -20

4.列出輸出大於200000byte(約200kb)的exe檔案以及對應檔案發生次數

cat access.log |awk '($10 > 200000 && $7~/\.exe/)'|sort -n|uniq -c|sort -nr|head -100

5.如果日誌最後一列記錄的是頁面檔案傳輸時間,則有列出到客戶端最耗時的頁面

cat access.log |awk '($7~/\.php/)'|sort -nr|head -100

6.列出最最耗時的頁面(超過60秒的)的以及對應頁面發生次數

cat access.log |awk '($nf > 60 && $7~/\.php/)'|sort -n|uniq -c|sort -nr|head -100

7.列出傳輸時間超過 30 秒的檔案

cat access.log |awk '($nf > 30)'|sort -n|uniq -c|sort -nr|head -20

8.統計**流量(g)

cat access.log |awk ' end '

9.統計404的連線

awk '($9 ~/404/)' access.log | awk '' | sort

10. 統計http status.

cat access.log |awk '; end '

cat access.log |awk ''|sort|uniq -c|sort -rn

11.每秒併發:

awk 'end'|sort -k 2 -nr|head -n10

12.頻寬統計

cat apache.log |awk 'end'

cat apache.log |awk 'end'

13.統計物件數量及物件平均大小

cat access.log |awk 'end'

cat access.log |awk 'end

14.取5分鐘日誌

if [ $date_minute != $date_end_minute ] ;then #則判斷開始時間戳與結束時間戳是否相等start_line=`sed -n "/$date_minute/=" $apache_log|head -n1` #如果不相等,則取出開始時間戳的行號,與結束時間戳的行號

#end_line=`sed -n "/$date_end_minute/=" $apache_log|tail -n1`

end_line=`sed -n "/$date_end_minute/=" $apache_log|head -n1`sed -n "$,$p" $apache_log > $minute_log ##通過行號,取出5分鐘內的日誌內容 存放到 臨時檔案中

get_start_time=`sed -n "$p" $apache_log|awk -f '[' '' |awk ''|

sed 's#/# #g'|sed 's#:# #'` #通過行號獲取取出開始時間戳

get_end_time=`sed -n "$p" $apache_log|awk -f '[' '' |awk ''|sed

's#/# #g'|sed 's#:# #'` #通過行號獲取結束時間戳

15.蜘蛛分析

檢視是哪些蜘蛛在抓取內容

/usr/sbin/tcpdump -i eth0 -l -s 0 -w - dst port 80 | strings | grep -i user-agent | grep -i -e 'bot|crawler|slurp|spider'

**日分析2(squid篇)

2.按域統計流量

zcat squid_access.log.tar.gz| awk '' |awk 'beginend}'

資料庫篇

1.檢視資料庫執行的sql

/usr/sbin/tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings | egrep -i 'select|update|delete|insert|set|commit|rollback|create|drop|alter|call'

系統debug分析篇

1.除錯命令

strace -p pid

2.跟蹤指定程序的pid

gdb -p pid

linux 下排查故障命令

ps aux grep dbsync ll 檢視當前檔案 ps aux grep dbsync 檢視日誌 root yanbianxian dbsync danxiang dbsync danx cmd.jar config.ini bash dbsync danx cmd.jar permissi...

華為DHCP故障常用排查命令

dhcp伺服器 dhcp中繼 dhcp snooping都使用dhcp協議棧接收 傳送dhcp報文。dhcp客戶端只使用dhcp協議棧接收dhcp報文,不使用dhcp協議棧傳送dhcp報文。因此在定位dhcp相關業務的故障時,都需要檢視dhcp協議棧的統計資訊。不需要dhcp伺服器 dhcp中繼 d...

MongoDB 常用故障排查工具

1.profileprofiling levels 0,關閉profile 1,只抓取slow查詢 2,抓取所有資料。啟動profile並且設定profile級別 可以通過mongo shell啟動,也可以通過驅動中的profile命令啟動,啟動後記錄會被儲存在system.profile coll...