charleschchen
作者charleschchen·2022-04-28 14:06
系统架构师·浪潮商用机器有限公司

如何将AIX上errpt记录自动转储到syslog

字数 1923阅读 2184评论 0赞 0

问题背景

AIX提供了error logging集中式错误日志设施,可以记录任何软件、硬件方面的故障信息或操作信息、提示信息等等,以便于故障检测、错误纠正,提高维护效率。是AIX上不可或缺的重要问题诊断工具。

AIX error logging设备驱动使用errsave内核服务,将错误记录添加到/dev/error特殊设备文件中。而errdemon守护进程将获取错误记录并创建一个错误日志条目。通过SMIT或errpt命令访问错误日志时,错误记录将根据错误模板存储库中的模板进行格式化,并以摘要或详细报告的形式显示错误信息。

由于目前许多客户需要实现跨平台监控,因此需要一种将errpt日志自动转储的方法。本文介绍一种自动将所有errpt日志转储到syslog日志的方法,以便于实现跨平台监控以及错误日志传输。

配置syslog日志记录

编辑/etc/syslog.conf文件,增加如下项 (循环使用8个文件,每个文1MB,采用压缩方式存储):

#vi /etc/syslog.conf:  
daemon.notice /var/log/syslog.notice rotate size 1m files 8 compress  

生成syslog.notice文件,并更新syslogd

#touch /var/log/syslog.notice
#refresh -s syslogd  

配置errnotify方法

在系统中注册errnotify方法,当errlog有日志生成时,会自动触发errnotify方法运行指定动作。

编写errnotify方法:

]#cat errnotify.add  
errnotify:  
en_name = "syslog1"  
en_persistenceflg = 1  
en_method = "errpt -l $1 | tail -1 | logger -t errpt -p daemon.notice"

注册errnotify方法:

#odmadd errnotify.add

检查确认errnotify方法已生效(注意系统中默认有自带的errnotify方法,请注意避免误操作,勿随意修改或删除):

#odmget -q "en_name=syslog1" errnotify

errnotify:  
en_pid = 0  
en_name = "syslog1"  
en_persistenceflg = 1  
en_label = ""  
en_crcid = 0  
en_class = ""  
en_type = ""  
en_alertflg = ""  
en_resource = ""  
en_rtype = ""  
en_rclass = ""  
en_symptom = ""  
en_err64 = ""  
en_dup = ""  
en_method = "errpt -l $1 | tail -1 | logger -t errpt -p daemon.notice"  
  

说明,如果需要odmdelete回退上述修改时,请使用-q指定条件,避免误删除系统自带的errnotify方法:

#odmdelete -o errnotify -q "en_name=syslog1"

测试

生成一条errlog测试操作记录,然后查看syslog日志:

#errlogger test
#cat /var/log/syslog.notice  
Apr 28 14:03:04 racnode1 daemon:notice errpt: AA8AB241 0428140322 T O OPERATOR OPERATOR NOTIFICATION  
  

运行sleep 3600,然后按Ctrl 键加上\\键触发core dump:

#sleep 3600  
Quit(coredump)  
[root@racnode1:/var/log]#cat /var/log/syslog.notice  
Apr 28 14:03:04 racnode1 daemon:notice errpt: AA8AB241 0428140322 T O OPERATOR OPERATOR NOTIFICATION  
Apr 28 14:05:31 racnode1 daemon:notice errpt: A924A5FC 0428140522 P S SYSPROC SOFTWARE PROGRAM ABNORMALLY TERMINATED  

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广