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

/etc/syslog.conf

*.info;auth.none /var/log/messages

auth.* /var/log/secure


touch /var/log/secure

chmod 600 /var/log/secure




















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章