きどたかのブログ

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

IBM Support Assistant V5 Beta2 (ISA5 Beta2)使ってみた

まえにISA V5 Beta1を試していたんだが、

わりとさいきんBeta2が出ていたのでインストールしてみた。

IBM Software Support - IBM Support Assistant

 

このサーバーはLiberty Profileだと思う。

というのもwlpフォルダがあるからだ。Beta1でもそうだった。

 

ISA V5 Beta2のサーバーはチューニングが必要か?

start_isa.batの中を編集して512MBのヒープサイズは変更可能。

たぶんISA用サーバーはいじらなくても十分だと思う。

ポート番号の変更も可能。デフォルトは10911のようです。

 

Memory Analyzer(MAT)使用の注意点

多くの人が関心を示すMemory Analyzer Tool(通称MAT)についても言及しておこう。

このファイルの中身を見てほしい。

C:\ISA5Beta2\ISA5\ToolBox\com.ibm.java.diagnostics.memory.analyzer\runmat.xml

 

見たら分かると思うが、Antのbuild.xmlだと言っていい。

大事なところは以下の部分だ。

<target name="runTool">
	
	<antcall target="processToolInputs"/>
	
	
	<eclipseapplication 
		application="org.eclipse.mat.api.parse" 
		parameters="${parameters.all}"
		jvmargs="-showversion -Xms512m -Xdump:system:events=systhrow,filter=java/lang/OutOfMemoryError,request=exclusive+prepwalk,range=1..1"/>
	
	<tstamp>
		<format property="analysis.time.date" pattern="MMMM dd yyyy hh:mm"/>
	</tstamp>
		
	<antcall target="processToolOutputs"/>

</target>

何が言いたいか分かるだろう。

最小が512MBか。最大は?

この設定だと物理メモリの半分を取ろうとするんじゃないのかコレは?

ちょっと-verbose:gcをrunmat.xmlに仕込んでMATのレポート動かしてみた。

CASEのディレクトリ配下にログ出来るのでそれで確認。

うむ、物理メモリの半分の最大ヒープを要求しておる。おいおい。

ISA V5 Beta2をロースペックなマシンで動かすのは自殺行為に近い。

 

また当然気付いて欲しいのだが、さっきのは新しいjavaプロセスを使うが

事象別(phd毎、systemdump毎)にヒープサイズを変えられない。

もしも複数人で使うことがある場合、

MATのレポートを出力する人がたまたま二人いるだけで、

物理メモリは枯渇する可能性があるわけで・・・。

 

 

サーバーが2つ立つのは意識しとくこと

Beta1のときからそうなんだけどISA用サーバーの他にMAT用のサーバーも立つ。

C:\ISA5Beta2\ISA5\wlp\usr\servers\mat\server.xml

dropinsにmat.warがあるのでWebアプリが乗っている。

たぶんMATサーバーは、3種類あるMATのうち、Webエディション用のものだと思う。

デスクトップ用は論外として、レポート用のを使う場合は前述のヒープに注意。

 

C:\ISA5Beta2\ISA5\ToolBox\bin\start_mat.bat

このファイルをみる限りMAT用サーバーのメモリは大きめだ。

1200MBになっている。そこそこのダンプが読めるサイズだな。

ポートは10912。

 

ISA&MATサーバー用に2プロセス、MATをレポートで動かすならその都度1プロセス。

他のツールは調べてないけれど、Antで動いてるっぽいのが多い。

けっこうメモリを積まないとチームとして運用はできないので、

実際の案件で使う場合はすこし良いマシンを使ったほうがいい。

そういう時にクラウド的なもんが出動してくれないと困る。

 

念のためJavaプロセスが残ってないか注意すること

以前Beta1で試していたとき、javaプロセスが残ってしまって、

タスクマネージャかプロセスエクスプローラーで殺してた。

そういう注意もしていただきたい。

start_isa.batを閉じるだけでも落ちるんだけど、

stop_isa.batをしといたほうがいい。

 

stop_isa.batはしたんだが、プロセスが残ってる可能性も否定できない。

stop_isa.batのなかでstop_mat.batを動かすようには組まれているよ。

それでもプロセスが残ってないかのチェックは、

はじめてツールをお触りした時はしといた方がいい。

 

新しく追加されたタブ?

