菜鳥學Linux 第038篇筆記 日志系統 syslogd,klogd
Linux上的日志系統
syslog 開源
syslog-ng 商業版
日志系統 syslog
syslog 服務
syslogd 程序
klogd 程序
配置檔案:/etc/syslog.conf
klogd 核心,專門負責記錄核心産生的日志資訊
kernel --> 實體終端(/dev/console) --> /var/log/dmesg
# dmesg
# cat /var/log/dmesg
syslogd 系統,非核心産生的資訊
/sbin/init
/var/log/messages 系統标準錯誤日志資訊,
非核心産生引導資訊;
各子系統所産生的資訊
/var/log/maillog 郵件系統産生的日志資訊
/var/log/secure 登入資訊,該檔案權限特殊,你懂得
日志需要滾動(日志切割)
messages messages.1 messages.2
logrotate (rotates, compresses, and mails system logs)
資訊詳細程度:日志級别
子系統:facility, 設施
動作: action
/etc/syslog.conf
配置檔案定義格式: facility.priority action
facility,可以了解為日志的來源或裝置,目前常用的facility有以下幾種
auth # 認證相關的
authpriv # 權限,授權相關的
cron # 任務計劃相關的
daemon # 守護程序相關的
kern # 核心相關的
lpr # 列印相關的
mail # 郵件相關的
mark # 标記相關的
news # 新聞相關的
security # 安全相關的
syslog # syslog 自己
user # 使用者相關
uucp # unix to unix cp 相關的
local10 到 local17 # 使用者自定義
* # *表示所有的facility
priority(log level)日志的級别,一般有以下幾種級别(從低到高)
debug # 程式或系統的調試資訊
info # 一般資訊
notice # 不影響正常功能,需要注意的資訊
warning/warn # 可能影響系統功能,需要提醒使用者的重要事件
err/error # 錯誤資訊
crit # 比較嚴重crit(暴擊,臨界)
alert # 必須馬上處理alert
emerg/panic # emergency 會導緻系統不可用的
* # 表示所有的日志級别
none # 跟*相反,表示啥也沒有
action(動作)日志記錄的位置
系統上的絕對路徑 # 普通檔案 如:/var/log/XXX
| # 管道 通過管道送給其它的指令處理
terminal # 終端 如:/dev/console
@HOST # 遠端主機 如:@10.0.0.1
user # 系統使用者 如: root
* # 登入到系統上的所有使用者,
# 一般emerg級别的日志是這樣定義的
-/PATH # 表示異步寫入,沒有表示同步寫入到磁盤
定義格式e.g.
facility.priority action
mail.info /var/log/mail.log # 表示将mail相關的,級别為info及info以上級别的
# 資訊記錄到/var/log/mail.log檔案中
auth.=info @10.0.0.1 # 表示将auth相關的,級别為info的資訊記錄到
# IP主機上,前提該主機接收其它主機發來的日志消息
user.!=error # 記錄user相關的,不包括error級别的資訊
user.!error # 與user.error相反
*.info # 記錄所有facility,info及info以上級别消息
mail.* # 表示記錄mail相關的所有級别資訊
*.* # 你懂得
cron.info;mail.info # 多個日志來源可以用“;"隔開
cron,mail.info # 與cron.info;mail.info含義相同
mail.*;mail.!=info # 記錄mail相關的所有級别,但不包括info級别
如果修改了syslog配置檔案/etc/syslog.conf
建議使用service syslog reload 來重新加載配置檔案
而非使用service syslog restart此種方式,有可能會丢失正常記錄的日志資訊
reload = SIGHUP
如要接收遠端主機所發來的日志資訊
由修改/etc/sysconfig/syslog檔案
SYSLOGD_OPTIONS="-m 0" 将此項變為 SYSLOGD_OPTIONS="-r -m 0" 建議最好重新開機服務
小系統啟用日志功能
/etc/rc.d/rc.sysinit
syslogd
klogd
*.info;auth.none /var/log/messages
auth.* /var/log/secure
touch /var/log/secure
chmod 600 /var/log/secure
本文轉自Winthcloud部落格51CTO部落格,原文連結http://blog.51cto.com/winthcloud/1880224如需轉載請自行聯系原作者
Winthcloud