總結-理解和使用aix的日誌系統(zt)

season0891發表於2010-01-06


作者:  發表於:2006-07-21 19:15:49
【】 【】 【】【】

通常我們在進行伺服器的健康性檢查,和在出現問題的時候都會去考慮檢視系統的日誌。
我在學習aix的過程中發現,aix的日誌跟solaris或linux的日誌儲存和檢視的方式有著相當大的區別,為了使自己對aix的日誌認識的更系統就總結了一下。
相當一部分是參考的 於寧斌《AIX 5L系統管理技術》

1.一旦系統的某個功能模組檢測到一個錯誤或定義的需要記錄日誌的事件,則記錄到/dev/error裝置,把它儲存在NVRAM中,這樣可以保證即使在系統崩潰的情況下也不會丟失最新的錯誤日誌。
2.同時,錯誤日誌程式errdemon從/dev/error檔案中讀取錯誤日誌,然後根據錯誤模版庫(/var/adm/ras /errtmpit)和錯誤訊息庫(/usr/lib/nls/msg/$LANGcodepoint.cat) 對其進行處理後寫入系統的錯誤日誌 /var/adm/ras/errlog中。
錯誤日誌程式由/usr/lib/errdemon命令啟動,/usr/lib/errstop停止,預設是啟動的。
以上並不是重點,瞭解過程而已


errdemon程式:
從/dev/error邏輯裝置檔案中讀取紀錄,然後在系統錯誤日誌中建立錯誤日誌紀錄,顯然這才是重點。
Errdemon的配置:
/usr/lib/errdemon 命令可以啟動errdemon程式,同樣我們也可以透過使用引數來修改我們的errdemon,顯然如果我們不是太瞭解還是系統初始的配置更適合我們!
例如:
/usr/lib/errdemon –s 20000  設定我們的日誌檔案大小為20000bytes
最可能用到的可能就是-l引數了
/usr/lib/errdemon –l
# /usr/lib/errdemon -l
Error Log Attributes
--------------------------------------------
Log File                /var/adm/ras/errlog
Log Size                1048576 bytes
Memory Buffer Size      16384 bytes
Duplicate Removal       true
Duplicate Interval      100 milliseconds
Duplicate Error Maximum 1000
上面顯示我的錯誤日誌檔案是/var/adm/ras/errlog,這也是系統預設的錯誤日誌的存放位置。
具體其他的引數可以參看man 手冊。




檢視錯誤日誌:errpt命令
用more或者其他文字的檢視命令來開啟errlog檔案我們看到的只是一對亂碼,為了能夠檢視錯誤日誌檔案需要使用aix的errpt命令。
使用errpt命令檢視日誌,可能根據使用的引數來確定輸出什麼樣的日誌,甚至排序的方式,這是使用純文字的日誌不能做到的,或者說不能輕易做到的。
下面我們來看errpt命令的使用。

# errpt
IDENTIFIER TIMESTAMP  T C RESOURCE_NAME  DESCRIPTION
9DBCFDEE   0109034400 T O errdemon       ERROR LOGGING TURNED ON
192AC071   0109034300 T O errdemon       ERROR LOGGING TURNED OFF
C092AFE4   0109033500 I O ctcasd         ctcasd Daemon Started
A6DF45AA   0109033500 I O RMCdaemon      The daemon is started.
9DBCFDEE   0109033400 T O errdemon       ERROR LOGGING TURNED ON
192AC071   0106130900 T O errdemon       ERROR LOGGING TURNED OFF
369D049B   0106082400 I O SYSPFS         UNABLE TO ALLOCATE SPACE IN FILE SYSTE
這裡的輸出分為六列依次為:
1.錯誤標示符IDENTIFIER:並不唯一,由它來確定使用的錯誤模板,顯然同一種錯誤的IDENTIFIER是相同的。
2.時間戳TIMESTAMP:錯誤發生的時間,MMDDhhmmYY,依次表示月日時分年。
3.型別TYPE:錯誤的型別,或者說嚴重的程度。
分為6個:
PEND 裝置或功能元件可能丟失 簡寫P
PERF 效能嚴重下降 P
PERM 硬體裝置或軟體模組損壞,確診了的 P
TEMP 臨時性錯誤,經過重試後已經恢復正常 T
INFO 一般訊息,不是錯誤 I
UNKN 不能確定錯誤的嚴重性 U
4.種類CLASS c:指出錯誤源
H 硬體或介質故障
S 軟體故障
O 人為錯誤
U 不能確定
5. 資源名RESOURCE_NAME
最初檢測到錯誤的資源名軟體或者硬體,並不代表這個資源有問題,而只是最先在它發現的。
6.描述

