Linux系統入門學習: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指令碼被調用啟動的,預設不使用選項。如果將要使用一個Log Service器,必須調用syslogd -r,預設情況下syslog不接受來自遠程系統的訊息。當指定了-r選項後,syslogd會監聽從514連接埠上進來的udp包。
如果還希望Log Service器能夠傳送記錄訊息,則可以使用-h標識。預設時,syslogd將忽略使其從一個遠程系統傳送記錄訊息到另一個系統的/etc/syslog.conf輸入項。
對設定檔的修改需要重啟syslogd程式才會生效,可以使用/etc/rc.d/init.d/syslog restart即可。
在 Linux 上配置一個 syslog 伺服器
syslog使用介紹
在chroot環境下將MySQL日誌輸出到syslog
syslog分類配置
本文永久更新連結地址: