Linux上的日誌系統
Syslog
Syslog-ng
日誌系統:syslogd()
A:
B:
D:
syslog服務:
syslogd:系統,非內核產生的信息
klogd:內核,專門負責記錄內科產生的日誌
kernel –物理終端(dev/console)--/var/log/dmesg
日誌需求滾動(日誌切割):
messages message.1 message.2
/sbin/init
/var/log/messages,系統保準錯誤日誌,非內核產生引導信息;各子系統產生的信息;
/var/log/maillog:郵件系統產生的日誌信息
/var/log/secure記錄哪些用戶嘗試登陸的信息
logrotate
/etc/cron.daily/logrotate 這個腳本每天都會完成一次滾動,他的配置文件在/etc/logrotate.conf
信息詳細程序:日誌級別
子系統:facility,設施
動作:
syslog: syslogd和klogd
配置文件定義格式爲:facility.prority action
facility,可以理解爲日誌的來源或設備目前常用的facility有以下幾種:
auth 認證相關的
authpriv 權限,授權相關的
cron 任務計劃相關的
daemon 守護進程相關的
kern 內核相關的
lpr 打印相關的
mail 郵件相關的
mark 標記相關的
news 新聞相關的
security安全相關的,與auth類似
syslog syslog自己相關的
uucp unix to unix cp 相關的
local0到local7 用戶定義使用
*表示所有的facility
priority (log level )日誌的級別,一般有以下幾種級別(從低到高)
debug 程序或系統的調試信息
info 一般信息
notice 不影響正常功能,需要注意的信息
warning/warn 可能影響系統功能,需要提醒用戶的重要事件
err/error 錯誤信息
crit 比較嚴重的
alert 必須馬上處理的
emerg /canic 會導致系統不可用
*表示所有的日誌級別
none 跟*相關,表示什麼也沒有
action(動作)日誌記錄的位置
系統上的絕對路徑普通文件 如/var/log/xxx
| 管道通過管道送給其他命令處理
終端 如:/dev/console
$HOSR 遠程主機 如@10.0.0.1
用戶 系統用戶 如:root
*登陸到系統上的所有用戶,一般emerg級別的日誌是這樣定義的
service rsyslog reload 讓rsyslog不用重啓就可以讀取配置文件
vi /etc/rc.d/init.d/rsyslog
vi /etc/rsyslog.conf 修改配置文件
vi /var/log