はじめに
AIX のエラーは errpt コマンドでエラー・ログ内のエントリーからエラー・レポートを作成して確認ができます。
AIX の errpt のエントリーを syslog に出力する方法を確認しました。
参考:
errpt コマンド
エラー・ログ作業
なお、errpt は errdaemon が、syslog は syslogd と、異なるデーモンで制御されています。
環境
AIX 7.2 (LPAR ホスト名 : testlpar1)
設定
1. errnotify の設定
オブジェクト・データ・マネージャー (ODM) コマンドを使用して/etc/objrepos/errnotify ファイルに syslog への通知を設定します
参考の ODM設定ファイル(/tmp/errpt/sample.add) です。
errnotify:
en_name = "syslog_test"
en_persistenceflg = 1
en_method = "logger -p Msg from Error log: `errpt -l $1 | grep -v 'IDENTIFIER TIMESTAMP'`"
odmadd コマンドで 追加のerrnotify を設定します。
# odmadd /tmp/errpt/sample.add
# echo $?
0
odmget コマンドで確認します。
以下のエントリーが追加されました。
# odmget -q"en_name='syslog_test'" errnotify
errnotify:
en_pid = 0
en_name = "syslog_test"
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 = "logger -p Msg from Error log: `errpt -l $1 | grep -v 'IDENTIFIER TIMESTAMP'`"
2. syslog の設定
debug レベルで /tmp/syslog/errpt_test.log に記載されるように /etc/syslog.conf を設定します。
優先順位レベル
selector フィールドには、以下のメッセージ優先順位レベルを使用します。指定された優先順位レベルのメッセージ、およびその指定レベル以上の全レベルのメッセージが、指示されたとおりに送られます。
*.debug /tmp/syslog/errpt_test.log
syslogd リフレッシュ
# refresh -s syslogd
3. errpt エントリーの syslog の出力を確認
AIX を リブートし、errpt にメッセージが出力されることを確認
# shutdown -Fr
(ここでは リブートでerrpt エントリーが出力されるので、検証のためリブートを実施しています。)
errpt に以下のエントリーが出力されています。
# errpt | head
IDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION
DE84C4DB 0802094122 I O ConfigRM IBM.ConfigRM daemon has started.
A6DF45AA 0802094122 I O RMCdaemon The daemon is started.
/tmp/syslog/errpt_test.log で errptの出力が記録されたことを確認しました。
対象メッセージのみ抜粋しています。
errpt_test.log:Aug 2 09:41:16 testlpar1 daemon:info src[7602438]: The IBM.ConfigRM subsystem was requested to STARTED by user root
errpt_test.log:Aug 2 09:41:16 testlpar1 daemon:notice ConfigRM[8061208]: (Recorded using libct_ffdc.a cv 2):::Error ID: :::Reference ID: :::Template ID: de84c4db:::Details File: :::Location: RSCT,IBM.ConfigRMd.C,1.76,422 :::CONFIGRM_STARTED_ST IBM.ConfigRM daemon has started.
おわりに
errpt のエントリーが ODM の errnotify を設定して syslog に出力することを確認しました。
errnotify や syslog 設定を変更することで、エラーレベルや出力内容に応じた環境を設定することも可能です。
参考:
・errpt コマンド
・エラー・ログ作業
・syslogd
・errdemon
・エラー通知
以上です。