errpt相关内容(AIX)

来源:互联网 发布:mac input method 编辑:程序博客网 时间:2024/05/18 20:49

转帖自 http://blog.chinaunix.net/u3/106618/showart_2138951.html

 

errpt相关内容(AIX)

 

通常我们在进行服务器的健康性检查,和在出现问题的时候都会去考虑查看系统的日志。
我在学习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的具体配置,网上遍地都是。
 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
http://blog.chinaunix.net/u1/50863/showart_441315.htm
aix errpt输出报告解析
根据错误的类型,errpt -a 报告可能包含下列信息:
 
LABEL    事件的预定义名称
IDENTIFIER   事件的数字标识符
Date/Time   事件的日期和时间
Sequence Number  事件的唯一编号
Machine ID   系统处理器部件的标识号
Node ID    系统的缩写名(助记名)
Class    错误的一般原因。可能的错误类型有:
 H   硬件
 S   软件
 O   指示性信息
 U   未确定的
Type    发生的错误的严重性。可能有如下错误类型:
 PEND   一个设备或部件将很快丧失其可用性
 PERF   设备或部件的性能已降级至可接受的水平以下
 PERM   不可能恢复的状况。此类错误通常是最严重的错误,并可能意味着硬件设备或软件模块损坏。
   除 PERM 之外的错误类型通常不代表一个故障,但可通过诊断程序进行分析。
 TEMP   多次不成功的尝试之后,被恢复的状况。此错误类型也用来记录指示性的信息条目,如 DASD 设备的数据传输统计。
 UNKN   不能确定错误的严重性
 INFO   指示性的错误日志条目,和不是错误的结果
Resource Name   发现错误的资源名称。对于软件错误,这是一个软件部件、或一个可执行程序的名称。对于硬件错误,这是一个设备、
   或系统部件的名称。这不表示部件故障、或需要替换。相反,可用来确定用来分析错误的适当诊断模块。
Resource Class   发现故障的资源通用类。(如,disk 设备类)
Resource Type   发现故障的资源类型
Location Code   设备的路径。可能有多达四个字段,分别涉及 drawer(抽屉)、slot(插槽)、connector(连接器)、port(端口)。
VPD    关键产品数据(Vital product data)。该字段的内容是多种多样的。设备的错误日志条目比较典型地,
   返回关于设备厂商、序列号、工程变动级别、只读存储器级别等方面的信息。
Description   错误的摘要
Probable Cause   列出一些可能导致错误的原因
User Causes   列出一些用户误操作导致故障的可能原因。
   不正确地插入的磁盘和外部设备(如 modems 和 prints)不能被开启,就是用户导致错误的例子。
Actions    描述校正用户导致的错误的推荐操作
Install Causes   列出由于不正确的安装或配置过程而导致故障的可能性原因。
   此类错误的例子包含:硬件和软件不匹配、电缆或线缆连接不正确而松动、不正确地配置系统。
Actions    描述校正安装导致错误的推荐操作
Failure Causes   列出硬件、或软件可能的缺陷/故障(defect)
Actions    描述校正故障的推荐操作。对于硬件错误,会运行诊断程序。
Detailed Data   对于每一个错误日志条目都是唯一的故障数据,如设备 sense 数据。
 
比如:
# errpt -aj 4B219AEA|more
---------------------------------------------------------------------------
LABEL:          LVM_GS_CHILDGONE
IDENTIFIER:     4B219AEA
Date/Time:       Wed Dec  5 18:12:31 BEIST 2007
Sequence Number: 1917
Machine Id:      00028057D600
Node Id:         localhost
Class:           U
Type:            PERM
Resource Name:   LIBLVM         
Resource Class:  NONE
Resource Type:   NONE
Location:       
VPD:            
Description
Concurrent LVM daemon forced Volume Group offline

Probable Causes
Unrecoverable event detected by Concurrent LVM daemon
Failure Causes
Lost communication with remote nodes
Lost quorum
        Recommended Actions
        Ensure Cluster daemons are running
        CHECK ERROR LOG FOR ADDITIONAL RELATED ENTRIES
        Attempt to bring the Concurrent Volume Group back online
        IF PROBLEM PERSISTS, CONTACT APPROPRIATE SERVICE REPRESENTATIVE
Detail Data
Volume Group ID
0001 CCCD 0000 D600 0000 0114 16BE 3BDC
MAJOR/MINOR DEVICE NUMBER
0000 0000
SENSE DATA
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Duplicates
Number of duplicates
           1
Time of first duplicate
Wed Dec  5 08:48:00 BEIST 2007
Time of last duplicate
Wed Dec  5 08:48:17 BEIST 2007
l