linux主機宕機排查思路


  1. linux主機宕機排查思路
  2. 原因分析

    服務器分類,web服務器,數據庫服務器,文件服務器,中間件,其它服務器。

    web服務器分析:常見的web應用apache,nginx,IIS等。

    宕機原因很多,cpu,內存,IO磁盤,應用BUG,內核BUG,硬件等

     

    系統和內核版本

    流程

    1.查看宕機的時間記錄和歷史登陸還有重啟時間

    last reboot

    last -F |grep crash

    查看歷史登陸有沒有異常的用戶

    last

    2.首先查看系統日志。如linux下的/var/log/下的log日志,包括message,內核報錯日志demsg等等,sa記錄,是記錄cpu,內存等運行的性能文件,記錄着運行時的cpu的運行狀態如圖所示。

    利用sa文件查看宕機時CPU情況

    利用sa文件查看宕機時內存情況

    日志量往往很大

    還可以進行模糊查詢,如

    查看報錯

    tail -200 /var/log/messages |grep "Error"

    cat /var/log/dmesg |grep "Error"

    查看內核崩潰日志

    tail -200 /car/log/messages |grep "crash"

    查看是否出現OOM,一般會出現kill殺死進程的情況

    cat /var/log/messages |grep -i "kill"

    還可以查看宕機時間段的日志,查看12月11日15點的日志

    cat /vat/log/messages |grep "Feb 11 15*"

     

    3.查看內存使用

    free -m,查看swap的使用和內存剩余情況和緩存。如果swap用了,且available也不夠了,具體還要查看參數cat /proc/sys/vm/swappiness,如果設置為0,說明內存不夠了。

    4.查看io和文件系統使用

    觀察idle和iowait。磁盤讀寫時會用到緩存,一般為系統內存的40%,但是中間有一個緩沖時間120秒,將要用完這個緩存時,且會等待120秒,才會寫入磁盤,在讀寫頻繁的時候容易造成hang住的情況。

    查看IO的讀寫速度,如果很慢說明磁盤性能出現瓶頸。

    文件系統使用

     

    5.查看安全日志

    安全日志為/var/log/secure,查看history記錄,查看是否有人登陸主機並做了惡意動作,例如關機。

     

    6.利用kdump和crash工具分析內核

    檢查服務器開啟了kdump服務,並在/var/crash目錄找到了當天生成的vmcore文件,使用crash工具分析vmcore文件。

     

     

    Kdump 用於對內存鏡像的轉儲,它不但可以轉儲內存鏡像到本地硬盤,還可以將內存鏡像通過NFS,SSH 等協議轉儲到不同機器的設備上。

    Kdump 分為兩個組件:Kexec 和Kdump。

    Kexec 是一種內核的快速啟動工具,可以使新的內核在正在運行的內核(生產內核)的上下文中啟動,而不需要通過耗時的BIOS 檢測,方便內核開發人員對內核進行調試。

    Kdump 是一種有效的內存轉儲工具,啟用 Kdump 后,生產內核將會保留一部分內存空間,用於在內核崩潰時通過 Kexec 快速啟動到新的內核,這個過程不需要重啟系統,因此可以轉儲崩潰的生產內核的內存鏡像。

     

    7.查看服務日志和監控軟件

    如果在能找到宕機時進程的占用情況,可以根據占用異常的服務查看其日志。

    服務日志一般有數據庫和web服務,中間件,框架等。

     

    還可以查看監控軟件的歷史記錄圖像,找到峰值點和宕機時間點的圖像分析如下圖。

     

    8.總結

    系統宕機的原因很多,需要我們細心的按照流程分析,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM