Chapter 11 Syslog and Log Files(記錄檔)

前 言

伺服器的運作通常是全年無休,24小時運轉,Linux作業系統的系統日誌(System log)能幫你記錄系統中發生過的大小事件。一個管理者每天必須查看系統記錄,隨時掌握系統健康狀況,也應該要了解系統日誌運作原理,依照本身需求,打造一個適當的系統記錄 ,並能靈活運用系統日誌,提供穩定的電腦使用環境。

本文介紹Linux作業系統的記錄檔案(System Log)機制,針對syslog.conf說明系統日誌環境的設定,並對系統日誌的使用與管理提出一些應該注意事項。

UNIX作業系統的系統記錄

系統記錄檔記錄系統中所發生事件的人、事、時、地、物等相關訊息,藉由這些訊息,管理者可以了解到系統已顯現或潛藏的問題所在,並據此做出決策,以解決或預防此類事件影響系統正常運作。

UNIX上的系統記錄,基本上可以分成三類:
一、 syslogd無關系統記錄:
        系統核心記錄了一些與使用者帳號存取有關的訊息,此類是與syslogd這個程式無關的。例如wtmp、utmp、lastlog、pacct等。

二、 syslogd相關系統記錄檔:
         syslogd是UNIX中負責記錄大部分系統事件(event)的一個背景程式(daemon),syslogd可以經由設定,記錄包括核心、系統程式及使用者自行開發程式的運作情形及所發生的事件。

三、 應用程式運作記錄檔:
         UNIX中的應用程式,如Web Server,本身也會提供類似的記錄,管理者必須了解,但這不在本文探討範圍。例如Apache Server的access.log及error.log等。

系統的記錄一般以純文字或特殊格式的方式記錄於檔案中。前者的訊息可以用任何文字編輯緝查閱,上述第二類及大部分的第三類記錄檔屬之;後者則必須透過特殊程式查詢,上述第一類記錄檔屬之。以下針對第一類及第二類的記錄檔作功能性的描述。本文所有例子均以RedHat Linux 6.0為例,其他版本UNIX會有一些小差異。

Syslogd無關系統記錄檔

syslogd相關系統記錄檔

 

系統記錄與管理
UNIX的系統日誌範圍涵括帳號簽入、指令使用、系統及應用程式運作等重要訊息,所謂『鑒往知來』,管理者必須能夠熟練的運用這些系統歷史,才能夠對系統作最適當的性能調整,並使系統保持一個最佳的狀態。UNIX的系統記錄至少可以在以下三點,協助管理者 執行管理工作:

使用UNIX系統日誌該注意之事項
系統日誌利用檔案記錄方式,保留系統運作歷史,善加利用,對於幫助管理者掌握系統狀況注意不少,然而在這過程中,有些細節仍值得管理者注意,否則將是事倍功半,甚至適得其反。

結論
身為系統管理者,你是一個服務提供者(Service Provider),你需要知道你的Web Server中網頁被存取的形態,以便作每一個網頁閱讀率的統計;你需要知道為什麼Email Server為何在某個時段,總會『凸鎚』,信總是不容易寄進來;你必須知道在某一個時間點,到底有哪些人曾經做過檔案刪除的動作,以便處理一個使用者『檔案不明失蹤』案件; 如果系統被不當入侵時,你也應該能夠知道『誰』、『什麼時候』曾從『何處』進入系統,並『做了什麼事』。
諸如此類攸關系統管理的重要訊息,你都可以從系統的記錄檔,獲得重要的訊息;但是前提是,你了解他們,並且妥善的安排他們,否則你會發現,當你真正需要他們的時後,你不見得找得到,或者是,他們根本從未在你的系統存在過。
『系統管理』貴在『未雨綢繆』,你是管理者嗎?如果是的話,你該花一些時間,好好的看一看,並妥善安排你的系統記錄檔。