天天看點

Linux中的syslog 入門學習教程

syslog是linux系統中預設的日志守護程序,預設的syslog配置檔案是/etc/syslog.conf檔案。程式、守護程序和核心提供了通路系統的日志資訊。任何希望生成日志資訊的程式都可以向syslog接口呼叫産生該資訊。

幾乎所有的網絡裝置都可以通過syslog協定,将日志資訊通過udp方式傳送到遠端的伺服器,而遠端的伺服器通過syslogd監聽udp的514端口,并且根據syslog.conf配置檔案中的配置進行處理,接受通路系統的日志資訊,把指定的事件寫入到特定的檔案中,供背景資料庫管理和響應之用。它意味着我們可以讓任何事件都登入到一台或者多台伺服器上,以備背景資料庫用off-line也就是離線的方式來分析遠端裝置的事件。

而/etc/syslog.conf使用facility.level action的方式,而facility.level為選擇條件,它本身是兩個字段,之間用一個小數點分割,前一個字段是一個服務,後一個字段是一個優先級。選擇條件其實是對消息類型的一種分類,這種分類便于人們把不同類型的消息發送到不同的地方。在同一個syslog配置上允許出現一個以上的選擇條件,但是必須使用分号隔開。而action字段所表示的活動具有許多靈活性,特别是我們可以使用管道來使得syslogd生成後處理資訊。

通常facility指的是syslog可以檢測的功能,其中kern指的是核心資訊,它通過klogd來傳送,而user是使用者程序,而mail是郵件,而daemon是背景程序,而authpriv是授權資訊,而syslog是系統日志,而lpr是列印資訊,而new是新聞討論區資訊,而uucp則是由uucp産生的資訊,而cron則是計劃和任務資訊,而mark則是由syslog内部功能用于生成時間戳。而local0-7與自定義程式使用,比如使用local5表示ssh功能。而*表示出了mark之外的所有功能。

其中level指的是syslog的優先級,其中emerg或者panic表示系統不可用,而alert表示需要立即被修改的條件,而crit表示阻止某些工具或者子系統功能實作的錯誤條件,err表示阻止工具或者某些子系統部分功能實作的錯誤條件,而warning是警告消息,而notice則是普通消息,而info則是通知性消息。

syslog的守護程式是由/etc/rc.d/init.d/syslog腳本被調用啟動的,預設不使用選項。如果将要使用一個日志伺服器,必須調用syslogd -r,預設情況下syslog不接受來自遠端系統的消息。當指定了-r選項後,syslogd會監聽從514端口上進來的udp包。

如果還希望日志伺服器能夠傳送日志消息,則可以使用-h辨別。預設時,syslogd将忽略使其從一個遠端系統傳送日志消息到另一個系統的/etc/syslog.conf輸入項。

對配置檔案的修改需要重新開機syslogd程式才會生效,可以使用/etc/rc.d/init.d/syslog restart即可。更多精彩内容歡迎繼續通路系統部落(www.xitongbuluo.com)!