ISA V5 Beta2ではけっこうタブが増えてる気がする。Beta1からあったかな?

いくつかのタブは右上のボタン「scan this ticket」をやらないと意味がない。

「scan this ticket」をやる時、一回もやったことがないなら、

「force_rescan」「ignore_failed」の両方にチェックをつけて動かそう。

動かすと「pdtools/com.ibm.esupport.p1pd」フォルダが作成される。

まあ、これは出力フォルダなんだが、あまり直接見るようなことはない。

 

スキャンの結果は3つのタブに反映される。

「Overview」

「Symptoms」

「Global Knowledge Base Matchs」

 

「Overview」はログから取れるバージョン情報とかが列挙される。

「Symptoms」はログファイルからどのような問題があるかを調べた結果がわかる。

「Global Knowledge Base Match」では関係しそうなAPARやTechNoteを推測してくれる。スコア形式なんで正解率は実際のところ高くないと思うけど、そういうのもあるんだ~って気付きにはなる。

 

「File」タブに見たこともない「Tree View」と「Flat View」というのが登場した。

人の好みによるんだろうけど、「Tree View」のが好きだ。

 

「Data Collector」タブはきっと新機能。

いちおうISA Liteの後継がData Collectorだったはず。

Data Collectorはまだ使用したことがないので感想は控える。

WAS V8.5ではData Collectorが使えるようになった。

V8.5で言っているのはISA Liteとは全然違う使い方で、-Xdumpでハンドリングして、

toolオプションでツールを実行して収集する類のものだ。

 

ケース・マネジメントをカスタマイズできるか?

ケース番号は4桁という制約がある。

私はこれが嫌なので現在方法を模索しているところだ。

出来ることならPMR番号=ケース番号としたい。

自動採番ではなくて、4桁でなくて、数字だけじゃなくて、選びたい。

だって、そのデータを使ってSRオープンするかもしれないんだから、

番号はPMR番号と同じにしといた方が効率的というものでしょう。

また、ケースの検索を行うとき、やはり番号でしか検索出来ないっぽいので、

よく覚えてないなんて状況は考えられる。

PMR番号のコピペで検索したいという場面はとうぜん考えられるんだけど

そういう検索は出来ないので、とりあえず0打って、多すぎたら次の0を打って、

そんなこんなでブレークダウンしていくんだけど、

Summaryに何も書いてなかったら識別できないということがおこる。

ん?SummaryにPMR番号書いとく?

いやいや、それなら始めからPMR番号でフォルダ作らせてよー、という願望。

 

ケース番号を変える方法の検討

isaサーバーは以下の箇所でサーバーが定義されている。

C:\ISA5Beta2\ISA5\wlp\usr\servers\isa\server.xml

そしてSherlockと呼ばれているアプリが動いている。

SherlockはISA V5の根幹をなす部分じゃないだろうか。

次にこれを見ていただきたい。

C:\ISA5Beta2\ISA5\wlp\usr\servers\isa\apps\ISA5.ear\ae5.properties

このファイルに書いてあることが関係していると思う。

cases.commonName=CASES はきっとボタンの名前だろう

cases.validationRegularExpression=^\\w{4}$ が4桁制限の元になってるだろう

cases.directoryRegularExpression=\\d{1} は何かな?

このae5.propertiesをすこし手直しすれば、

ケース番号の制限解除がここらへん変更することが可能ではないか?

先頭から構成要素がa-zA-Z_0-9を4回からの末尾だからね。

この状態でも先にISAを経由せずに直接フォルダを用意しておけばケース番号として動くか?

 

まだCASEを新しく作成する際に、

入力がグレーで指定できないところをなんとかしないと

私がやりたいと思っていることが出来ない。

C:\ISA5Beta2\ISA5\wlp\usr\servers\isa\apps\ISA5.ear\Sherlock_ISA_Web.war\dojo_extensions\widget\casemanagement\CaseMgtPanel.js

どうやらこのjsに手を加えれば出来そうな気がする。

が、javascriptが苦手なのでそこまでやってられないな・・・。

すまんが、ここで一旦考えるのを止める。

 

前述の4桁制限を外した状態から、

直接フォルダ名を変更することを考えることにする。

CASEフォルダ配下に作られるケース番号フォルダをリネームすることで

好きなケース番号に変えられるのでは?という手法だ。

