AIX提供了记录硬件和软件错误日志的功能。这些错误日志可以用于失败诊断和修正错误。一旦系统的某个功能模块检测到一个错误或定义的需要记录日志的事件,则记录到/dev/error设备,把它保存在NVRAM中,这样可以保证即使在系统崩溃的情况下也不会丢失最新的错误日志。同时,错误日志进程errdemon从/dev/error文件中读取错误日志,然后根据错误模版库(/var/adm/ras/errtmpit)和错误消息库(/usr/lib/nls/msg/$LANGcodepoint.cat)对其进行处理后写入系统的错误日志/var/adm/ras/errlog中,用more或者其他文本的查看命令来打开errlog文件我们看到的只是一对乱码,为了能够查看错误日志文件需要使用aix的errpt命令
一、错误日志查询
1、显示错误日志大纲
errpt
IDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION
C69F5C9B 1217084812 P S SYSPROC SOFTWARE PROGRAM ABNORMALLY TERMINATED
C69F5C9B 1211084912 P S SYSPROC SOFTWARE PROGRAM ABNORMALLY TERMINATED
C69F5C9B 1208084912 P S SYSPROC SOFTWARE PROGRAM ABNORMALLY TERMINATED
这里的输出分为六列依次为:
1.错误标示符IDENTIFIER:并不唯一,由它来确定使用的错误模板,显然同一种错误的IDENTIFIER是相同的。
2.时间戳TIMESTAMP:错误发生的时间,MMDDhhmmYY,依次表示月日时分年。
3.类型TYPE:错误的类型,或者说严重的程度。分为6个:
P PEND一个设备或者组件的可用性即将丢失,简写P;
P PERF 设备或者组件的性能已经下降到一个不可接受的水平;
P PERM该类型错误不可能得到恢复或者解决,为永久性的错误。该类型错误通常是最严重的错误和有一个损坏的硬件设备或软件模块。如果错误类型为 PERM 之外的其他值,通常并不表示故障,但是对这些错误进行了记录,以便可以使用诊断程序对它们进行分析。
T TEMP临时性错误,表示在许多次失败的尝试后,这种错误被恢复。
I INFO 一般的消息,并不是一个错误的结果
U UNKN 不能确定错误的严重程度
4.种类CLASS c:指出错误源:
H表示硬件设备故障或者介质错误;
S软件故障,包括应用程序,系统程序的故障和内核问题,如页面空间少,空间不足;
O人为错误,一个操作者的通知行错误,当使用errorlogger命令产生的;
U不能确定错误源;
TYPE为P、CLASS为H的为硬件错误
5. 资源名RESOURCE_NAME,最初检测到错误的资源名软件或者硬件,并不代表这个资源有问题,而只是最先在它发现的。
6.描述
2、显示指定错误号的详细信息
errpt -aj C69F5C9B
LABEL: CORE_DUMP
IDENTIFIER: C69F5C9B
Date/Time: Tue Nov 20 15:30:40 BEIST 2012
Sequence Number: 175
Machine Id: 00F71D324C00
Node Id: p720
Class: S
Type: PERM
Resource Name: SYSPROC
信息详细含义
LABLE:事件名称
IDENTIFIER:事件ID
Date/Time:发生的时间
Sequence Number:事件序列号
Machine ID:机器标识
Node ID:节点标识
Class:事件来源(H 硬件或介质故障;S 软件故障;O 人为错误;U 不能确定)
Type:错误类型
Resource Name:检测到错误的资源的名称。对于软件错误,这是某个软件组件或可执行程序的名称。对于硬件错误,这是某个设备或系统组件的名称。它并不表示该组件出现故障或者需要更换。相反,它用于确定合适的诊断模块以用于对错误进行分析。
Resource Class:检测到故障的资源的一般类别(例如,磁盘的设备类别)。
Resource Type:检测到故障的资源的类型。
Location Code:设备的路径。最多可能有四个字段,分别是抽屉、插槽、连接器和端口。
VPD:关键的产品数据。这个字段的内容(如果存在)可能各不相同。设备的错误日志条目通常返回有关设备制造商、序列号、工程变更级别、以及只读存储级别的信息。
Description:错误的汇总信息。
Probable Cause:一些可能的错误原因的列表。
User Causes:由用户错误所导致错误的可能原因的列表。用户所导致的错误可能包括不正确插入的磁盘、未能开启的外部设备(如调制解调器和打印机)。
Actions:对于纠正用户所导致的错误的推荐操作的描述。
Install Causes:因为不正确的安装或者配置过程所导致错误的可能原因列表。这种类型的错误包括硬件和软件不匹配、电缆的不正确安装或电缆连接变松,以及未能正确配置的系统。
Actions:对于纠正安装所导致的错误的推荐操作的描述。
Failure Causes:可能的硬件或者软件故障列表。
Actions:对于纠正故障的推荐操作的描述。对于硬件错误,这将导致运行诊断程序。
Detailed Data:针对每个错误日志条目的、唯一的故障数据,如设备检测数据。
3、显示所有详细信息
errpt -a
LABEL: CORE_DUMP
IDENTIFIER: C69F5C9B
Date/Time: Tue Nov 20 15:30:40 BEIST 2012
Sequence Number: 175
Machine Id: 00F71D324C00
Node Id: p720
Class: S
Type: PERM
Resource Name: SYSPROC
4、显示某个时间点后的错误信息
date
Wed Dec 19 09:24:13 BEIST 2012
errpt -a -s 1219093012 mmddhhmmyy
LABEL: CORE_DUMP
IDENTIFIER: C69F5C9B
Date/Time: Mon Dec 17 08:48:58 BEIST 2012
Sequence Number: 183
Machine Id: 00F71D324C00
Node Id: p720
Class: S
Type: PERM
Resource Name: SYSPROC
5、显示指定错误文件中的错误日志大纲
errpt -i /var/adm/ras/errlog
IDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION
C69F5C9B 1217084812 P S SYSPROC SOFTWARE PROGRAM ABNORMALLY TERMINATED
C69F5C9B 1211084912 P S SYSPROC SOFTWARE PROGRAM ABNORMALLY TERMINATED
C69F5C9B 1208084912 P S SYSPROC SOFTWARE PROGRAM ABNORMALLY TERMINATED
6、显示指定类型错误
errpt -d S (H:Hardware / S: Software / O:errlogger /U:Undetermined)
IDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION
C69F5C9B 1217084812 P S SYSPROC SOFTWARE PROGRAM ABNORMALLY TERMINATED
C69F5C9B 1211084912 P S SYSPROC SOFTWARE PROGRAM ABNORMALLY TERMINATED
C69F5C9B 1208084912 P S SYSPROC SOFTWARE PROGRAM ABNORMALLY TERMINATED
7、显示关闭了logging的错误记录模板的错误日志实体
errpt -t -F log=0
8、其它–I可以用来查看一个非errdemon指定位置的日志文件,例如某个日志文件备份。
-t 参数,只显示-t参数指定的错误类型TYPE。
其他详细的参数可以查看man手册
二、错误日志管理
1、删除错误日志的所有条目
errclear 0
2、删除错误日志的所有软件错误相关条目
errclear -d S 0
3、删除10天前的错误软件错误
errclear -d S 10
4、删除自定义的错误日志的所有错误条目
errclear -i /var/adm/ras/myerrlog 0
5、错误日志信息集中的安装信息
errinstall
6、更新错误记录模板存储库
errupdate
更过操作查看man手册
三、Errdemon配置和管理
1、启动错误日志进程
/usr/lib/errdemon
默认是启动的
2、停止错误日志进程
/usr/lib/errstop
3、列出系统错误日志的相关属性
/usr/lib/errdemon -l
Error Log Attributes
Log File /var/adm/ras/errlog
Log Size 1048576 bytes
Memory Buffer Size 32768 bytes
Duplicate Removal true
Duplicate Interval 10000 milliseconds
Duplicate Error Maximum 1000
4、管理错误文件
修改文件位置
/usr/lib/errdemon -i /var/adm/ras/myerrlog
修改Log Size
/usr/lib/errdemon -s 2000000
修改Memory Buffer Size
/usr/lib/errdemon -B 16384
把10毫秒内出现的错误认为了重复的错误
/usr/lib/errdemon -t 10
5、AIX添加定期删除日志的crontab
0 11 * * * /usr/bin/errclear -d S,O 30
0 12 * * * /usr/bin/errclear -d H 90