天天看點

菜鳥學Linux 第038篇筆記 日志系統 syslogd,klogd

菜鳥學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

繼續閱讀