Linux操作系統(tǒng)中日志系統(tǒng)功能詳解(2)
Linux操作系統(tǒng)中日志系統(tǒng)功能詳解
這個(gè)配置文件格式是:每一行都定義一個(gè)子系統(tǒng)產(chǎn)生的哪些級(jí)別的日志記錄到什么位置
facility.priority action
Facility:日志來源
auth #認(rèn)證子系統(tǒng)產(chǎn)生的
authpriv #權(quán)限授權(quán)子系統(tǒng)產(chǎn)生的
cron #任務(wù)計(jì)劃子系統(tǒng)產(chǎn)生的
daemon #守護(hù)進(jìn)程子系統(tǒng)產(chǎn)生的
kern #內(nèi)核子系統(tǒng)產(chǎn)生的,定義klogd的記錄內(nèi)容
lpr #打印子系統(tǒng)產(chǎn)生的
mail #郵件子系統(tǒng)產(chǎn)生的
mark #標(biāo)記子系統(tǒng)產(chǎn)生的
news #新聞子系統(tǒng)產(chǎn)生的
security #安全子系統(tǒng)產(chǎn)生的,與auth來源類似
syslog #定義syslog自己的要記錄的
user #用戶子系統(tǒng)所產(chǎn)生的的
uucp #Unix to unix cp子系統(tǒng)所產(chǎn)生的
local0-->local7 #用戶自定義使用
* #所有來源
Priority(log level)日志級(jí)別:(級(jí)別越低記錄的越詳細(xì))
debug #程序或系統(tǒng)的調(diào)試信息(記錄非常詳細(xì),一般只在系統(tǒng)無法啟動(dòng),排除錯(cuò)誤時(shí)使用)
info #一般信息
notice #不影響系統(tǒng)正常功能,但需要注意的信息
warning/warn #可能影響系統(tǒng)功能,需要提醒用戶注意的重要事件;這種信息可能會(huì)引起部分功能的運(yùn)行
err/error #錯(cuò)誤信息,已經(jīng)影響系統(tǒng)部分功能;藍(lán)色警報(bào)
crit #比較嚴(yán)重的信息;橙色警報(bào)
alert #必須馬上處理的信息;紅色警報(bào)
emerg/panic #導(dǎo)致系統(tǒng)不可用的信息;一般這一刻出現(xiàn),下一刻系統(tǒng)就會(huì)down掉
* #所有日志級(jí)別,類似debug
none #和*相反,表示哪個(gè)級(jí)別都沒有
Action(動(dòng)作)指定日志記錄的位置:
系統(tǒng)上的絕對(duì)路徑 #普通文件,如/var/log/***
| #通過管道送給其他命令處理
終端 #顯示在哪個(gè)終端(物理終端,虛擬終端,偽終端等等)
@HOST #遠(yuǎn)程主機(jī);產(chǎn)生的日志信息,自己不記錄,而傳送給其他主機(jī)記錄,一般用于日志服務(wù)器,可以增強(qiáng)當(dāng)前服務(wù)器的安全;默認(rèn)情況下只為自己記錄日志信息
【如果要使得我們的服務(wù)器稱為日志服務(wù)器,只需在“/etc/sysconfig/syslog”文件中的"SYSLOGD_OPTIONS="-r -m 0""這一行中添加一個(gè)“-r”選項(xiàng),重新啟動(dòng)服務(wù)即可開啟日志服務(wù)器功能】
用戶 #產(chǎn)生的日志信息都發(fā)送給某個(gè)用戶,如root
* #登錄到系統(tǒng)上的所有用戶,一般emerg級(jí)別的日志是這樣定義的
syslog日志服務(wù)屬性定義實(shí)例:
mail.info /var/log/maillog #將mail相關(guān)的級(jí)別為info及info以上級(jí)別的信息記錄到/var/log/maillog文件中
auth.=info @10.0.0.1 #將auth相關(guān)的info級(jí)別的信息記錄到10.0.0.1主機(jī)上,前提是10.0.0.1主機(jī)能夠接收到其他主機(jī)發(fā)來的日志信息(此時(shí)只記錄info級(jí)別)
user.!=error #記錄與user相關(guān)的,但不記錄error級(jí)別的信息,只記錄其他所有級(jí)別
user.!error #與user.error相反,此時(shí)只記錄比error級(jí)別低的日志信息
*.info #記錄所有可能產(chǎn)生日志子系統(tǒng)的info級(jí)別及其以上級(jí)別的日志信息
mail.* #記錄與mail所產(chǎn)生的所有級(jí)別的日志信息
*.* #記錄所有日志信息
cron.info;mail.info #記錄cron相關(guān)的info及以上級(jí)別的日志信息和mail相關(guān)的info和以上級(jí)別的日志信息,多個(gè)日志來源之間以“;”分號(hào)隔開
cron,mail.info #和上邊是一個(gè)意思,如果兩個(gè)日志來源的記錄級(jí)別相同,可以縮寫,來源之間以“,”逗號(hào)隔開
mail.*;mail.!=info #記錄與mail相關(guān)的所有級(jí)別的日志信息,但不包括info級(jí)別的所有信息
Syslog的默認(rèn)配置文件定義解釋:
# cat /etc/syslog.conf
*.info;mail.none;authpriv.none;cron.none /var/log/messages #所有可能產(chǎn)生日志信息的子系統(tǒng)的info級(jí)別及以上級(jí)別的日志信息,都保存在messages文件中,但是不包括mail,authpriv,cron子系統(tǒng)的
authpriv.* /var/log/secure #所有用戶授權(quán)的日志信息都記錄到secure文件中
mail.* -/var/log/maillog #所有郵件子系統(tǒng)產(chǎn)生的日志信息都異步保存在maillog文件中,“-”表示異步寫入,其他日志信息都要同步寫入
cron.* /var/log/cron #所有任務(wù)計(jì)劃的日志信息都記錄到cron文件中
*.emerg * #無論系統(tǒng)上哪個(gè)程序產(chǎn)生emerg級(jí)別的信息,都立即通知給系統(tǒng)上的所有用戶,馬上就要down機(jī)了
uucp,new.crit /var/log/spooler #來自u(píng)ucp和new子系統(tǒng)的crit級(jí)別的信息都保存在spooler文件中
local7.* /var/log/boot.log #自己定義的日志記錄,此處系統(tǒng)默認(rèn)定義的是系統(tǒng)引導(dǎo)信息,保存在boot.log文件中;但此處并沒有���義誰向這個(gè)文件中填寫,所以這個(gè)文件是空文件,我們需要在其他文件中定義這個(gè)日志信息要發(fā)送到local7中,才會(huì)寫到boot.log文件中,一般意義不大
這個(gè)文件保存之后日志系統(tǒng)配置文件并不會(huì)立即生效,此時(shí)如果我們使用“service syslog restart”命令來重啟日志服務(wù),可能會(huì)使得其他一些正在記錄日志信息的子系統(tǒng)不能完整的記錄,所以我們一般使用“service syslog reload”來重讀配置文件,并生效,相當(dāng)與發(fā)送1號(hào)信號(hào)。
看過“ Linux操作系統(tǒng)中日志系統(tǒng)功能詳解 ”的人還看了:
1.Linux系統(tǒng)查看當(dāng)前時(shí)間的命令