linux的日志系统,Linux上的日志系统
Linux上的日志系統(tǒng)
Linux上所用到的日志系統(tǒng)可以分為兩種syslog和syslog-ng兩種,syslog-ng是下一代升級(jí)版的日志系統(tǒng)。RedHat-5上用的是syslog,而RedHat-6上已經(jīng)改為syslog-ng了,因?yàn)閟yslog-ng的功能要比syslog的功能大很多,雖然它們的格式差不多,但是差別很大,現(xiàn)在我們主要說(shuō)的是syslog。
syslog是一個(gè)服務(wù),它是專(zhuān)門(mén)用于記錄日志的功能,可以為每個(gè)程
序負(fù)責(zé)記錄日志,但也不是所有的都用syslog,syslog服務(wù)有兩個(gè)進(jìn)程
1:syslogd:系統(tǒng),它是專(zhuān)門(mén)負(fù)責(zé)非內(nèi)核所產(chǎn)生的日志信息。
2:klogd:內(nèi)核,:專(zhuān)門(mén)負(fù)責(zé)內(nèi)核所產(chǎn)生的日志信息。
日志系統(tǒng)配置文件定義格式為:kernel?-->物理內(nèi)存(/dev/console)?-->?/var/log/dmesg
如果你寫(xiě)完日志之后,還想查看的話(huà)只需cat?/var/log/dmesg就可以了
日志需要滾動(dòng)(日志切割):
如:messages??messages.1??messages.2
/var/log/messages:系統(tǒng)標(biāo)準(zhǔn)錯(cuò)誤日志信息:非內(nèi)核產(chǎn)生引導(dǎo)信息,各子系統(tǒng)產(chǎn)生的信息
如下列腳本:
#!/bin/sh
#
/usr/sbin/logrotate?/etc/logrotate.conf
EXITVALUE=$?
if?[?$EXITVALUE?!=?0?];?then
/usr/bin/logger?-t?logrotate?"ALERT?exited?abnormally?with?[$EXITVALUE]"
fi
exit?0
/var/log/maillog:郵件系統(tǒng)產(chǎn)生的日志信息
/var/log/secure:如圖所下
syslog進(jìn)程:syslogd和klogd的一些介紹
配置文件定義格式為:?facility(誰(shuí)產(chǎn)生的日志).priority(哪個(gè)級(jí)別的日志)action(產(chǎn)生的日志怎么辦)
facility,可以理解為日志的來(lái)源或設(shè)備目前常用的facility有以下幾種:
auth#?認(rèn)證相關(guān)的
authpriv#?權(quán)限,授權(quán)相關(guān)的
cron#?任務(wù)計(jì)劃相關(guān)的
daemon#?守護(hù)進(jìn)程相關(guān)的
kern#?內(nèi)核相關(guān)的
lpr#?打印相關(guān)的
mail#?郵件相關(guān)的
mark#?標(biāo)記相關(guān)的
news#?新聞相關(guān)的
security#?安全相關(guān)的,與auth類(lèi)似
syslog#?syslog自己的
user#?用戶(hù)相關(guān)的
uucp#?unix?to?unix?cp?相關(guān)的
local0?到local7#?用戶(hù)自定義使用
*#?*表示所有的facility
priority(log?level)日志的級(jí)別,一般有以下幾種級(jí)別(從低到高)
debug???????????#?程序或系統(tǒng)的調(diào)試信息
info????????????#?一般信息
notice??????????#?不影響正常功能,需要注意的消息
warning/warn????#?可能影響系統(tǒng)功能,需要提醒用戶(hù)的重要事件
err/error???????#?錯(cuò)誤信息
crit????????????#?比較嚴(yán)重的
alert???????????#?必須馬上處理的
emerg/panic?????#?會(huì)導(dǎo)致系統(tǒng)不可用的
*???????????????#?表示所有的日志級(jí)別
none????????????#?跟*相反,表示啥也沒(méi)有
action(動(dòng)作)日志記錄的位置
系統(tǒng)上的絕對(duì)路徑????#普通文件?如:/var/log/xxx
|???????????????????#?管道??通過(guò)管道送給其他的命令處理
終端??????????????#終端???如:/dev/console
@HOST???????????????#?遠(yuǎn)程主機(jī)?如:@10.0.0.1
用戶(hù)??????????????#系統(tǒng)用戶(hù)?如:root
*???????????????????#?登錄到系統(tǒng)上的所有用戶(hù),一般emerg級(jí)別的日志是這樣定義的
定義格式例子:
mail.info???/var/log/mail.log?#?表示將mail相關(guān)的,級(jí)別為info及
#?info以上級(jí)別的信息記錄到/var/log/mail.log文件中
auth.=info??@10.0.0.1?????????#?表示將auth相關(guān)的,基本為info的信息記錄到10.0.0.1主機(jī)上去
#?前提是10.0.0.1要能接收其他主機(jī)發(fā)來(lái)的日志信息
user.!=error??????????????????#?表示記錄user相關(guān)的,不包括error級(jí)別的信息
user.!error???????????????????#?與user.error相反
*.info????????????????????????#?表示記錄所有的日志信息的info級(jí)別
mail.*????????????????????????#?表示記錄mail相關(guān)的所有級(jí)別的信息
*.*???????????????????????????#?你懂的.
cron.info;mail.info???????????#?多個(gè)日志來(lái)源可以用";"隔開(kāi)
cron,mail.info????????????????#?與cron.info;mail.info是一個(gè)意思
mail.*;mail.!=info????????????#?表示記錄mail相關(guān)的所有級(jí)別的信息,但是不包括info級(jí)別的
總結(jié)
以上是生活随笔為你收集整理的linux的日志系统,Linux上的日志系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 后处理编辑修改_Abaqus Pytho
- 下一篇: linux fflush函数,fflus