Linux日誌分析

來源:互聯網
上載者:User

成功地管理任何系統的關鍵之一,是要知道系統中正在發生什麼事。Linux中提供了異常日誌,並且日誌的細節是可配置的。 
 
Linux日誌都以明文形式儲存,所以您不需要特殊的工具就可以搜尋和閱讀它們。您還可以編寫指令碼,來掃描這些日誌,並基於它們的內容去自動執行某些功能。 
 
Linux 日誌儲存在 /var/log目錄中。這裡有幾個由系統維護的記錄檔,但其他服務和程式也可能會把它們的日誌放在這裡。大多數日誌只有 root才可以讀,不過只需要修改檔案的存取權限就可以讓其他人可讀。 
 
/var/log/messages 
 
messages 日誌是核心系統記錄檔。它包含了系統啟動時的引導訊息,以及系統運行時的其他狀態訊息。IO錯誤、網路錯誤和其他系統錯誤都會記錄到這個檔案中。其他資訊,比如某個人的身份切換為 root,也在這裡列出。如果服務正在運行,比如DHCP 伺服器,您可以在 messages 檔案中觀察它的活動。通常,/var/log/messages是您在做故障診斷時首先要查看的檔案。 
 
/var/log/XFree86.0.log 
 
這個日誌記錄的是 Xfree86 Xwindows伺服器最後一次執行的結果。如果您在啟動到圖形模式時遇到了問題,一般情況從這個檔案中會找到失敗的原因。 
 
其他日誌 
 
根據您的 Linux 發行版本以及您所啟動並執行服務和應用程式的不同,/var/log目錄下還會有其他記錄檔。例如,可能會有與郵件伺服器、資源共用、自動任務等相關的日誌。 
 
準備好了就開始輪循 
 
您將看到,/var/log 目錄下有一些檔案以一個數字結尾,這些是已輪循的歸檔檔案。記錄檔會變得特別大,特別笨重。Linux提供了一個命令來輪循這些日誌,以使您的當前日誌資訊不會淹沒在舊的無關資訊之中。 logrotate通常是定時自動啟動並執行,但是也可以手工運行。當執行後,logrotate將取得目前的版本的記錄檔,然後在這個檔案名稱最後附加一個“.1”。其他更早輪循的檔案為“.2”、“.3”,依次類推。檔案名稱後的數字越大,日誌就越老。 
 
您可以通過編輯 /etc/logrotate.conf 檔案來配置 logrotate 的自動行為。通過 man logrotate來學習 logrotate 的全部細節。 
 
日誌工具 
 
任何文本工具都可以用來處理記錄檔。下面是一些特別有用的工具。 
 
dmesg 
使用 dmesg命令可以快速查看最後一次系統引導的引導日誌。通常它的內容會很多,所以您往往會希望將其通過管道傳輸到一個閱讀器。 
 
dmesg | more 
 
上面的命令將以分頁的方式顯示引導資訊。 
 
tail 
有時,當某些行為發生時,您會希望密切關注一個記錄檔。 Tail 命令設計用於顯示文字檔的最後幾行。使用 -f開關,當日誌增加新的內容時, tail 將繼續顯示新的輸出。 
 
tail -f /var/log/messages 
 
上面的命令將顯示 /var/log/messages 檔案的最後 10 行,然後繼續監控那個檔案,並輸出新的行為。要停止 tail-f 命令,使用 Ctrl + C 來中止進程。 
 
more 
More 的工作方式與 DOS版本相同。您可以將它指向一個檔案,或者通過它以管道輸出資訊,以分頁的方式來查看資訊。例如,以分頁方式顯示 Xfree86開機記錄檔案的內容: 
 
more /var/log/XFree86.0.log 
 
使用“q”或者 [Ctrl]-C 來停止查看檔案。 
 
less 
Less 是另一個文本閱讀器,不過它還允許在檔案中滾動瀏覽以及檢索資訊。 
 
less /var/log/messages 
 
上面的命令將顯示 /var/log/messages 檔案的內容。使用“q”來停止查看檔案。使用“h”來獲得 less的使用協助。 
 
logger 
您可能會希望將自己的訊息也記錄到記錄檔。您可以只是將日誌訊息附加到恰當的文字檔,但是您必須得套用日誌資訊格式。同樣,如果日誌系統被定製,您還將不得不修改您的代碼。llogger命令使您可以將自己的訊息發送到日誌工具。在指令碼中使用它來提供關於執行和錯誤的訊息。 
 
