我們以Cisco為例來認識一下,路由器的一些重要資訊可以透過syslog機制在內部網路的Unix主機上作路由器日誌。在路由器執行過程中,路由器會向日志主機傳送包括鏈路建立失敗資訊、包過濾資訊等等日誌資訊,透過登入到日誌主機,網路管理員可以瞭解日誌事件,對日誌檔案進行分析,可以幫助管理員進行故障定位、故障排除和網路安全管理。
認識syslog裝置
首先介紹一下syslog裝置,它是標準Unix,的跟蹤記錄機制,syslog可以記錄本地的一些事件或透過網路記錄另外一個主機上的事件,然後將這些資訊寫到一個檔案或裝置中,或給使用者傳送一個資訊。
syslog機制主要依據兩個重要的檔案:/etc/syslogd(守護程式)和/etc /syslog.conf配置檔案,syslogd的控制是由/etc/syslog.conf來做的。syslog.conf檔案指明syslogd程式記錄路由器日誌故障的行為,該程式在啟動時查詢syslog.conf配置檔案。
該檔案由不同程式或訊息分類的單個條目組成,每個佔一行。對每類訊息提供一個選擇域和一個動作域。這些域由tab隔開(注意:只能用tab鍵來分隔,不能用空格鍵),其中選擇域指明訊息的型別和優先順序;動作域指明sysloqd接收到一個與選擇標準相匹配的訊息時所執行的動作。
每個選項是由裝置和優先順序組成。也就是說第一欄寫"在什麼情況下"及 "什麼程度"。然後用TAB鍵跳到下一欄繼續寫 "符合條件以後要做什麼"。當指明一個優先順序時,syslogd將記錄二個擁有相同或更高優先順序的訊息。每行的行動域指明當選擇域選擇了一個給定訊息後應該把他傳送到哪兒。第一欄包含了何種情況與程度,中間用小數點分隔。詳細的設定方式如下:
1.在什麼情況下記錄
◆各種不同的情況以下面的宇串來決定:
◆auth 關於系統安全與使用者認證;
◆cron關於系統自動排序執行(CronTable);
◆daemon 關於背景執行程式;
◆ken 關於系統核心;
◆Ipr 關於印表機;
◆mai1 關於電子郵件;
◆news 關於新聞討論區;
◆syslog 關於系統記錄本身;
◆user 關於使用者;
◆uucp關於UNIX互拷(UUCP)。
2.什麼程度才記錄
例如您要系統去記錄info等級的事件,則notice、err、warning、Crit、alert、emerg等在info等級以上的也會被一併記錄下來。把上面所寫的1、2項以小數點組合起來就是完整的"要記錄哪些東西"的寫法。
例如mail.info表示關於電子郵件傳送系統的一般性資訊。 auth.emerg就是關於系統安全方面相當嚴重的資訊。Ipr.none表示不要記錄關於印表機的資訊(通常用在有多個紀錄條件時組合使用)。另外有三種特殊的符號可供應用:
◆星號(*):代表某一細項中所有專案。例如mail.*表示只要有關mail的,不管什麼程度都要記錄下來。而*.info會把所有程度為infn的事件給記錄下來。
◆等號(=):表示只記錄目前這一等級,其上的等級不要記錄。例如上面的例子,平常寫下info等級時,也會把位於info等級上面的 notice.err.warning、crit、alert、emerg等其他等級也記錄下來。但若您寫=info則就只有記錄info這一等級了。
◆驚歎號(!):表示不要記錄目前這一等級及其上的等級。
3.記錄存放的位置
sysloqd提供下列方法供您記錄系統發生的事件:一般檔案,這是最普遍的方式。您可以指定好檔案路徑與檔名稱,但是必須以目錄符號"/"開始,系統才會知道這是一個檔案。例如/var/adm/maillog表示要記錄到/var/adm下面一個稱為maillog的檔案。如果之前沒有這個檔案,系統會自動產生一個。