コンテンツへスキップ
← ブログに戻る

この記事のモジュール: Message Monitor

SAP CPI のメッセージをステップごとにトレースする:iFlow デザイナーを離れずに確認

SAP CPI のログレベル TRACE が記録する内容、モニターでステップ前の内容を読む方法、そして iFlow のダイアグラム上でメッセージの経路とペイロードを追う方法を解説します。

SAP CPI のメッセージをステップごとにトレースする:iFlow デザイナーを離れずに確認

iFlow が誤った結果を返したとき、問いはほぼいつも同じです。問題のステップの直前で、メッセージはどうなっていたのか。SAP Cloud Integration(SAP CPI)はこの問いに答えられますが、それはログレベル TRACE で処理されたメッセージに限られ、しかも答えは編集中のダイアグラムから何画面も離れたモニターの中にあります。

この記事では、トレースが何を記録するのか、SAP 自身のモニターでそれを読む方法、そして Kitegra を使って同じトレースをダイアグラム上でステップごとに追う方法を説明します。

トレースが記録するもの

すべてのメッセージは、メッセージ処理ログ(MPL)を残します。ステータス、開始と終了、実行したステップです。どこまで詳しく記録するかは、iFlow のログレベルで決まります。

ログレベルメッセージ処理ログに残る内容
Info全体のステータス、所要時間、エラー(ある場合)
Debugメッセージが実行した各ステップのエントリ
TraceDebug の内容に加えて、各ステップの前のボディ、header、exchange property

トレースの内容は調査のためのもので、保管用ではありません。SAP が保持するのは約 1 時間で、TRACE レベル自体も約 10 分で元に戻ります。そのため、確認したいメッセージは TRACE を設定した直後に流す必要があります。tenant に実際のペイロードが保存されるので、できるだけテストデータで使い、本番では社内のルールに従ってください。制限については TRACE が自動でオフになる理由で説明しています。

SAP のモニターでトレースを読む

  1. モニターで Manage Integration Content を開き、デプロイ済みの iFlow を選んで、ログレベルを Trace にします。
  2. 数分以内にメッセージを再送します。
  3. Monitor Message Processing でそのメッセージを開き、トレースのリンクからメッセージ処理の実行内容に移ります。
  4. 実行内容のダイアグラムでステップを選び、そのメッセージ内容(header、プロパティ、ペイロード)を開きます。

この方法でも確認できますが、ステップを 1 つ見るたびに何回もクリックが必要で、実行内容のダイアグラムは編集中のものとは別物です。しかも 10 分たつとログレベルを設定し直さなければなりません。

デザイナーから TRACE をオンにする

Kitegra では、デザイナーで iFlow を開き、ダイアグラムのツールバーにある「Kitegra ツール」ボタンをクリックして「メッセージ」を選びます(または Alt+Shift+M を押します)。パネルには、選んだランタイム上のその iFlow の最新メッセージが日ごとにまとめて表示され、ステータス、開始時刻、所要時間がわかります。トレースされたメッセージには TRACE マークが付き、新しいメッセージは届いたときに点滅します。

パネルのスイッチには「Trace: オフ」と表示されています。1 回クリックすると iFlow のログレベルが TRACE になり、スイッチは経過分数とともに「Trace: オン」と表示します。スイッチがオンで、その iFlow で作業している間は、SAP が戻す前に拡張機能が TRACE を設定し直します。最後の操作から 20 分たつと更新を止めます。オフにすると、iFlow の元のログレベルに戻ります。

Trace は tenant を変更する 4 つの操作の 1 つで、ほかの操作と同じく、クリックしたときだけ実行されます。

