管理错误日志记录
错误日志记录在系统初始化期间,由 rc.boot 脚本自动启动,在系统关闭期间由 shutdown 脚本自动停止。
由 diag 命令执行的错误日志分析分析硬件错误项目。 硬件错误条目在错误日志中的缺省保留时间为 90 天。 如果要在短于 90 天的时间内除去硬件错误条目,可以限制此错误日志分析的有效性。
将错误日志转移到其他系统
errclear、errdead、errlogger、errmsg 和 errpt 命令是可随意安装的 Software Service Aids 软件包 (bos.sysmgt.serv_aid ) 的一部分。 您需要 Software Service Aids 软件包生成错误日志的报告,或删除错误日志中的条目。 您可以在您的系统上安装 Software Service Aids 软件包,或者可以将系统的错误日志转移到安装了 Software Service Aids 软件包的系统上。
/usr/lib/errdemon -l
- 使用 cp 命令将文件复制到远程安装的文件系统
- 使用 rcp、ftp 或 tftp 命令,通过网络连接复制文件
- 使用 tar 或 backup 命令将文件复制到可移动介质,然后将文件复原到其他系统上。
使用 errpt 命令的 -i 标记,您可以对从其他系统复制到您的系统的错误日志报告进行格式化。 -i 标记允许您指定除错误日志文件的缺省路径名以外的路径名。 同样地,使用 errclear 命令的 -i 标记,您可以删除从其他系统复制到您的系统的错误日志文件的条目。
配置错误日志记录
您可以定制错误日志文件的名称和位置,以及内部错误缓冲区的大小以适合您的需求。 也可以控制重复错误的日志记录。
列示当前设置
要列示当前的设置,请运行 /usr/lib/errdemon -l 。 当前存储在错误日志配置数据库中的错误日志文件名称、错误日志文件大小以及缓冲区大小的值会显示在您的屏幕上。
定制日志文件位置
要更改用于错误日志记录的文件名,请运行 /usr/lib/errdemon -i FileName 命令。 指定的文件名被保存在错误日志配置数据库中,同时立即重新开始错误守护程序。
定制日志文件大小
/usr/lib/errdemon -s LogSize
指定的日志文件大小限制被保存在错误日志配置数据库中,同时立即重新开始错误守护程序。 如果日志文件的大小限制小于当前使用的日志文件的大小,那么对当前日志文件进行重命名,在文件名后追加 .old,同时创建一个带有指定大小限制的新日志文件。 为错误日志文件保留指定的空间数量,该指定不再用于其他文件。 因此,请注意不要使日志过大。 但是,如果日志过小,可能会过早的覆盖重要信息。 当达到日志文件大小限制时,文件换行,即新条目将覆盖最旧的条目。
定制缓冲区大小
/usr/lib/errdemon -B BufferSize
指定的缓冲区大小被保存在错误日志配置数据库中,如果它大于当前使用的缓冲区大小,那么立即增强内存中的缓冲区。 如果它小于当前使用的缓冲区大小,那么新大小在系统重新引导后再次启动错误守护程序时生效。 缓冲区不能小于 8 KB 的硬编码缺省值。 指定大小会向上舍入到内存页面大小 (4 KB) 的下一个整数倍。 错误日志设备驱动程序内存中的缓冲区所使用的内存不用于其他进程(缓冲区固定)。
请注意,不要使缓冲区过大而影响系统性能。 但是,如果缓冲区过小,那么当错误条目达到的速度大于从缓冲区读取并放入日志文件中的速度时,缓冲区会被充满。 当缓冲区满时,将丢弃新的条目,直到缓冲区中有空间变为可用为止。 当发生此类情况时,会创建错误日志条目以通知您该问题,然后您可以通过增大缓冲区来纠正此问题。
定制重复错误处理
默认情况下,从AIX® 5.1 开始,错误守护进程会通过查看记录的每个错误来消除重复错误。 如果一个错误与以前的错误相同且发生在用 /usr/lib/errdemon -t time-interval 指定的近似时间间隔之内,那么它是重复错误。 缺省时间值为 10000 或 10 秒。 值以毫秒计。
-m maxdups 标记控制记录重复条目之前可以积聚多少个重复。 缺省值为 1000。 如果记录了一个错误(发生该错误后出现 1000 次同样的错误),那么在那时记录重复错误,而不是等待时间间隔到期或等待发生一个唯一的错误。
例如,如果设备处理程序开始快速地记录许多同样地错误,那么大部分不会出现在日志中。 相反地,将记录第一次出现地错误。 随后出现的错误不会被马上记录下来,而只是计数。 当时间间隔到期时达到 maxdups 值,或当记录其他错误时,记录错误的另一格式,该格式给出第一次和最后一次重复的时间以及重复的次数。
除去错误日志条目
当 root (用户)运行 errclear 命令,或 errclear 命令由日常 cron 作业自动调用,或错误日志文件因为达到了大小的最大值而换行时,从错误日志中除去条目。 当错误日志文件达到在错误日志配置数据库中指定的大小最大值时,最新的条目覆盖最旧的条目。
自动除去
crontab -l Command
crontab -e Command
errclear 命令
errclear 命令可以用来有选择地除去错误日志中地条目。 可以指定的选择条件包括错误标识号、序号、错误标签、资源名称、资源类、错误类和错误类型。 您必须也要指定将要除去地条目地使用期限。 与您指定的条件相匹配的条目和超过指定天数的条目将被除去。
启用和禁用事件的日志记录
通过修改事件错误模板的日志或 报告字段,您可以禁用特定事件的日志记录或报告。 您可以使用 errupdate 命令更改事件的当前设置。
显示已禁用日志记录的事件
errpt -t -F Log=0
已禁用日志记录的事件不保存在错误日志文件中。
显示已禁用报告的事件
errpt -t -F Report=0
当发生已禁用报告的事件时,这些事件保存在错误日志文件中,但 errpt 命令并不显示它们。
更改事件的当前设置
要更改事件的当前设置,可以使用 errupdate 命令。errupdate 命令必需的输入可能位于文件中,或来自标准输入。
errupdate <Enter>
=192AC071: <Enter>
Report=False <Enter>
<Ctrl-D>
<Ctrl-D>
日志记录维护活动
errlogger 命令允许系统管理员记录错误日志中的消息。 只要您执行维护活动(例如清除错误日志的条目、替换硬件或应用软件修订),最好在系统错误日志中记录该活动。
ras_logger 命令提供途径以记录命令行中的所有错误。 它可以用来测试新近创建的错误模板,并提供途径以记录 shell 脚本中的错误。
将系统日志消息重定向到错误日志
某些应用程序使用 syslog 记录错误和其他事件。 要在单独的报告中列示错误日志消息和 syslog 消息,请将 syslog 消息重定向到错误日志。 您可以通过将 errlog 指定为 syslog 配置文件 (/etc/syslog.conf) 中的目标来执行此操作。 请参阅 syslogd 守护程序获取更多信息。
将错误日志消息定向到系统日志
errnotify:
en_name = "syslog1"
en_persistenceflg = 1
en_method = "logger Msg from Error Log: `errpt -l $1 | grep -v 'ERROR_ID TIMESTAMP'`"
例如,使用这些内容创建调用 /tmp/syslog.add 的文件。 然后运行 odmadd /tmp/syslog.add 命令(必须以 root 用户登录)。
有关并发错误通知的更多信息,请参阅 错误通知。