きどたかのブログ

いつか誰かがこのブログからトラブルを解決しますように。

WASzのCTRACEのセットアップ

過去に自分でも経験したことなので書いてみる。


cell-scopeのWebSphere変数Daemon_ras_trace_ctraceParmsのやつです。
初期のセットアップでは60が設定されるでしょう。
これでPARMLIBからCTIBBO60を探します。
あと勝手にCTIBBO00も探します。
無かったらINFOレベルのログがでます。


ras_trace_ctraceParmsを別のサーバー群に食わしてみましたが、
どうやら意味をなさないようです。was.envには書かれますが、使われないっぽい。
もともとras_trace_ctraceParmsは内部の変数なので勝手に設定しちゃあきまへん。
Daemon_ras_trace_ctraceParmsはDAEMONのwas.envにras_trace_ctraceParmsで保存されてます。


セットアップの詳細はこのあたりの情報を読んでください。


IEE538I CTIBBO60 MEMBER NOT FOUND IN PARMLIB
http://www-01.ibm.com/support/docview.wss?uid=swg21590088


Preparing CTRACE controls and resources
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=compass&product=was-nd-mp&topic=ttrb_prepCTRACEcontrols



正直、INFOレベルのメッセージなので、無視してもいいんだけど。


xx.SBBOJCL(BBOCTI00)
xx.SBBOJCL(BBOWTR)
WASで出荷されてくるデータセットから、この二つをコピーして使います。


BBOCTI00はそのまま使えません。
WTR(procname)とかは書き換える必要があります。
ありものでやるので、WTR(BBOWTR)ってね。
リネームも必要で、必ずCTIBBOxxにして設定と合わせます。
提供されてるJCLなんかにも注意事項が書いてあります。


DAEMONが起動する時に、BBOWTRを開始します。
もしもBBOWTRが開始してないと、他のサーバーにエラーメッセージ出るの注意。
BBOWTRが起動しない理由の多くは、単純にデータセットアロケーションが失敗してることだったりします。
提供されてるBBOWTRの出力データセットSHRで書かれているので、先にアロケーションしといてくださいな。


たしかREASON CODEは違うはずですが、こういう感じのエラーが出ます。
BBOO0038E Function CTRACE-DEFINE failed with RC=12,REASON=00001901, EXTENDED REASON=00000000



不思議に思ってることがある。
BBOCTI00では、WTRSTART(procname)はコメントアウトされていたはずなんだが、
WTR(procname)だけでプロシージャを起動しているんじゃないかという点。



一般的なCTRACEの使い方で動かすなら、こうなる。
※ここで言う一般的は、サーバー起動とともにCTRACEを仕掛けるのとは違って、という意味。
TRACE CT,WTRSTART(procname)
TRACE CT,ON,COMP=cell_short_name
REPLY x,WTR=procname,END
だから、WTRSTARTしてないのにWTRするってのが気持ち悪い。
WTRはどこにコネクトするか否かの指定であるはず。


あとDAEMON以外のサーバーがBBOWTRの存在を意識するというのがまだ良くわかってない。
ras_trace_outputLocationは無視してexternal writerの出力先へ書くの?
cell_short_nameを使うあたりでそういうことなんじゃないかと疑っている。
このあたり結構実験してんだけど、諸般の事情でPARMLIBをいじれないので限界に達した。


Starting CTRACE while WebSphere Application Server for z/OS servers are active
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=compass&product=was-nd-zos&topic=ttrb_startCTRACEactive


ここに書いてある通りにやれば後からCTRACEを有効に出来るので、
別にDaemon_ras_trace_ctraceParmsをちゃんと設定してないといけないわけじゃないだろう。