フォルダ作るだけではダメで、.metadataフォルダと、

case.jsonファイルを作り、case.jsonファイルの中身に入ってるCASE IDも変更しないと、ISAサーバーは認識してくれない。

これで認識はするはず。認識した。正しく動くか?

ISA上でそのCASEに新規フォルダを作ろうとしたら失敗したので、

まだ他にもいじらないとダメなようだ。

こ、これはなかなか難しいことをやろうとしてるんだろうか・・・
他にもケース・マネジメントで、Descriptionが取れない問題も発生した。
やはり4桁でないと動かない部分が他にもあるようだ。
ログを見るとISACaseAdapterがなにか出力している。
 

ERROR ISACaseAdapter  - Invalid path provided: 55555.333.333/. Can not determine a schema for the given path.

ほかにも

ERROR ISACaseAdapter  - com.ibm.swsup.filemgr.FileActionException: invalid destination for move: 55555.333.333

※55555.333.333は私が指定したフォルダ名です

 

ググってみた。1件かよ。

com.ibm.isa.external.storage.artifactstore.ISACaseAdapterかな?

名前からしてこのjarだな。

C:\ISA5Beta2\ISA5\wlp\usr\servers\isa\apps\ISA5.ear\lib\com.ibm.isa.external.storage.adapter.jar

まあこれが分かったところでどうしようもないか。

あ、jar見てたら、なんかみっけた。

com.ibm.isa.external.artifactstore.CaseNumberがいる。

4固定、正規表現もプロパティと矛盾しとるし・・・。

こやつが元凶か・・・。詰んだ。

こういう時は、フォーラムで騒ぐか、フィードバックなにかに送るか。

 

実際のデータはどこに保存されるか?

さすがに説明されてるだろうけど念のため書いておく。

C:\ISA5Beta2\ISA5\isa\cases

デフォルトの設定だとここに保存されるようになる。

これもae5.propertiesで変更できると思う。

 

NLS対応は未完成の模様

native_stderr.logからGCMVを動かしたんだけど、

一部のファイルが日本語ファイル名になったのは良いが

ブラウザから見れない状態になった。

Windowsのファイルを見に行けば問題ない。

Result.htmlからのリンクも動かないし、

日本語ファイルを直接ダウンロードしようとするとエラーになる。

Error 404: SRVE0295E: ???????????: 404 

リンク貼るならファイル名を日本語化してほしくない。

中身は日本語化する部分があれば嬉しいけど、ファイル名は英語で良いでしょ。

 

MATのレポート版も文字化けでサーバー上で開けない。

heapdump_analyzer.htmlはcharsetにUTF-8を指定しているようだ

そこには2バイト文字があり、実はシフトJISなら読める。

heapdump_リークの疑いがあるもの

heapdump_上位コンポーネント

 

他の生成されたhtmlとかではcharsetにwindows-31jが入っているのがある。

まあURLに2バイト文字がそのまま埋め込まれているせいで開かない。

localhost:10911/rest/download/0000/heapdump.phd-analyzer_ISA_PD/heapdump_リークの疑いがあるもの/index.html

とかが読めない。

Windowsのディレクトリからファイルで開きにいくと読める。

 

総括(さいごに色々書きなぐるところ)

障害解析の熟練者にとってはあまりサーバー化のメリットはない。

障害解析の初心者にとってはWebでぴこぴこ出来るので敷居が低い。

特にMATのWebエディションは秀逸だ。

チームとしての共有という点ではサーバー化の流れはOKだと思う。

クラウド的ななにかでなんとかメモリを確保してほしい。

熟練者のローカルPCだとか、ファイルサーバだとかに乱雑になるより、

ISA V5 Beta2でまるっと管理するというのは方向性としてアリだ。

大風呂敷を広げるならば、アプリケーションのログも解析できるように、

独自のツールを開発していけるような取り組みはあっても良い。

z/OS系の解析はちょっとこれでは厳しい。

JOBLOGは読める、gclogも解析可能だろうし、

MATも動かせるだろう、ただsvcdump.jarがない。

入ってるけどサーバー上で機能は提供してない。私はその機能が欲しい。

いずれにしてもIPCSでないと分からない問題が多いので、

ISA V5 Beta2のみでなんとかなるとは思ってない。

 

それにしても日本語化ってそんなに大事?