AIX查看错误日志的命令ERRPT

 

内容提要:系统地介绍一下AIX的错误日志的报告机制以及一些参数的意义

 

说明:

一、 错误日志的工作机制

 

首先我们需要弄明白错误日志是怎么保存并被用户识别的。实际上在系统的某个功能模块检测到一个错误事件时,会把它记录到/dev/error设备中,并随后由错误日志进程errdemon从/dev/error文件中读取错误日志并最终写入/var/adm/ras/errlog中。

具体与错误日志相关的一些设置可以通过/usr/lib/errdemon -l 命令来看到:

Error Log Attributes

--------------------------------------------

Log File /var/adm/ras/errlog
Log Size 106496 bytes
Memory Buffer Size 32768 bytes
Duplicate Removal true
Duplicate Interval 10000 milliseconds
Duplicate Error Maximum 1000
<aix53testos1>:/#

上面显示的错误日志文件是/var/adm/ras/errlog,这也是系统默认的错误日志的存放位置。

 

二、 查看错误日志:errpt命令

errpt命令可以说是AIX系统管理员最为熟悉的命令了。下面是一个errpt命令的输出:
<aix61haos1>:/#errpt
IDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION
BA431EB7 0226155209 P S SRC SOFTWARE PROGRAM ERROR
12081DC6 0226155109 P S harmad SOFTWARE PROGRAM ERROR
12081DC6 0226155109 P S harmad SOFTWARE PROGRAM ERROR
F7FA22C9 0224164009 I O SYSJ2 UNABLE TO ALLOCATE SPACE IN FILE SYSTEM
AFA89905 0220140909 I O grpsvcs Group Services daemon started
97419D60 0220140909 I O topsvcs Topology Services daemon started
6D19271E 0220133009 I O topsvcs Topology Services daemon stopped

这里的输出分为六列依次为:

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 硬件故障 Hardware

S 软件故障 Software

O 人为操作 Operation

U 不能确定 Unknown

 

5. 资源名RESOURCE_NAME

最初检测到错误的资源名软件或者硬件,并不代表这个资源有问题,而只是最先在它发现的。

 

6.描述

具体的错误代表的意义可以打IBM的支持热线寻求帮助。

 

7、errpt命令会从错误日志中的记录生成一个错误报表,它包含了所选符合特定标准的错误的标志。利用缺省的条件,您可以以错误发生及被记录相反的顺序显示错误日志的记录,利用-c(并行)标志,您可以在错误发生时显示这些错误。如果-i标志没有同errpt命令一起使用的话,则errpt处理的错误日志文件就是在错误日志配置数据库中指定的那个。(要想查看在错误日志数据库中的信息,请使用errrdemon命令。)

         缺省的总结报表对每个错误包含一行数据。您可以使用标志来生成不同格式的报表。

 

         注意:

         errpt命令不会执行对错误日志的分析,要想分析它请使用diag命令。然而,当错误日志分析被执行时,诊断程序会将诊断信息加回到错误日志中去,这种信息会在对应的错误日志记录的详信息数据后面出现。

 

         范例:

         1.要想显示一个完整的摘要报告,请输入:

         errpt

 

         2.要想显示一个完整的详细报告,请输入:

errpt -a

 

         3.要想显示一个错误标示符E19E094F纪录的所有的错误的报表,请输入:

         errpt -a -j E19E094F

 

         4.要想显示一个在过去24小时内记录下来的所有错误的详细报表,请输入:

         errpt -a -s mmddhhmmyy

         这里,mmddhhmmyy字符串等于当前的月,日,小时,分和年再减去24小时。

 

         5.要想列出为其日志为任何错误日志记录关闭的错误记录模板,请输入:

         errpt -t -F log=0

 

         6.要想从/var/adm/ras/errlog.alternate备用错误日志文件中查看所有的记录,请输入:

         errpt -i /var/adm/ras/errlog.alternate

         

         7.要想从/var/adm/ras/errlog.alternate备用错误日志文件中查看所有的硬件记录,请输入:

         errpt -i /var/adm/ras/errlog.alternate -d H

 

         8.要想显示对于错误标签ERRLOG_ON的所有记录下来的错误的详细报表,请输入:

         errpt -a -J ERRLOG_ON

 

         9.要想显示所有错误的详细报表并给重复错误进行分组,请输入:

         errpt -aD

三、 日志的清理

错误日志可以通过errclear命令进行清理。实际上,清理工作并不需要手工执行。在系统安装完成后,定时自动执行的脚本中会包含下面几行:

0 11 * * * /usr/bin/errclear -d S,O 30

0 12 * * * /usr/bin/errclear -d H 90

即:S,O 类的错误会保留30天,而H的错误会保留90天

手动清除错误日志可以用smit errclear来删除错误记录