對linux下syslogd以及syslog.conf文件的解讀說明
1: syslog.conf的介紹
對于不同類型的Unix,標(biāo)準(zhǔn)UnixLog系統(tǒng)的設(shè)置,實(shí)際上除了一些關(guān)鍵詞的不同,系統(tǒng)的syslog.conf格式是相同的。syslog采用可配置的、統(tǒng)一的系統(tǒng)登記程序,隨時(shí)從系統(tǒng)各處接受log請求,然后根據(jù)/etc/syslog.conf中的預(yù)先設(shè)定把log信息寫入相應(yīng)文件中、郵寄給特 定用戶或者直接以消息的方式發(fā)往控制臺(tái)。值得注意的是,為了防止入侵者修改、刪除messages里的記錄信息,可以采用用打印機(jī)記錄或采用方式來挫敗入 侵者的企圖。
2: syslog.conf的格式
可以參考man [5] syslog.conf。這里是對syslog.conf的簡單介紹。
/etc/syslog.conf文件中的一項(xiàng)配置記錄由“選項(xiàng)”(selector)和“動(dòng)作”(action)兩個(gè)部分組成,兩者間用tab制表符進(jìn) 行分隔(使用空格間隔是無效的)。而“選項(xiàng)”又由一個(gè)或多個(gè)形如“類型.級別”格式的保留字段組合而成,各保留字段間用分號分隔。如下行所示:
類型.級別 [;類型.級別] `TAB` 動(dòng)作
2.1 類型
保留字段中的“類型”代表信息產(chǎn)生的源頭,可以是:
auth 認(rèn)證系統(tǒng),即詢問用戶名和口令
cron 系統(tǒng)定時(shí)系統(tǒng)執(zhí)行定時(shí)任務(wù)時(shí)發(fā)出的信息
daemon 某些系統(tǒng)的守護(hù)程序的syslog,如由in.ftpd產(chǎn)生的log
kern 內(nèi)核的syslog信息
lpr 打印機(jī)的syslog信息
mail 郵件系統(tǒng)的syslog信息
mark 定時(shí)發(fā)送消息的時(shí)標(biāo)程序
news 新聞系統(tǒng)的syslog信息
user 本地用戶應(yīng)用程序的syslog信息
uucp uucp子系統(tǒng)的syslog信息
local0..7 種本地類型的syslog信息,這些信息可以又用戶來定義
* 代表以上各種設(shè)備
2.2 級別
保留字段中的“級別”代表信息的重要性,可以是:
emerg 緊急,處于Panic狀態(tài)。通常應(yīng)廣播到所有用戶;
alert 告警,當(dāng)前狀態(tài)必須立即進(jìn)行糾正。例如,系統(tǒng)數(shù)據(jù)庫崩潰;
crit 關(guān)鍵狀態(tài)的警告。例如,硬件故障;
err 其它錯(cuò)誤;
warning 警告;
notice 注意;非錯(cuò)誤狀態(tài)的報(bào)告,但應(yīng)特別處理;
info 通報(bào)信息;
debug 調(diào)試程序時(shí)的信息;
none 通常調(diào)試程序時(shí)用,指示帶有none級別的類型產(chǎn)生的信息無需送出。如*.debug;mail.none表示調(diào)試時(shí)除郵件信息外其它信息都送出。
2.3 動(dòng)作
“動(dòng)作”域指示信息發(fā)送的目的地。可以是:
/filename 日志文件。由絕對路徑指出的文件名,此文件必須事先建立;
@host 遠(yuǎn)程主機(jī); @符號后面可以是ip,也可以是域名,默認(rèn)在/etc/hosts文件下loghost這個(gè)別名已經(jīng)指定給了本機(jī)。
user1,user2 指定用戶。如果指定用戶已登錄,那么他們將收到信息;
* 所有用戶。所有已登錄的用戶都將收到信息。
3: 具體實(shí)例
我們來看看/etc/syslog.conf文件中的實(shí)例:
……
*.err;kern.debug;daemon.notice;mail.crit [TAB] /var/adm/messages
……
這行中的“action”就是我們常關(guān)心的那個(gè)/var/adm/messages文件,輸出到它的信息源頭“selector”是:
*.err - 所有的一般錯(cuò)誤信息;
kern.debug - 核心產(chǎn)生的調(diào)試信息;
daemon.notice - 守護(hù)進(jìn)程的注意信息;
mail.crit - 郵件系統(tǒng)的關(guān)鍵警告信息
4:syslog.conf內(nèi)容
日志文件由系統(tǒng)日志和內(nèi)核日志監(jiān)控程序syslogd 與klogd 控制, 在/etc/syslog.conf 文件中配置這兩個(gè)監(jiān)控程序默認(rèn)活動(dòng)。
日志文件按/etc/syslog.conf 配置文件中的描述進(jìn)行組織。以下是/etc/syslog.conf 文件的內(nèi)容:
[root@localhost ~]# cat /etc/syslog.conf # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access. authpriv.* /var/log/secure # Log all the mail messages in one place. mail.* -/var/log/maillog # Log cron stuff cron.* /var/log/cron # Everybody gets emergency messages *.emerg * # Save news errors of level crit and higher in a special file. uucp,news.crit /var/log/spooler # Save boot messages also to boot.log local7.* /var/log/boot.log
5.版本
Syslog機(jī)制是類unix系統(tǒng)中經(jīng)常使用的一種日志記錄方式。它能夠以多種級別組合記錄系統(tǒng)運(yùn)行過程中各類日志信息。比如內(nèi)核運(yùn)行信息日志,程序運(yùn)行 輸出的日志等。在為嵌入式系統(tǒng)做開發(fā)時(shí),將程序運(yùn)行時(shí)的一些重要信息寫入日志中,對于程序的調(diào)試以及錯(cuò)誤診斷幫助是非常大的。重要信息包括程序運(yùn)行時(shí)的重 要變量,函數(shù)運(yùn)行結(jié)果,錯(cuò)誤記錄等等。對于嵌入式系統(tǒng)而言,由于系統(tǒng)資源有限,而且是交叉開發(fā),調(diào)試及診斷及其不便。使用syslog機(jī)制,可大大簡化這 些工作。
并不是所有嵌入式系統(tǒng)都可以使用syslog。首先,系統(tǒng)使用類unix操作系統(tǒng),常用的就是linux。其次,為了支持遠(yuǎn)程日志記錄,系統(tǒng)中必須支持網(wǎng)絡(luò)通信。所幸,目前大部分嵌入式系統(tǒng)都是基于linux,并且支持網(wǎng)絡(luò)。以下論述具體實(shí)現(xiàn)。
在編譯busybox時(shí),選擇syslog應(yīng)用程序,并將busybox加入到linux的文件系統(tǒng)中去。嵌入式系統(tǒng)啟動(dòng)后,就可以配置syslog的客 戶端。根據(jù)busybox版本,syslog的服務(wù)進(jìn)程syslogd的配置有所不同。早期的syslogd忽略syslog.conf文件內(nèi)的配置項(xiàng), 直接使用命令參數(shù)進(jìn)行配置。新版本的syslogd支持使用syslog.conf文件進(jìn)行配置??梢酝ㄟ^syslogd –h察看幫助信息,以確定當(dāng)前的syslogd版本。
當(dāng)不支持syslog.conf配置時(shí),直接使用命令參數(shù),輸入以下命令啟動(dòng)syslogd:
syslogd -n -m 0 -L -R 192.190.1.88
其中-n選項(xiàng)表示進(jìn)程在前臺(tái)運(yùn)行。
-m選項(xiàng)指定循環(huán)間隔時(shí)間。
-L選項(xiàng)表示在進(jìn)行遠(yuǎn)程日志記錄的同時(shí),本地也進(jìn)行記錄。如果不加該選項(xiàng),則只進(jìn)行遠(yuǎn)程日志記錄。
-R表示進(jìn)行遠(yuǎn)程日志記錄,將syslog日志發(fā)送到目標(biāo)服務(wù)器上。這里假定目標(biāo)服務(wù)器為的IP地址為192.190.1.88。如果不指定端口,默認(rèn)使用UDP端口514。所以要確保服務(wù)器上該端口沒用被占用。
啟動(dòng)后,所有的日志信息都會(huì)發(fā)往服務(wù)器的UDP端口514。
當(dāng)支持syslog.conf配置時(shí),只需修改該配置文件即可。在文件中增加以下語句:
*.* @192.190.1.88
以上配置表示將所有syslog的日志發(fā)往服務(wù)器192.190.1.88,使用默認(rèn)的UDP端口。由于syslog.conf配置相對比較靈活,可以設(shè)置 屏蔽一些不需要的信息,以及設(shè)置指定的端口等等。請參考syslog.conf的有關(guān)命令,自行研究。然后啟動(dòng)syslogd即可進(jìn)行遠(yuǎn)程記錄。
這篇對linux下syslogd以及syslog.conf文件的解讀說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
CentoS6.5環(huán)境下redis4.0.1(stable)安裝和主從復(fù)制配置方法
這篇文章主要介紹了CentoS6.5環(huán)境下redis4.0.1(stable)安裝和主從復(fù)制配置方法,結(jié)合實(shí)例形式分析了CentoS6.5下redis4.0.1的安裝和主從復(fù)制配置相關(guān)步驟、命令與操作注意事項(xiàng),需要的朋友可以參考下2018-04-04Apache的壓力測試以及web性能優(yōu)化的常用知識總結(jié)
這篇文章主要介紹了Apache的壓力測試以及web性能優(yōu)化的常用知識總結(jié),筆記由《構(gòu)建高性能web站點(diǎn)》這本高人氣書籍整理而來,需要的朋友可以參考下2015-12-12在Linux系統(tǒng)下如何編譯并執(zhí)行C++程序
這篇文章主要介紹了在Linux系統(tǒng)下如何編譯并執(zhí)行C++程序問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01linux 普通用戶切換成root免密碼的實(shí)現(xiàn)
下面小編就為大家?guī)硪黄猯inux 普通用戶切換成root免密碼的實(shí)現(xiàn)。小編覺得挺不錯(cuò)的?,F(xiàn)在就分享給大家。也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12CentOS環(huán)境下安裝Redis3.0及phpredis擴(kuò)展測試示例
這篇文章主要介紹了CentOS環(huán)境下安裝Redis3.0及phpredis擴(kuò)展測試,結(jié)合實(shí)例形式分析了CentOS下Redis安裝相關(guān)步驟、命令及phpredis擴(kuò)展的測試代碼,需要的朋友可以參考下2018-04-04Linux設(shè)備之網(wǎng)絡(luò)驅(qū)動(dòng)介紹
大家好,本篇文章主要講的是Linux設(shè)備之網(wǎng)絡(luò)驅(qū)動(dòng)介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12Apache中Virtual Host虛擬主機(jī)配置及rewrite參數(shù)說明
這篇文章主要介紹了Apache中Virtual Host虛擬主機(jī)配置及rewrite模塊中的重要參數(shù)說明,是在同一個(gè)Apache服務(wù)器軟件上部署多個(gè)站點(diǎn)的基礎(chǔ)方法,需要的朋友可以參考下2016-03-03解決Ubuntu“E:Unable to locate package“錯(cuò)誤問題
Ubuntu 16.04 64位安裝軟件時(shí)報(bào)錯(cuò),解決辦法是執(zhí)行 `sudo apt-get update`,Linux發(fā)行版維護(hù)軟件倉庫,常用軟件都在里面,用 `apt-get install` 命令直接安裝,編輯 `/etc/apt/sources.list` 文件更新源列表,執(zhí)行 `sudo apt-get update` 更新軟件列表2024-12-12