关于AIX系统错误日志的一些说明
内容提要:系统地介绍一下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来删除错误记录