歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux系統入門學習:Linux中的syslog

Linux系統入門學習:Linux中的syslog

日期:2017/2/28 14:02:50   编辑:Linux教程

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

Copyright © Linux教程網 All Rights Reserved