ダイアグラム上でメッセージを追う

  1. メッセージを送るか、次のメッセージを待ちます。メッセージは「メッセージ」パネルの一番上に表示されます。
  2. トレースされたメッセージで「図に表示」を選びます。通ったステップに色が付き、失敗したステップには印が付き、到達しなかったステップは薄く表示されます。
  3. 色の付いたステップをクリックします。「ステップ前の内容」パネルに、そのステップの前の「Body」、「ヘッダー」、「エクスチェンジプロパティ」と、ステップの「ログ」が表示されます。ステップが失敗した場合は「エラー」も表示されます。
  4. 「前へ」と「次へ」で、実行された順にステップをたどります。Splitter やループで複数回実行されたステップは、「このステップの実行 2 / 3」のように実行ごとに表示されます。
  5. 終わったら「図のマークを消去」を選びます。

メッセージが TRACE なしで実行された場合は、パネルにその旨が表示されます。SAP がメッセージのボディと header を保持するのは TRACE で実行されたときだけで、期間は約 1 時間です。

見つけた内容を活用する

  • ペイロードビューアーでは、ボディを「整形」または「1 行」で表示でき、「折り返し」と「検索」に対応し、「コピー」や「ダウンロード」もできます。
  • 「次のステップと比較」は、2 つのボディを「ペイロード比較」で並べて開くので、ステップが何を変えたのかを正確に確認できます。
  • 「所要時間」は、かかった時間に応じてステップを最速(緑)から最遅(赤)まで色分けします。ステップにカーソルを合わせると時間が表示されます。
  • 長い実行では、「読み込むステップ」でその iFlow について読み込むステップ数を設定できます。「すべて」も選べます。
  • 失敗したメッセージでは、「概要」タブに失敗した場所が表示され、既知のエラーには「よくある原因:」も表示されます。

ID がわかっているメッセージを、この iFlow からでも tenant のほかの iFlow からでも開くには、Message ID または Correlation ID で SAP CPI のメッセージを探すを参照してください。

Kitegra でできること

Message Monitor は Kitegra の 5 つの領域の 1 つです。トレースの内容は顧客のデータです。拡張機能はそれをページ内に表示し、ボディをダウンロードできるようにしますが、保存、同期、Kitegra への送信は一切しません。

Helper、Message Monitor、iFlow Inspector、iFlow Docs は、それぞれ使用した iFlow の数をカウントします。Kitegra アカウントなしではモジュールごとに 5 つ、Free プランでは 50、Starter では 100、Pro では 300 で、Business は上限なしです。Toolbox とワークスペースの追加機能は無料です。プランを比較する。

次の iFlow で試してみましょう

Kitegra が SAP Integration Suite のデザイナーに何を加えるのかを読むか、Kitegra のほかの Chrome 拡張機能と並べて確認できます。

よくある質問

SAP CPI でメッセージのペイロードが見えないのはなぜですか?

SAP がメッセージのボディ、header、プロパティを保持するのは、ログレベル TRACE で実行されたときだけで、期間は約 1 時間です。TRACE を設定してメッセージを再送し、1 時間以内にトレースを確認してください。

SAP CPI で TRACE はどのくらいオンのままですか?

約 10 分です。その後 iFlow は低いログレベルに戻り、TRACE を設定し直すまでメッセージはトレースされません。

「ステップ前の内容」とは何ですか?

ステップが始まった時点のメッセージ、つまりそのボディ、header、exchange property です。次のステップの内容と比べると、そのステップが何を変えたのかがわかります。

トレースすると iFlow は遅くなりますか?

各ステップの内容が tenant に書き込まれるため、処理が増えます。調査中だけ使い、終わったらオフにしてください。

拡張機能は TRACE レベルをずっとオンのままにしますか?

いいえ。TRACE を更新するのは、スイッチがオンでその iFlow で作業している間だけです。最後の操作から 20 分で止まり、スイッチをオフにすると元のレベルに戻します。

Kitegra はトレースの内容を保存しますか?

いいえ。トレースの内容はページ内に表示され、あなたがダウンロードすることはできますが、保存、同期、Kitegra への送信は一切されません。

デザイナーを離れずに iFlow を操作

Kitegra を Chrome または Microsoft Edge に追加しましょう。アカウント不要で無料で始められます。