linux上的日志系統
syslog
syslog-ng
開源
商業
日志級别:資訊詳細程度。
子系統:facility,設施。
動作:
日志滾動(日志切割):
#logrotate [OPTION] 滾動、壓縮或郵件系統日志。
配置檔案:
/etc/logrotate.conf
計劃任務檔案:
/etc/cron.daily/logrotate
各子系統日志滾動機制:
/etc/logrotate.d/*
syslog:
syslog服務:
syslog服務腳本:
/etc/rc.d/init.d/syslog
配置檔案:
/etc/sysconfig/syslog
SYSLOG_OPTIONS="OPTION"
-r 允許接受并記錄遠端主機的日志。
syslogd:系統,非核心系統産生的資訊。
/sbin/init
/var/log/messages:
系統标準錯誤日志資訊。
非核心産生的引導資訊,
各子系統産生的資訊。
/var/log/maillog
郵件系統産生的日志資訊。
/var/log/secure
安全相關。權限為600。
修改後reload syslog服務讓配置檔案生效。
/etc/syslog.conf
格式如下:
facility.priority action
facility:日志來源或裝置
auth 認證相關的
authpriv 權限,授權相關的
cron 任務計劃相關的
daemon 守護程序相關的
kern 核心相關的
ipr 列印相關的
mail 郵件相關的
mark 标記相關的
news 新聞相關的
security 安全相關的,于auth累死
syslog syslog自己的
user 使用者相關的
uucp unix to unix cp相關的
local0~local7 使用者自定義使用
* 表示所有的facility
priority:日志級别(log level),級别越低記錄的資訊越詳細。從低到高如下
debug 程式或系統的調試資訊
info 一般資訊
notice 不影響正常功能,需要注意的消息
warning/warn 可能影響系統功能,需要提醒使用者的重要事情
err/error 錯誤資訊
crit 比較嚴重的
alert 必須馬上處理的
emerg/panic 會導緻系統不可用的
* 表示所有的日志級别
none 表示空
action:動作。日志記錄的位置。
絕對路徑 普通檔案。若檔案前有-表示異步寫入(先不寫入硬碟,儲存在記憶體中。例如/var/log/FILE
| 管道。通過管道交由其他指令處
終端 終端。例如/dev/console
@HOST|IP 遠端主機。例如@10.0.0.156
USER 系統使用者。例如root
* 登入到系統上的所有使用者,
例如:
mail.info /var/log/mail.log 将mail相關的,級别為info及以上的的日志存放到/var/log/mail.log中
auth.=info @10.0.0.156 将mail相關的,級别為info的日志存放到遠端主機10.0.0.156中。
user.!=error 将user相關的,除error級别外都記錄
user.!error 将user相關,低于error級别的都記錄。
*.info 将所來源所有info級别和以上的日志都記錄。
mail.* mail有關的所有日志。
*.* 所有記錄都記錄
cron.info;mail;info 多個來源用;隔開
cron,mail.info 同級别的不同來源用,隔開
mail.*;mail.!=info mail相關的,除info級别外都記錄。
klogd:核心,專門負責記錄核心産生的日志資訊。
kernel初始化完成後,螢幕上顯示的資訊是在實體終端内(/dev/console)顯示,儲存到/var/log/dmesg中。可以使用cat或者是dmesg指令檢視。
#cat /var/log/dmesg
#dsemg