定製的日誌 
 
有兩個服務,或者稱之為背景程式,在控制日誌,分別是 klogd 和 syslogd 。 klogd 只處理核心訊息, syslogd處理其他系統訊息,比如應用程式。您可以通過編輯 /et/syslog.conf 和 /etc/sysconfig/syslog來配置它們的行為。完全定製日誌超出了本文的範圍,不過在本文最後的 參考資料 列表中可以找到詳細的資料。您也可以查看/etc/syslogd.conf 的 man 頁面來進一步學習。 
 
本質上,軟體所產生的每一條訊息都提供一些資訊用於確定訊息是從哪裡來的以及這個訊息是什麼。/etc/syslog.conf檔案允許您來指定如何處理那種類型的訊息。您可以將它轉儲到訊息檔案,也可以將它轉儲到一個定製的檔案。您可以將它發送到遠端主機,由遠程主機來根據其自己的syslogd配置來處理它。遠程日誌是一個非常好的安全功能。通過將您的日誌放置到遠程系統中,您可以防止有人通過改變記錄檔來掩飾其蹤跡。 
 
下面是取自 man /etc/syslog.conf 頁面中的一個定製日誌的例子: 
 
# Kernel messages are first, stored in thekernel 
# file, critical messages and higher ones alsogo 
# to another host and to the console 

kern.* /var/adm/kernel 
kern.crit @finlandia 
kern.crit /dev/console 
kern.info;kern.!err /var/adm/kernel-info 
 
第一個規則將所有核心訊息定向到 /var/adm/kernel 檔案。 
 
第二個語句將所有優先順序為 crit 或者更高的核心訊息定向到一個名為 finlandia的遠程主機。這是有用的,因為如果主機崩潰以及磁碟錯誤無法恢複,您將無法讀取儲存的訊息。如果那些訊息同時在遠程主機上也存在,您就依然可以找出崩潰的原因。 
 
第三個規則將這些訊息定向到實際的控制台,這樣,在這台機器上工作的人也可以看到它們。 
 
第四行告訴 syslogd 將所有優先順序為 info 到 warning 的核心訊息儲存到 /var/adm/kernel-info檔案。所有優先順序為 err 以及更高的訊息不包括在內。 
 
像這種定製日誌的能力為 Linux 環境提供了極大的靈活性與可控制性。 
 
Webmin 中的日誌配置 
 
Webmin 有一個用於動作記錄檔案的模組。 
 
 
 
圖 1. Webmin 系統日誌視圖 
 
顯示了所有配置的記錄檔。點擊一個記錄檔來編輯它的配置。 
 
 
 
圖 2. Webmin 日誌編輯螢幕 
 
或者您可以點擊 View 來查看記錄檔的內容。 
 
在控制台中查看記錄檔 
 
由於 Linux 中的記錄檔以明文的形式記錄,所以不需要特殊的工具來解釋它們。任何文字檔閱讀器都可以顯示 Linux記錄檔。瀏覽器,比如 Mozilla,可以顯示記錄檔,並且提供搜尋功能。Linux 還有控制台工具可以查看文字檔。 more,如同 MS DOS 版本一樣以分頁方式顯示檔案。 less命令將在唯讀閱讀器中顯示檔案,這個閱讀器具有雙向滾動和搜尋的功能。現在,在命令列中輸入 less /var/log/messages,體會一下這個命令。 
 
Webmin 模組與 /etc/syslog.conf檔案相關聯,因此您對其中一個所做的修改會影響另一個。 
 
您生活中的日誌 
 
Linux 中的記錄檔對於系統的故障診斷和維護來說至關重要。Linux日誌記錄到文字檔,所以不需要專門的工具來查看這些檔案。文字檔也容易用於定製指令碼和程式。 
 
日誌被輪循,以避免變得過大,同時可以將當前資訊與老的資料相分離。日誌輪循是可配置的。 
 
日誌是高度可配置的,為了安全和備份,日誌甚至可以儲存到單獨的系統中。您可以讓自己的指令碼和程式產生系統日誌訊息,這些訊息將被syslogd 後台進程識別出並進行處理。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.