天天看點

solaris學習8:日志syslog

三類日志子系統:

1、 連接配接時間日志:記錄寫入到/var/log/wtmp、/var/run/utmp中,login程式更新wtmp、utmp檔案,使系統管理者跟蹤誰在何時登入到系統

2、 程序統計: 由核心執行,當一個程序終止時為每個程序在統計程序檔案(pacct、acct)中寫入一條記錄,為系統中基本服務提供指令使用統計。

3、錯誤日志: /var/adm/messages、/var/log/syslog

日志架構(linux也類似)

源(守護程序、核心、使用者程序、程式、logger指令)---》syslog守護程序(配置檔案/etc/syslog.conf)---》産生各個日志并寫入日志檔案

指令:logger 、 logadm

程序:/usr/sbin/syslogd     預設配置檔案:/etc/syslog.conf

SMF: online          9:58:24 svc:/system/system-log:default

1、 syslog.conf檔案

格式:facility(源). level(程度)       消息接受地

如:

*.err;kern.debug;daemon.notice;mail.crit        /var/adm/messages

*.alert;kern.err;daemon.err                             operator

*.alert                                                                root

注:多個消息,用“;”分号間隔,消息接受地類型:檔案(接受日志資訊的檔案)、遠端主機(格式為@servername、@IP)、使用者(多個使用者用“,”逗号隔離)、*(表示發給所有已登入使用者)

解析:

facility

kern 核心産生的消息      user  使用者程序産生的消息,預設的facility關鍵字

mail  郵件系統               daemon  守護程序産生的消息

auth 與驗證、安全、授權系統有關的系統消息,如login、su、getty等

lpr  列印消息                   news  網絡新聞消息

cron  自動作業消息         audit   與審計有關的消息

syslog  syslogd自身産生的消息    mark 消息的最後儲存時間,由syslogd本身産生

*   表示所有的facility,除mark外

level

emerg  緊急情況,通常會廣播給所有使用者,級别最高

alert  應立即糾正的狀态,比如系統資料塊受到破壞

crit   緊急情況警告,如硬體裝置錯誤

err 不屬于crit的其它錯誤

warning  告警消息

notice  可能需要處理的消息

info  普通消息通知

debug  調試程式時出現的消息

none  facility發出的任何消息不會被發送到目的地

 ifdef判斷語句

ifdef('LOGHOST',true部分,false部分)

當LOGHOST已定義,執行‘true部分’,LOGHOST未定義,則執行‘false部分’

mail.debug         ifdef(`LOGHOST', /var/log/syslog, @loghost)

M4宏處理器   

bash-3.2# ls -l /usr/ccs/bin/m4

-r-xr-xr-x   1 root     bin        32112 2005    23 /usr/ccs/bin/m4

syslogd不直接讀取/etc/syslog.conf檔案,而是啟動M4,M4再讀取/etc/syslog.conf檔案,并将讀取的結果發給syslogd守護程序。

另外syslogd随系統啟動時,會檢查/etc/hosts檔案,判斷是否有loghost關鍵詞。如

IP hostname loghost 與 IP hostname 是兩種不同情況,如果syslogd讀取/etc/hosts時沒有loghost關鍵詞,則啟動M4的方式為:/usr/css/bin/m4 不帶參數表示沒有定義LOGHOST。如果有loghost關鍵詞,則啟動M4的方式為:/usr/css/bin/m4  -D  LOGHOST ,即定義LOGHOST變量。影響ifdef語句。

2、 重新開機syslogd指令:

pkill -HUP syslogd

       檢視日志指令:dmesg

dmesg指令讀取/var/adm/messages檔案。如:dmesg | less

控制日志指令:logadm  常用參數:-s 檔案大小  -p 間隔周期

如:bash-3.2# logadm -s 1k -p 2d /var/adm/messages

      本文轉自fuhaixiong 51CTO部落格,原文連結:http://blog.51cto.com/heliy/789210,如需轉載請自行聯系原作者

繼續閱讀