2022年AIX错误 .pdf
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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 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 配置文件格式信息类别 .错误等级记录的位置名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 其中 ,各项的含义信息类别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文件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -