線上操作與線上問題排查實戰
線上操作與線上問題排查實戰
- 一、瞭解機器連線數情況
- 二、從已經備份好的日誌中查詢資料
- 三、備份服務的技巧
- 四、查詢執行緒數
- 五、磁碟報警,清空最大檔案
- 六、顯示檔案,過濾註釋
瞭解機器連線數情況
問題:192.168.88.136的sshd的監聽埠是22,如何統計192.168.88.136的sshd服務各種連線狀態(TIME_WAIT/ CLOSE_WAIT/ ESTABLISHED)的連線數。
netstat -an | grep 192.168.88.136:22 | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' netstat -lnpta | grep ssh | egrep "TIME_WAIT | CLOSE_WAIT | ESTABLISHED"
說明:netstat是追查網路連線問題常用工具,和grep/awk結合更是神器。
從已經備份好的日誌中查詢資料
問題:從已備份的nginx.2017-08-15.log.bz2日誌中,找出包含關鍵字192.168.88.136的日誌有多少條。
參考答案: bzcat nginx.2017-08-15.log.bz2 | grep '192.168.88.136' | wc -l bzgrep '192.168.88.136' nginx.2017-08-15.log.bz2 | wc -l less nginx.2017-08-15.log.bz2 | grep '192.168.88.136' | wc -l
說明:線上日誌檔案一般以bz2 壓縮之後保留,如果解壓查詢,非常耗空間與時間,bzcat和bzgrep是必須掌握的工具。
備份服務的技巧
問題:打包備份/opt/web/src目錄,排除掉目錄中的logs和目錄,打包好的檔案存放在/opt/backup目錄下。
參考答案: tar -zcvf /opt/backup/web.tar.gz -exclude /opt/web/src/logs /opt/web/src
說明:這個命令線上應用較為頻繁,在專案需要打包遷移時,常常需要排除掉日誌目錄,exclude是需要掌握的引數。
查詢執行緒數
問題:查詢伺服器執行服務的匯流排程數,當機器執行緒數超報警閥值時,能快速查出相關程序及執行緒資訊。
參考答案: ps -eLf | wc -l pstree -p | wc -l
磁碟報警,清空最大檔案
問題:找出伺服器上,某個正在執行的tomcat產生的大量異常日誌,找出該檔案,並釋放空間。不妨設該檔案包含log關鍵字,並且大於1G。
參考答案: 第一步,找到該檔案 find / -type f -name "*log*" | xargs ls -lSh | more du -a / | sort -rn | grep log | more find / -name '*log*' -size +1000M -exec du -h {} \; 第二步,將檔案清空 假設找到的檔案為a.log 正確的情況方式應該為:echo "" >a.log,檔案空間會立刻釋放。
使用:rm -rf a.log,這樣檔案雖然刪除,但是因tomcat服務仍在執行,空間不會立刻釋放,需要重啟tomcat才能將空間釋放。
顯示檔案,過濾註釋
問題:顯示server.conf 檔案,遮蔽掉#號開頭的註釋行
參考答案: sed -n '/^[#]/!p' server.conf sed -e '/^#/d' server.conf grep -v "^#" server.conf
磁碟IO異常排查
問題:磁碟IO異常如何排查,類似寫入慢或當前使用率較高,請查出導致磁碟IO異常高的程序ID。
參考答案: 第一步:iotop -o 檢視當前正在寫磁碟操作的所有程序ID資訊。 第二步:如果此時各項寫入指標都很低,基本沒有大的寫入操作,則需要排查磁碟自身。可以檢視系統dmesg或cat /var/log/message 看看是否有相關的磁碟異常報錯,同時可以在寫入慢的磁碟上touch 一個空檔案看看,是否磁碟故障導致無法寫入。
作者:幸福丶如此
連結:https://blog.csdn.net/m0_37886429/article/details/77328617
版權歸作者所有,轉載請註明出處