はじめに
CDPzを使用してSMFデータをElasticsearchに送り込む方法としては、手動でバッチジョブを実行する方法と、Log Forwarderのように常駐のアドレススペースを起動しておいてリアルタイムに取得する方法があります。
ここでは、リアルタイムにSMFデータをハンドリングする方法を試してみます。
扱うのはCICS関連のSMFデータです。
関連記事
CDPzを利用したz/OS-ELK連携 - (1)セットアップ編
CDPzを利用したz/OS-ELK連携 - (2)SYSLOG取得編
CDPzを利用したz/OS-ELK連携 - (3)SMF-バッチ編
CDPzを利用したz/OS-ELK連携 - (4)SMF-リアルタイム編
CDPzを利用したz/OS-ELK連携 - (5)カスタマイズ-共通
CDPzを利用したz/OS-ELK連携 - (6)カスタマイズ-SYSLOG
CDPzを利用したz/OS-ELK連携 - (7)カスタマイズ-CICS
CDPzを利用したz/OS-ELK連携 - (8)カスタマイズ-RMF Monitor III
CDPzを利用したz/OS-ELK連携 - (9)カスタマイズ-fluentdの利用
利用コンポーネント
上の(4) System Data Engine部分を常駐タスクとして実行し、SMFのEXITで取得したデータをData Streamer経由でデータを送信します。
構成
CDPz側構成
SMFデータ取得用ポリシーの作成
この部分は、SMF-バッチ編の構成と全く同様です。
参考: CDPzを利用したz/OS-ELK連携 - (3)SMF-バッチ編 - SMFデータ取得用ポリシーの作成
Data Streamer構成
ここも、SMF-バッチ編の構成と全く同様です。
参考: CDPzを利用したz/OS-ELK連携 - (3)SMF-バッチ編 - Data Streamer構成
System Data Engine構成
System Data Engineのプロシージャー SYS0.PROCLIB(HBOSMF)を編集します。
//HBOSMFCL EXEC PGM=HBOPDE,REGION=0M,TIME=1440,
// PARM='SHOWINPUT=NO,ZIIPOFFLOAD=NO'
//STEPLIB DD DISP=SHR,DSN=CDPZ02.V2R1M0.SHBOLOAD
//*
//* CONTROL STATEMENTS
//* The control statement file must be customised to match
//* the target of the Common Data Provider configuration utility.
//*
//HBOIN DD *
SET IBM_SDE_INTERVAL = '1 MINUTES';
SET IBM_UPDATE_TARGET = 'PORT 50401';
SET IBM_FILE_FORMAT = 'CSV';
SET IBM_RESOURCE = 'EXIT';
// DD PATH='/u/CDP201/cdpConfig/Test02_CICS01.sde',
// PATHDISP=(KEEP),RECFM=V,LRECL=255,FILEDATA=RECORD
//*
//* Sample COLLECT statement for processing real-time SMF data
//*
// DD *
COLLECT SMF FROM &IBM_RESOURCE
EVERY &IBM_SDE_INTERVAL;
/*
//HBOOUT DD SYSOUT=*
//HBODUMP DD SYSOUT=*
//HBODEBUG DD SYSOUT=*
SET IBM_UPDATE_TARGET には、Data StreamerがListenするポート番号を指定します。
SET IBM_RESOURCE には、固定の文字列 'EXIT'を指定します。
PATH='xxx.sde' には、ポリシー作成時に生成されたsdeファイルを指定します。
ELK側構成
バッチ編と同様です。
参考: CDPzを利用したz/OS-ELK連携 - (3)SMF-バッチ編 - ELK側構成
実行
ELK側
バッチ編と同様です。
参考: CDPzを利用したz/OS-ELK連携 - (3)SMF-バッチ編 - 実行 - ELK側構成
CDPz側
Data Streamer起動
バッチ編と同様です。
参考: CDPzを利用したz/OS-ELK連携 - (3)SMF-バッチ編 - Data Streamer起動
System Data Engine起動
参考: Running the System Data Engine
System Data Engineを起動します。
S HBOSMF
$HASP100 HBOSMF ON STCINRDR
IEF695I START HBOSMF WITH JOBNAME HBOSMF IS ASSIGNED TO USER CDP201
, GROUP SYS1
$HASP373 HBOSMF STARTED
IEF403I HBOSMF - STARTED - TIME=16.03.14
これで、SMFデータを取得する準備が整いました。
System Data Engineステータス確認
F HBOSMF,DISPLAY STATUS
HBO5006I DISPLAY STATUS
HBO5007I DISPLAY DISPLAY STATUS written to HBOOUT.
2020-01-15 16:10:56 HBO0300I System Data Engine Display status started.
2020-01-15 16:10:56 HBO0003I
2020-01-15 16:10:56 HBO0315I Records read from the log or built by log procedure:
2020-01-15 16:10:56 HBO0317I Record name | Number
2020-01-15 16:10:56 HBO0318I -------------------|----------
2020-01-15 16:10:56 HBO0319I SMF_110_1_C | 7
2020-01-15 16:10:56 HBO0319I SMF_110_2 | 0
2020-01-15 16:10:56 HBO0318I -------------------|----------
2020-01-15 16:10:56 HBO0321I Total | 7
2020-01-15 16:10:56 HBO0003I
2020-01-15 16:10:56 HBO0316I Records built by record procedures:
2020-01-15 16:10:56 HBO0317I Record name | Number
2020-01-15 16:10:56 HBO0318I -------------------|----------
2020-01-15 16:10:56 HBO0319I SMF_110_1_CO | 7
2020-01-15 16:10:56 HBO0318I -------------------|----------
2020-01-15 16:10:56 HBO0321I Total | 7
2020-01-15 16:10:56 HBO0003I
2020-01-15 16:10:56 HBO0323I -------Buffer------ --Stream-
2020-01-15 16:10:56 HBO0324I Stream name | Inserts Updates Writes
2020-01-15 16:10:56 HBO0325I -------------------------------------|------------------------------
2020-01-15 16:10:56 HBO0326I SMF_110_1 | 7 0 7
2020-01-15 16:10:56 HBO0326I SMF_110_1_DICT | 392 0 392
2020-01-15 16:10:56 HBO0326I SMF_110_1_FIELD | 2352 0 2352
2020-01-15 16:10:56 HBO0326I SMF_110_2 | 0 0 0
2020-01-15 16:10:56 HBO0325I -------------------------------------|------------------------------
2020-01-15 16:10:56 HBO0327I Total | 2751 0 2751
2020-01-15 16:10:56 HBO0003I
2020-01-15 16:10:56 HBO0394I -------------- TCP/IP Statistics ---------------
2020-01-15 16:10:56 HBO0395I -------------------------------------|----------
2020-01-15 16:10:56 HBO0396I Total Data Transmitted (Kilo-Bytes) | 514
2020-01-15 16:10:56 HBO0397I Total Write Time (Milliseconds) | 107
2020-01-15 16:10:56 HBO0398I Maximum Payload Size (Bytes) | 219701
2020-01-15 16:10:56 HBO0395I -------------------------------------|----------
この後、CICSのモニターや統計情報を有効化してSMFにパフォーマンス情報を書き出しするシナリオを適当に流します。
確認
バッチ編と同じindexにデータが投入されるので、バッチ編でindex pattern作っていれば追加は不要です(取得される経路が違うだけで、ELK側は全く同じ)。