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)!
RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成