2021-05-12 14:32:11
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指令碼被呼叫啟動的,預設不使用選項。如果將要使用一個紀錄檔伺服器,必須呼叫syslogd -r,預設情況下syslog不接受來自遠端系統的訊息。當指定了-r選項後,syslogd會監聽從514埠上進來的udp包。
如果還希望紀錄檔伺服器能夠傳送紀錄檔訊息,則可以使用-h標識。預設時,syslogd將忽略使其從一個遠端系統傳送紀錄檔訊息到另一個系統的/etc/syslog.conf輸入項。
對組態檔的修改需要重新啟動syslogd程式才會生效,可以使用/etc/rc.d/init.d/syslog restart即可。
在 Linux 上設定一個 syslog 伺服器 http://www.linuxidc.com/Linux/2015-03/114802.htm
syslog使用介紹 http://www.linuxidc.com/Linux/2014-12/110892.htm
在chroot環境下將MySQL紀錄檔輸出到syslog http://www.linuxidc.com/Linux/2014-09/106130.htm
syslog分類設定 http://www.linuxidc.com/Linux/2013-12/93854.htm
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-04/115851.htm
相關文章