顯示詳細的日誌資訊
# errpt -a|more
Standard input
---------------------------------------------------------------------------
Standard input
LABEL:          ERRLOG_ON
IDENTIFIER:     9DBCFDEE
Date/Time:       Sun Jan  9 03:44:04 BEIS
Sequence Number: 309
Machine Id:      004250B94C00
Node Id:         ibm-5L
Class:           O
Type:            TEMP
Resource Name:   errdemon
Description
ERROR LOGGING TURNED ON
Probable Causes
ERRDEMON STARTED AUTOMATICALLY
User Causes
/USR/LIB/ERRDEMON COMMAND
        Recommended Actions
        NONE


其它
指定日誌檔案 –I可以用來檢視一個非errdemon指定位置的日誌檔案,例如某個日誌檔案備份。
-t 引數,只顯示-t引數指定的錯誤型別TYPE。
-s 顯示指定時間之後的日誌檔案.
-d 指定種類CLASS.
詳細的引數只能看man 手冊了

# errpt -a -j 74533D1A
# errpt -s 0108100100
IDENTIFIER TIMESTAMP  T C RESOURCE_NAME  DESCRIPTION
9DBCFDEE   0109034400 T O errdemon       ERROR LOGGING TURNED ON
192AC071   0109034300 T O errdemon       ERROR LOGGING TURNED OFF
C092AFE4   0109033500 I O ctcasd         ctcasd Daemon Started
A6DF45AA   0109033500 I O RMCdaemon      The daemon is started.
9DBCFDEE   0109033400 T O errdemon       ERROR LOGGING TURNED ON





日誌的清理
errclear命令可以用來清理錯誤日誌
並且預設情況下cron會每天清理錯誤日誌
# crontab -l
0 11 * * * /usr/bin/errclear -d S,O 30
0 12 * * * /usr/bin/errclear -d H 90
0 15 * * *  /usr/lib/ras/dumpcheck >;/dev/null 2>;&1
顯然,找上面的例子,S,O 類的錯誤會保留30天,而H的錯誤會保留90天
errclear 0   刪除多有記錄
errclear 7 刪除7天以前的記錄
smit errclear






syslogd
unix普遍用到的日誌系統,配置檔案/etc/syslog.conf
沒有什麼多說的,比較普遍,定義的話是修改syslog.conf,儲存的日誌為文字格式
syslog.conf配置檔案格式
資訊類別.錯誤等級 記錄的位置

其中,各項的含義
資訊類別
auth        used by authorization systems (login) 
cron        used for the cron and at systems
daemon      system/netword daemon
kern        produced by kernel messages 
lpr         printing system 
mail        mail system 
mark        internally used for time stamps 
news        reserved for the news system 
user        default facility, used for any program 
uucp        reserved for the uucp system 

錯誤等級
debug       normally used for debugging 
info        informational messages 
notice  conditions that may require attention 
Warning any warnings 
err         any errors 
crit         critical conditions like hardware problems 
Alert any condition that demand immediate attention
emerg       any emergency condition
none         Do  not  send  messages  from  the  indicated f
acility  to the selected file.  

記錄的位置
可以是本地的檔案(包括裝置檔案如/dev/console)或遠端syslog日誌伺服器。

假如我要記錄cron的所有錯誤資訊,則可以在/etc/syslog.conf加入下面一行
cron.err      /var/cronerr.log
定義記錄cron的err資訊到/var/cronerr.log檔案

具體syslog的具體配置,網上遍地都是。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-624513/,如需轉載,請註明出處,否則將追究法律責任。

相關文章