2003 年 3 月 01 日 IBM 電子商務架構師 Chris Walden 將通過他在 developerWorks 上發(fā)表的九篇系列文章來指導您如何在 Linux 環(huán)境中運用您的 Windows 操作技巧。在本部分,我們追蹤、處理和輪循日志,以增強系統安全,收集信息。 成功地管理任何系統的關鍵之一,是要知道系統中正在發(fā)生什么事。Linux 中提供了異常日志,并且日志的細節(jié)是可配置的。 Linux 日志都以明文形式存儲,所以您不需要特殊的工具就可以搜索和閱讀它們。您還可以編寫腳本,來掃描這些日志,并基于它們的內容去自動執(zhí)行某些功能。 Linux 日志存儲在 /var/log 目錄中。這里有幾個由系統維護的日志文件,但其他服務和程序也可能會把它們的日志放在這里。大多數日志只有 root 才可以讀,不過只需要修改文件的訪問權限就可以讓其他人可讀。 messages 日志是核心系統日志文件。它包含了系統啟動時的引導消息,以及系統運行時的其他狀態(tài)消息。IO 錯誤、網絡錯誤和其他系統錯誤都會記錄到這個文件中。其他信息,比如某個人的身份切換為 root,也在這里列出。如果服務正在運行,比如 DHCP 服務器,您可以在 messages 文件中觀察它的活動。通常,/var/log/messages 是您在做故障診斷時首先要查看的文件。 這個日志記錄的是 Xfree86 Xwindows 服務器最后一次執(zhí)行的結果。如果您在啟動到圖形模式時遇到了問題,一般情況從這個文件中會找到失敗的原因。 根據您的 Linux 發(fā)行版本以及您所運行的服務和應用程序的不同,/var/log 目錄下還會有其他日志文件。例如,可能會有與郵件服務器、資源共享、自動任務等相關的日志。
您將看到,/var/log 目錄下有一些文件以一個數字結尾,這些是已輪循的歸檔文件。日志文件會變得特別大,特別笨重。Linux 提供了一個命令來輪循這些日志,以使您的當前日志信息不會淹沒在舊的無關信息之中。 您可以通過編輯 /etc/logrotate.conf 文件來配置
任何文本工具都可以用來處理日志文件。下面是一些特別有用的工具。 dmesg
上面的命令將以分頁的方式顯示引導信息。 tail
上面的命令將顯示 /var/log/messages 文件的最后 10 行,然后繼續(xù)監(jiān)控那個文件,并輸出新的行為。要停止 more
使用“q”或者 [Ctrl]-C 來停止查看文件。 less
上面的命令將顯示 /var/log/messages 文件的內容。使用“q”來停止查看文件。使用“h”來獲得 logger
有兩個服務,或者稱之為后臺程序,在控制日志,分別是 本質上,軟件所產生的每一條消息都提供一些信息用于確定消息是從哪里來的以及這個消息是什么。/etc/syslog.conf 文件允許您來指定如何處理那種類型的消息。您可以將它轉儲到消息文件,也可以將它轉儲到一個定制的文件。您可以將它發(fā)送到遠程的主機,由遠程主機來根據其自己的 syslogd 配置來處理它。遠程日志是一個非常好的安全功能。通過將您的日志放置到遠程系統中,您可以防止有人通過改變日志文件來掩飾其蹤跡。 下面是取自
第一個規(guī)則將所有內核消息定向到 /var/adm/kernel 文件。 第二個語句將所有優(yōu)先級為 crit 或者更高的內核消息定向到一個名為 finlandia 的遠程主機。這是有用的,因為如果主機崩潰以及磁盤錯誤無法恢復,您將無法讀取存儲的消息。如果那些消息同時在遠程主機上也存在,您就依然可以找出崩潰的原因。 第三個規(guī)則將這些消息定向到實際的控制臺,這樣,在這臺機器上工作的人也可以看到它們。 第四行告訴 syslogd 將所有優(yōu)先級為 info 到 warning 的內核消息保存到 /var/adm/kernel-info 文件。所有優(yōu)先級為 err 以及更高的消息不包括在內。 像這種定制日志的能力為 Linux 環(huán)境提供了極大的靈活性與可控制性。
Webmin 有一個用于操作日志文件的模塊。 圖 1. Webmin 系統日志視圖 顯示了所有配置的日志文件。點擊一個日志文件來編輯它的配置。 圖 2. Webmin 日志編輯屏幕 或者您可以點擊 View 來查看日志文件的內容。
Webmin 模塊與 /etc/syslog.conf 文件相關聯,因此您對其中一個所做的修改會影響另一個。
Linux 中的日志文件對于系統的故障診斷和維護來說至關重要。Linux 日志記錄到文本文件,所以不需要專門的工具來查看這些文件。文本文件也容易用于定制腳本和程序。 日志被輪循,以避免變得過大,同時可以將當前信息與老的數據相分離。日志輪循是可配置的。 日志是高度可配置的,為了安全和備份,日志甚至可以存儲到單獨的系統中。您可以讓自己的腳本和程序產生系統日志消息,這些消息將被 syslogd 后臺進程識別出并進行處理。
|
|