BI 4.x で、E2Eトレースログの生成や分析方法(Solution Manager導入しないシステム向け)
原版(英語):http://scn.sap.com/community/bi-platform/remote-supportability/blog/2012/11/06/how-to-generate-and-consume-an-e2e-trace-with-bi4x-for-non-solman-landscapes
作者:Toby Johnston 現在SAPに就職
BusinessObjects製品に関してSAPサポートインシデントの提出経験がありましたら、製品のログ採取についての悩みはあるでしょう。通常、下記の種類の困難は考えられます。
- セントラル管理コンソールにログインし、手動でトレースを有効化しなければいけない
- 正確のログを採取するため、トレースログを採取プロセスに利用された各サーバーコンポーネントをよく理解しないといけない
- トレースログファイル自体のサイズは非常に大きい、また必要でないものはいっぱい入っている
- 異なるコンポーネントから生成されたトレースログファイルを時間順でマージすることは非常に時間掛かる
- トレースログを分析する時、ユーザーID、スレッドIDなどより絞り込むことも難しい
もし一つのみのログファイルを取得して、すべてのプロセスにある情報は含まれるのは素晴らしいことではないでしょうか。そして、時間順で各サーバー、コンポーネントのトレースログも自動マージされることや、ユーザーはサーバー側で手動でトレースログを有効化する必要は無くなることが可能に出来れば、もっと素晴らしいことではないでしょうか。実際、これらのことは、すべてSAP BusinessObjects BI 4.xプレットフォームに導入した新しい機能いSAPパスポートよって、可能になります。
SAPパスポートはSAP Client Plug-inツールで作成された唯一の記号であります。SAP Client Plug-inツールでIEブラウザを起動し、サーバーにアクセスする際に、このSAPパスポート情報はすべてのHTTPヘッダリクエストに追加されます。WebサーバーはこれらのHTTPヘッダを取得し、バックエンドのサーバーに転送します。SAP Client Plug-inで指定されたトレースログのレベルは、このプロセスの間で自動的にサーバーの設定値を上書き、故にサーバーは自動的にSAP Client Plug-inで指定されたログレベルでログを作成することになります。同時に、作成されたログファイルに、SAPパスポート情報はログファイルの毎行でも記入されて、クライアント側(エンド)とサーバー側(エンド)のEnd
To Endのトレース生成を確保されます。
SAP Client Plug-inの使用はE2Eトレースログ採取の第一歩になります。次は、取得したログファイルをSAPパスポート情報よりマージし、時間順で一つのみのログファイルの作成になります。これを実現するツールは多くありますが、今回はGLF
Viewerツールを紹介させていただきます。GLF ViewerはBI
4.xのGLFタイプログファイルを読むための専門のツールとなります。Java言語でデザインされ、複数のGLFログファイルを同時に処理することは可能です。すべて作成されたログファイルを導入し、SAPパスポートよって絞込み、故に最終必要のみの情報は一つファイルのみに保存され、今後の分析に役に立ちます。
さて、具体的な手順はどうなりますか一緒に見ましょう。
*下記のSAPノレッジベース文章でE2Eトレースの採取について最新情報はございますので、合わせてご確認願います。
1861180 – Customer instructions and best practice for collecting a BI Platform 4.x end to end trace
E2Eトレースログの作成
- SAP Note 1435190をアクセスし、SAP Client Plug-in 71 SP05 Patch 3をダウンロードする。このバージョンのSAP Client Plug-inは32ビットのIE8、IE9 をサポートします。
- SAP Client Plug-inをクライアント端末にコピーし、解凍する
- 解凍後、中にあるplugin-starter-gui.exeを実行する
- ApplicationをIEに設定し、Launchボタンをクリックする
- この時、クライアントの32ビットIEは起動される。現在、操作を実行する前に、まずBusiness Transaction Nameのところで、内容を入力し、操作のプロセス内容を指定する。そして、Next Step TraceLevelをHIGHとして指定する。ここで指定されたHIGHのトレースログレベルは、これからのプロセスの間で、サーバーコンポーネントに設定されたトレースログレベルを一時上書きする
- E2Eトレースログを取得する前に、まずIEブラウザで必ず問題の再現を観測することを確保する必要はある。下記のサンプルで、SQLサーバーバースの(UNX)Web Intelligence帳票をオンデマンド表示のログを採取行う
- 準備が揃ったら、Start Transactionボタンをクリックする
- すべてのプロセスを終了後、Stop Transactionボタンをクリックする。もしこの時Settings are not validの警告は出た場合は、無視することは出来る。なぜならこの警告はSolution ManagerのSMD Agent関連で、Solution Managerはここに利用されないためとのことです。OKボタンをクリックし、SAP Client Plug-inを終了する
E2Eトレースログを処理する
- SAP Client Plug-in実行のフォルダ内、logフォルダはあります。それを入って、中に今回のBusiness Transaction Nameを含まった名前のフォルダはあります。その中に、今回のプロセスに関するログ情報ファイルはあります。
- IEを使って、BusinessTransaction.xmlファイルを開く。キーワード「BusinessTransaction id=」を検索し、今回のプロセスIDは確認出来ます。このIDはSAPパスポートになり、今回プロセスの唯一の記号となります。
- Webサーバーのデフォルトのログフォルダとバックエンドサーバーのデフォルトのログフォルダが異なる場合はあるため、一度手動でログを同じフォルダにコピー、貼り付けする必要はあります。Webサーバーの端末で、C:\ルートフォルダ(Unix、Linuxサーバーの場合は$HOMEフォルダ)をアクセスし、最後更新日時よりソートして、最新のフォルダ(SBOPWebapp_BIlaunchpad_*)を入って、すべてのGLFファイルをコピー行い、サーバーのデフォルトログフォルダ(例:C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\logging)に貼り付けます。クラスタ環境で複数のノートがある場合は、すべてのノートに作成されたGLFファイルを類似に同じフォルダに一度コピー、貼り付けます。(コピー、貼り付けを問題なくに実行するため、一度サーバーのトレースログレベルをNoneに設定し、或いはサーバーを一度停止にする必要の可能性はあります)
- GLF Viewerツールをダウンロードします。ダウンロードするには、お客様のS-IDを使用し、ログオンする必要はあります。現在のGLF ViewerはBI 4.1バージョンに基づき動作するため、BI 4.0のいくつ古いバージョンのGLFファイルを対象として動作しない場合もあります。
- runGLFViewer.batを実行し、GLF Viewerを起動します。
- メニューで、File->Openをクリックし、Add Filesをクリックします。(Add FolderはGLF Viewerツールの異常終了を起こすため、使用しないでください)上記同じフォルダに保存されたGLFファイルを全対象として、追加します。
- Should merge all into a single tabをチェックオンにします。
- Filter and only read matching entriesをチェックオンし、ColumnでDSRRootContextIDを選択します。そして、Operatorをcontainsとして指定し、テキストボックスに手順2番目で取得したBusinessTransaction IDを入力し、OKボタンをクリックします。
- 現在、一つ完全のビューは表示され、その中に今回のプロセスに含まれたすべてのコンポーネントログはあります。また、ここの内容は既にSAPパスポートIDより絞り込んだ結果となり、時間順でソートされたものとなります。そして、DeviceName列より、どのコンポーネントからログは作成されたかを確認できます。
- 最後、メニューFile-> Export current (filtered) viewをクリックし、現在の結果を一つファイルに保存を行います。ここまでは上記のE2E一つログにマージすることは実現されます。
Very good!
Cool!