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をちゃんと設定してないといけないわけじゃないだろう。