SAPシステムのCCMSアラート情報監視定義ファイルのサンプルファイル(fluentd_sap_alertlog_tail.conf)
形式
「テキスト形式のログファイルの監視定義ファイル(fluentd_@@trapname@@_tail.conf.template)」の形式と同様です。
次に示す条件でテキスト形式のログファイルの監視機能を使用して,SAPシステムのCCMSアラート情報を監視する場合の定義例を,サンプルファイルとして提供します。
■条件
-
監視対象のログファイル
-
SAPシステムのCCMSアラート情報を抽出するコマンドのログファイルを監視します。
-
コマンド実行環境の言語設定は日本語で,文字コードはSJISです。監視対象のログファイルの文字コードがSJISでない場合,[Input Settings]のfrom_encodingで指定する文字コードを変更してください(Linux環境で動作させる場合,指定する文字コードをUTF-8に変更する必要があります)。
-
-
監視名
「sap_alertlog」とします。
-
ログメッセージの例
CCMSアラートレコードにデフォルトのレイアウトで出力されたログを監視します。
デフォルトのレイアウトは次のとおりです。コマンドの抽出可能なフィールドと仕様については,「jr3alget」を参照してください。
<ALERT_DATE><ALERT_TIME><MTSYSID><MTMCNAME><OBJECTNAME><FIELDNAME><VALUE><SEVERITY><MSG>
出力されるログメッセージの例を,次に示します。
20231219041721NWE Background BackgroundService SystemWideFreeBPWP 3 50 0 WPs > 2 WPs 現在値がしきい値を超過しています (中略)
注 <MSG>の長さは255バイトです。
上記のログメッセージをフィールドごとに構造化すると,次のようになります。
フィールドID
フィールド
値
<ALERT_DATE>
アラート発生日付 (YYYYMMDD)
20231219
<ALERT_TIME>
アラート発生時刻 (HHMMSS)
041721
<MTSYSID>
SAPシステムの名称
NWE
<MTMCNAME>
監視コンテキスト名
Background
<OBJECTNAME>
監視オブジェクト名
BackgroundService
<FIELDNAME>
MTE略称
SystemWideFreeBPWP
<VALUE>
警告値
3
<SEVERITY>
重大度
50
<MSG>
翻訳済みメッセージ
0 WPs > 2 WPs 現在値がしきい値を超過しています
-
監視するログメッセージ
すべてのログを監視します。システムログのメッセージレコードをフィールドごとに切り出し,そのうち翻訳済みメッセージと警告値を,それぞれをJP1イベントメッセージと重大度として設定します。各フィールドと正規表現の名前付きキャプチャ機能で切り出す際の名前,およびJP1イベントの拡張属性の対応関係は,次のとおりです。
フィールドID
正規表現で
切り出す際の名前
JP1イベントの属性
設定する内容
<ALERT_DATE>
alertdate
指定しません。
−
<ALERT_TIME>
alerttime
<MTSYSID>
mtsysid
<MTMCNAME>
mtmcname
<OBJECTNAME>
objectname
<FIELDNAME>
fieldname
<VALUE>
value
SEVERITY
<VALUE>の値に合わせて,重要度を格納します。
-
値が0の場合: Debug
-
値が1の場合: Information
-
値が2の場合: Warning
-
値が3の場合: Error
-
上記以外の場合:Notice
<SEVERITY>
severity
指定しません。
−
<MSG>
message
MESSAGE
フィールドの値をそのまま格納します。
(凡例)−:該当なし
-
-
JP1イベントに変換するログデータ
SEVERITYの値が「Warning」以上の場合にマッチします。SEVERITYに「Debug」,「Information」,または「Notice」が指定されている場合は,JP1イベントは発行されず,Fluentdのログにだけ出力されます。
-
IM管理ノードのラベル名
SAP CCMS Alert
■定義例
<worker 0>
## [Metric Settings]
<source>
@type exec
command "echo {}"
<parse>
@type json
</parse>
run_interval 60s
tag jpc_ima_metrics.tail.sap_alertlog
</source>
<filter jpc_ima_metrics.tail.sap_alertlog>
@type record_transformer
enable_ruby true
auto_typecast false
<record>
__name__ fluentd_logtrap_running
instance @@sap_instancename@@
jp1_pc_nodelabel SAP CCMS Alert
jp1_pc_category enterprise
jp1_pc_logtrap_defname sap_alertlog_tail
jp1_pc_trendname fluentd
job jpc_fluentd
jp1_pc_nodelabel_fluentd Log trapper(Fluentd)
jp1_pc_addon_program JPC Fluentd
</record>
</filter>
</worker>
<worker 4>
## [Input Settings]
<source>
@type tail
tag tail.sap_alertlog
path @@sap_logpath@@
follow_inodes true
refresh_interval 60
skip_refresh_on_startup false
read_from_head false
encoding "UTF-8"
from_encoding "Shift_JIS"
read_lines_limit 1000
read_bytes_limit_per_second -1
pos_file ../data/fluentd/tail/sap_alertlog.pos
path_key tailed_path
rotate_wait 5s
enable_watch_timer false
enable_stat_watcher true
open_on_every_update false
emit_unmatched_lines false
ignore_repeated_permission_error false
<parse>
@type regexp
expression /^(?<alert_date>.{8})(?<alert_time>.{6})(?<mtsysid>.{8})(?<mtmcname>.{40})(?<objectname>.{40})(?<fieldname>.{40})(?<value>.{11})(?<severity>.{11})(?<message>.*)$/
time_key time
null_empty_string false
estimate_current_event true
keep_time_key false
localtime true
utc false
</parse>
</source>
## [Attributes Settings]
<filter tail.sap_alertlog>
@type record_transformer
enable_ruby true
auto_typecast false
renew_record true
<record>
ID 00007601
MESSAGE ${record["message"]}
JP1_SOURCEHOST @@sap_instancename@@
JPC_LOG_TIME ${time.utc.to_i}
PRODUCT_NAME /HITACHI/JP1/JPCCS2/LOGTRAP/SAP CCMS Alert
PPNAME /HITACHI/JP1/JPCCS2
# SEVERITY Notice
SEVERITY "${
if record['value'].match(/3/)
'Error'
elsif record['value'].match(/2/)
'Warning'
elsif record['value'].match(/1/)
'Information'
elsif record['value'].match(/0/)
'Debug'
else
'Notice'
end}"
PLATFORM ${ if RUBY_PLATFORM.downcase =~ /mswin(?!ce)|mingw|cygwin|bccwin/; 'NT'; else 'UNIX'; end }
OBJECT_TYPE LOGFILE
OBJECT_NAME ${record['tailed_path']}
ROOT_OBJECT_TYPE LOGFILE
ROOT_OBJECT_NAME ${record['tailed_path']}
JP1_TRAP_NAME ${tag_parts[1]}
JPC_NODELABEL SAP CCMS Alert
</record>
</filter>
## [Inclusion Settings]
#<filter tail.sap_alertlog>
# @type grep
# <regexp>
# key nil
# pattern nil
# </regexp>
# </filter>
## [Exclusion Settings]
# <filter tail.sap_alertlog>
# @type grep
# <exclude>
# key nil
# pattern nil
# </exclude>
# </filter>
## [Forward Settings]
<match tail.sap_alertlog>
@type rewrite_tag_filter
<rule>
key SEVERITY
pattern /Warning|Error|Critical|Alert|Emergency/
tag ${tag}.jp1event
</rule>
<rule>
key SEVERITY
pattern /.*/
tag ${tag}.outputlog
</rule>
</match>
<filter /tail\.sap_alertlog\.(jp1event|outputlog)/>
@type record_transformer
enable_ruby true
auto_typecast true
renew_record true
<record>
eventId ${record['ID']}
xsystem true
message ${record['MESSAGE']}
attrs ${record}
</record>
remove_keys $.attrs.ID
remove_keys $.attrs.MESSAGE
</filter>
</worker>
ファイル
fluentd_sap_alertlog_tail.conf
格納先ディレクトリ
■統合エージェントホスト
Windowsの場合
-
物理ホストのとき
Agentパス\conf\sample\
Linuxの場合
-
物理ホストのとき
/opt/jp1ima/conf/sample/
説明
SAPシステムのCCMSアラート情報を監視するための定義ファイルのサンプルファイルです。
サンプルファイル(fluentd_sap_alertlog_tail.conf)をコピーし,必要に応じてコピー先のファイル名を「fluentd_ログ監視名_tail.conf」に変更して使用します。ファイルの配置先については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「付録A.4(3)統合エージェントホスト(Windows)」および「付録A.4(4)統合エージェントホスト(Linux)」を参照してください。Script exporter設定ファイル(jpc_script_exporter.yml)で指定したスクリプトごとにこの定義ファイルを作成します。
先頭の文字が「#」である行は,コメントとして扱い,プログラムの動作には影響しません。
文字コード
UTF-8(BOM無し)
改行コード
Windowsの場合:CR+LF
Linuxの場合:LF
定義の反映時期
Fluentdのサービスを再起動したときに,Fluentdの動作に反映します。
定義ファイルを追加もしくは削除,または,[Metric Settings]セクションの値を変更した場合,統合オペレーション・ビューアーのツリー表示に,変更内容を反映します。
反映方法については,マニュアル「JP1/Integrated Management 3 - Manager 構築ガイド」の「1.21.2(19)IM管理ノードのツリー情報の作成と反映(Windows)(必須)」を参照してください。
記述内容
「テキスト形式のログファイルの監視定義ファイル(fluentd_@@trapname@@_tail.conf.template)」の「記述内容」の説明を参照してください。
このサンプルファイルをユーザーが使用する場合は,次に示す設定項目を,ユーザー環境に合わせて変更する必要があります。
|
設定項目 |
初期値 |
設定内容 |
|---|---|---|
|
監視対象のログファイルのパス |
@@sap_logpath@@ |
環境パラメーター設定ファイルでユーザーが指定した,SAPシステムのCCMSアラート情報の抽出結果を出力するテキストファイルのパスを指定します。 |
|
CCMSアラート情報を抽出するSAPインスタンス名 |
@@sap_instancename@@ |
SAPシステムのCCMSアラート情報の抽出結果を出力するSAPインスタンス名を指定します。 |
また,SEVERITYの値が「Warning」以上の場合にマッチするときにJP1イベントが発行される設定となっています。SEVERITYに「Notice」,「Debug」,または「Information」が指定されている場合,JP1イベントは発行されず,Fluentdのログにだけ出力されます。SEVERITYが「Notice」,「Debug」,または「Information」であるログ監視結果をJP1イベントとして出力する場合には,次の下線部分のように定義を変更します。
## [Forward Settings]
<match tail.sap_alertlog>
@type rewrite_tag_filter
<rule>
key SEVERITY
pattern /Notice|Debug|Information|Warning|Error|Critical|Alert|Emergency/
tag ${tag}.jp1event
</rule>
<rule>
key SEVERITY
pattern /.*/
tag ${tag}.outputlog
</rule>
</match>