IBM MQ for z/OSのパフォーマンス/キャパシティ・プランニング
IBM MQ for z/OS(MQ)のパフォーマンス管理、キャパシティ・プランニングを行う上で必要となる情報は、SMFを使用して収集する事ができます。
収集したレポーティングツールとして、製品提供のツールを使用することもできますが、多くの場合はよりリーダブルなフォーマットで出力することがができる、MP1Bというサポートパックを使用されます。
MP1BでもCSV形式でレコードを出力することも可能ですが、出力可能なのは一部の情報だけだったりと、少し物足りないような気もします。
今回はmq-smf-csvというツールを使用してcsv形式でSMFレコードを出力してみます。
導入
当記事ではwindows7を使用しています。他プラットフォームでは試していませんが同じ手順で問題無いでしょう。
git環境があれば任意のディレクトリにgit cloneするだけ。簡単ですね。
git clone https://github.com/ibm-messaging/mq-smf-csv.git
git環境がない場合は上記のページからzipをダウンロードして任意のディレクトリに展開すればよいでしょう。
SMFデータの取得
ダンプしたMQのSMFレコードをftpで落としてきましょう。
>ftp zos.system.com
zos.system.com に接続しました。
220-FTP Server (user 'takad')
220
ユーザー (zos.system.com:(none)): takad
331-Password:
331
パスワード:
230-220-FTPD1 IBM FTP CS V2R1 at zos.system.com, 04:30:23 on 2016-08-20.
230-TAKAD is logged on. Working directory is "TAKAD.".
ftp>
ftp> bin #バイナリで落とす
200 Representation type is Image
ftp> quote site rdw #RDWを付加
200 SITE command was accepted
ftp> get 'takad.smfdump.mq' ./mqsmf.bin
200 Port request OK.
125 Sending data set TAKAD.SMFDUMP.MQ
250 Transfer completed successfully.
ftp: 1857656 バイトが受信されました 1.57秒 1181.72KB/秒。
俺は面倒が嫌いなんだ、という場合はサンプルのSMFがinstall_dir/testing/dataにSMFレコードがあるのでそれを使うといいでしょう。
実行してみる
実行ファイルはinstall_dir/bin/windowsにあります。他にはaix/linuxが確認できます。
まずは-hをつけてヘルプを見てみましょう。
MQ SMF CSV - Build Aug 4 2016 19:16:43
Usage: mqsmfcsv [-o <output dir>] [-a] [ -d <level> ]
[-h yes|no] [ -i <input file> [-m <max records>]
[-r ] [-t <ticker>]
-a Append to files if they exist. Default is overwrite.
-d <Level> Debug by dumping binary records (Level = 1 or 2).
-h yes|no Print column headers for new output files. Default is yes.
-i <Input file> Default is to read from stdin.
-m <Max records> End after formatting M records. Default to process all.
-o <Directory> Where to put output files. Default to current directory.
-r Do not print '=' on numeric-looking strings.
-s SQL mode - generate DDL for tables.
-t <Ticker> Print progress message every T records.
細かいオプションはさておき、とりあえずinputとoutputを指定してあげれば良さそうです。
> mqsmfcsv.exe -i mqsmf.bin .\output
うまくいけば、"SMF-hoge.csv"のようなファイルが生成されているはずです。
あとはExcelなりで開いてソート→グラフ化とすれば、可視化できて良いでしょう。
最後に
このツールではSMFレコードをダイレクトに出力するため、多いものでは列が400近くにもなり、Excelで見るにはちょっと辛いです。
DDLを一緒に作ってくれるSQL modeというものもあるので、うまくDBに突っ込んで、ElasticSearchなどでもっと簡単にソート/抽出/グラフ化したいところです。