インサイト

インサイトは、トラブルシューティングツールであり、CloudHub またはオンプレミスサーバーにデプロイした Mule アプリケーション上のビジネストランザクションやイベントを詳細に調べることができます。インサイトは、アプリケーション内でのデータの動作をすべて追跡することで、メッセージ処理中に発生したエラーを検出して回復できるようにします。

インバウンドエンドポイントが CloudHub にデプロイされている Mule 3 のアプリケーションとフローでは、高度なエラー回復を実現するためにトランザクションの再生機能をサポートしています。 再生機能は、Mule 4 アプリケーションと無料またはトライアルユーザーアカウントではサポートされません。

インサイトを有効にすると、データ処理パフォーマンスが大きく低下し、メモリ消費量が増大します。 そのため、本番環境では長期間に渡ってインサイトを有効にしないでください。

Insight は、トランザクション ID または一意のテキスト文字列を検索することで特定のトランザクションをトラブルシューティングする目的でのみ使用してください。

本番環境を監視するためのツールについては、​「アプリケーションとサーバーの監視」​を参照してください。

インサイトダッシュボードを使用すると、ビジネストランザクションを処理するフロー内で発生したイベントを表示できます。 イベントに関するデータにドリルダウンして、障害の根本的原因を分析したり、パフォーマンスのボトルネックを特定したり、会社の手順に準拠しているかをテストしたりできます。

インサイトは、統合されたアプリケーションに関する次のような質問に答えるのに役立ちます。

  • 特定のトランザクションや同期に何が起きたか?

  • トランザクションはいつ実行されたか? 所要時間はどれくらいだったか?

  • トランザクションの結果はどうだったか?

  • 処理中に障害が発生した場合、どの時点で発生したか?

インサイトを有効にすると、デフォルトで次の項目が追跡されます。

  • Mule アプリケーションのエンドポイント (インバウンドおよびアウトバウンド) を通過するデータ

  • フローの開始と完了

  • Mule フローに埋め込んだカスタムビジネスイベント

制約と制限事項

Insight を使用する場合には以下の制限や制約が適用されます。

  • Insight では、以下の制限を超えたイベントはドロップされます。

    • 単一のアプリケーションは毎分 50,000 イベントに制限されます。

    • 単一ビジネスグループのすべてのアプリケーションは毎分 100,000 イベントに制限されます。

  • Insight では、アプリケーション定義ごとに保存できるカスタムイベント定義は 20 件までです。

  • Insight では、単一のトランザクションに 10,000 件を超えるイベントが含まれている実行時間が長いプロセスはサポートされません。

    この理由から、Insight ではバッチ処理を可視化できない場合があります。 「バッチ処理」​を参照してください。

  • リージョンを切り替えると、インサイトの再生データは失われます。

    この制限、コンプライアンス要件に違反していないことを確認してください。

  • オンプレミスサーバーにデプロイされたアプリケーションのログには、イベント情報が含まれていますが、メッセージコンテンツは含まれていません。

  • Insight は、正確に一致する語を検索する場合にのみ、一貫した結果を返します。

    Insight ではクエリに含めることのできる語数には制限があるため、パターンを検索する場合にはすべての一致結果が返されないことがあります。

    この制限を回避するには、次のいずれかを行ってください。

    • 正確なトランザクション ID を検索する。

    • トランザクションにカスタムビジネスイベントでタグを付けてから、カスタムビジネスイベントでトランザクションを検索する。「​ビジネスイベントのセットアップ​」を参照してください。

データの永続性

インサイトではトランザクションのサイズに制限はありません。インサイトは、30 日分のアプリケーションのトランザクションをすべて表示し、2 日分のイベントを保存します。

2017 年 10 月 7 日より前に作成された Mule 3 アプリケーションの再生データは、デフォルトリージョンの us-east-1 に保存されます。 2017 年 10 月 7 日以降に最初にデプロイされた、または別のリージョンに移動した Mule 3 アプリケーションのデータは、アプリケーションが現在デプロイされているリージョンに保存されます。

ペイロードの変換

次の MIME タイプは常に文字列としてマッピングされます。

application/javascript
application/json
application/csv
application/rtf
application/vnd.mozilla.xul+xml
application/x-csh
application/x-sh
application/xml
application/xml+html
images/svg+xml
text/calendar
text/css
text/csv
text/html
text/plain
text/xml

他のすべてのタイプについて、Mule エージェントは、Mule Runtime Engine が Mule エージェントに公開したストリーム種別に基づいて、ペイロードを別の形式に変換しようと試みます。 たとえば、Mule エージェントは ​CURSOR_STREAM_PROVIDER​ ペイロードをバイト配列に変換します。

デフォルトで文字列にマッピングされないストリームは、すべてログに表示されます。

インサイトを有効化または無効化する

インサイトを有効にして Mule サーバーで生成されるイベントを追跡する手順は、次のとおりです。

  1. Anypoint Platform アカウントにサインインします。

  2. [Runtime Manager]​ をクリックします。

  3. 左側のメニューで ​[Applications (アプリケーション)]​ をクリックし、​[File (ファイル)]​ 列でアプリケーションを選択してページの右側にある管理パネルで開きます。

  4. 管理パネルで ​[Insight (インサイト)]​ をクリックします。

  5. 左側のメニューで ​[Settings (設定)]​ をクリックして、​[Insight (インサイト)]​ タブをクリックします。

    「Settings (設定)」 ページの 「Insight (インサイト)」 タブ
    Figure 1. [Servers (サーバー)]​ ページの ​[Insight (インサイト)]​ タブを示す矢印。
  6. 次の追跡オプションのいずれかを選択します。

    • [Disabled (無効化)]​: インサイトを無効化します。

    • Metadata (メタデータ)​: イベントのみを追跡します。

    • Metadata and Replay (メタデータと再生)​: イベントを追跡し、コンソールからすぐにトランザクションを再生する機能を有効にします。

      [Metadata and Replay (メタデータと再生)]​ オプションは、インバウンドエンドポイントが設定されたフローを持つ、CloudHub にデプロイされている Mule 3 アプリケーションで使用できます。 このオプションは、Mule 4 アプリケーションと無料またはトライアルユーザーアカウントでは使用できません。

      詳細は、「​問題の診断とトランザクションの再生​」を参照してください。

  7. インサイトを有効にすることを確認するためのチェックボックスをオンにして ​Apply Changes (変更を適用)​ をクリックします。

  8. [Apply Changes (変更を適用)]​ をクリックしてアプリケーション設定を保存します。

トランザクションとイベントの検索と絞り込み

インサイトダッシュボードには、情報が 3 つの追跡レベルで表示されます。

  • トランザクション

    関連するイベントの論理的なグループ化で、通常はシステムのビジネス面での視点に対応しています。

  • イベント

    トランザクションの低レベルの詳細を追跡します。

    イベントは、メッセージプロセッサーとエンドポイントにマップされ、例外や設定したカスタムビジネスイベントについての情報が明らかになります。

  • メタデータ

    アプリケーションのカスタムイベントの一環としてカスタマイズしたキー - 値ペアを追跡します。

    このレベルでインサイトが追跡する詳細によって、概要レベルのビジネスイベントに関する情報が明らかになります。

次の図は、インサイトダッシュボードのどこにトランザクション、イベント、メタデータがあるかを示しています。

インサイトダッシュボードの追跡レベル
Figure 2. このスクリーンショットは、インサイトダッシュボードの (​1​) トランザクションレベル、(​2​) イベントレベル、(​3​) メタデータレベルを示しています。

ビジネスデータが設定されている場合は、ダッシュボードのメタデータエリア (​3​) に表示されます。「​ビジネスイベントのセットアップ​」を参照してください。

トランザクションの検索と絞り込み

[Insight (インサイト)]​ ページでは、データを検索したり検索条件を使用したりすることで、表示される結果を絞り込むことができます。以下を検索できます。

  • トランザクション ID による特定のトランザクション

  • 特定の日付範囲内のトランザクション

  • 正確なフロー名、正確な例外メッセージ、処理時間、カスタムビジネスデータによるトランザクション

    [Business Data (ビジネスデータ)]​ 項目を有効にするには、アプリケーションでビジネスイベントが設定されている必要があります。「​ビジネスイベントのセットアップ​」を参照してください。

トランザクションを検索または絞り込む手順は次のとおりです。

  1. 左側のメニューで ​[Insight (インサイト)]​ をクリックします。

  2. [Search (検索)]​ 項目に検索条件を入力します。

  3. [Search (検索)]​ 項目の横にある ​[Advanced (詳細)]​ をクリックします。

  4. 検索条件オプションを指定します。

    インサイトダッシュボードの詳細な検索条件項目
    Figure 3. インサイトダッシュボードの詳細な検索条件項目が表示されたスクリーンショット。
    • 失敗または完了したトランザクションのみを表示するには、​[Transaction ID (トランザクション ID)]​ 項目のメニューから ​[Failed (失敗)]​ または ​[Completed (完了)]​ を選択します。

      インサイトダッシュボードの詳細な検索条件項目
      Figure 4. [Transaction (トランザクション)]​ 項目のメニューを示す矢印。
    • 特定の日付範囲内のトランザクションを表示するには、​[Date & Time (日時)]​ 項目で日付または日付の範囲を指定します。

      その代わりに、グラフ内をクリックしてドラッグすることで、特定の日付範囲を選択できます。

      インサイトダッシュボードで選択されたトランザクション範囲
      Figure 5. インサイトダッシュボードで選択されたトランザクション範囲を示す矢印。
  5. [Advanced (詳細)]​ ペインで ​[Apply (適用)]​ をクリックして検索条件を適用します。

  6. 検索を保存するには、​[Save search (検索を保存)]​ をクリックします。

    インサイトダッシュボードの検索を保存アイコン
    Figure 6. インサイドダッシュボードの ​[Save search (検索を保存)]​ アイコンを示す矢印。

    Runtime Manager は、指定された名前で検索を保存します。

検索の保存後は以下を行うことができます。

  • 検索名をクリックして保存済みを実行する。

  • 検索名にマウスポインターを置いて ​[Edit (編集)]​ リンクをクリックして保存済み検索を編集する。

    編集中の保存済み検索
    Figure 7. 編集中の保存済み検索を示す矢印。

    [Done (完了)]​ をクリックして変更内容を保存します。

  • [Edit (編集)]​ リンクをクリックしてから、検索名の右にある削除 (ごみ箱) アイコンをクリックして、保存済み検索を削除する。

イベントの絞り込み

インサイトで各トランザクションに表示されるイベントの種別を絞り込むことができます。

デバッグを行っている場合は、すべてのイベントを表示して、フローの詳細なステップにドリルダウンできるようにすることが役に立つことがあります。概要レベルでのビジネス情報を分析する場合は、検索条件を適用してカスタムビジネスイベントのみを表示することができます。

絞り込みオプションを表示するには、トランザクションの ​[Transaction details (トランザクションの詳細)]​ メニューをクリックします。

「Transaction details (トランザクションの詳細)」 メニュー
Figure 8. [Transaction details (トランザクションの詳細)]​ メニューを示す矢印。

イベント検索条件のデフォルト設定は、ユーザーロールによって異なります。

  • Support (サポート)

    デフォルトのイベント検索条件設定では、カスタムイベントのみが表示されます。

  • Admin (管理者)​ または ​Developer (開発者)

    デフォルトのイベント検索条件設定では、カスタムイベント、エンドポイントイベント、メッセージプロセッサーイベントが表示されますが、フローイベントは表示されません。

問題の診断とトランザクションの再生

インサイトがトランザクションの失敗を報告した場合は、根本原因を診断して修復できます。

インバウンドエンドポイントが設定されているフローを持つ Mule 3 アプリケーションでは、インサイトのメッセージ再生機能を使用して、失敗したトランザクションを再生できます。

トランザクションの失敗状況

たとえば、アプリケーションで Salesforce アカウントの API コール制限数を超えてトランザクションが失敗すると、インサイトはトランザクションの状況を ​Failed​ として表示します。

トランザクションをクリックして展開し、トランザクション内の個々のイベントを調べます。失敗したイベントの横に例外とエラーメッセージがリストされ、既存のスタック追跡も表示されます。

CHExcMsg

トランザクションの再生

logo cloud active logo hybrid disabled logo server disabled logo rtf disabled

ログを調査し、トランザクションの失敗の原因となった問題を解決 (API 利用可能数を追加購入するなど) した後に、トランザクションを再生できます。

再生は、インバウンドエンドポイントが設定されているフローを持つ Mule 3 アプリケーションでのみサポートされています。 Mule 4 アプリケーションと無料またはトライアルユーザーアカウントでは使用できません。

  1. 失敗したトランザクションの最初のイベントの右にある再生アイコン ​2.5%​ をクリックして再生します。

    再生アイコンと 「Purge Replay Data (再生データを消去)」 ボタン
    Figure 9. (​1​) トランザクション再生アイコンと (​2​) ​[Purge Replay Data (再生データを消去)]​ ボタンを示すスクリーンショット。
  2. 確認ダイアログで ​[Replay Transaction (トランザクションを再生)]​ をクリックして確認します。

    トランザクションが再生されたことを示す情報ポップアップが表示され、再生されたトランザクションがインサイトのダッシュボードと ​[Logs (ログ)]​ タブに直ちに表示されます。

再生データの消去

logo cloud active logo hybrid disabled logo server disabled logo rtf disabled

アプリケーションの既存の再生データをすべて削除するには、​[Purge Replay Data (再生データを消去)]​ ボタンをクリックします。

消去した再生データを復元することはできません。

インサイトの状況一覧

インサイトが報告する状況の一覧を下表に示します。

状況 説明

FAILED

イベントが処理中に失敗し、関連する例外を返しました。

COMPLETED

イベントが完全かつ正常に処理されました。

IN_PROGRESS

イベントが開始されましたが、まだ完了していません。

STALLED

トランザクションあたりの最大イベント処理数 (10000) を超えたため、イベントの処理が保留されています。この数を超えたイベントは保留となり、処理するイベント数が上限を下回ってから処理されます。

UNCOMPLETED

トランザクションが 24 時間以内に完了できない場合、​IN_PROGRESS​ 状況のイベントは ​UNCOMPLETED​ に変わります。

ビジネスイベントのセットアップ

フローにカスタムビジネスイベントを埋め込むか、フローのメッセージプロセッサー内で詳細なイベント追跡を有効にすることによって、Mule アプリケーション内のビジネスイベントを設定できます。

  • カスタムビジネスイベント

    アプリケーションのフロー内の関連する位置にカスタムビジネスイベント要素を含めて、追跡するビジネスに関連性の高い処理情報を表示します。

  • イベント追跡

    フロー全体またはフロー内の特定のメッセージプロセッサーやエンドポイントに対してデフォルトイベント追跡を有効にすることで、さらに詳細なイベントを追跡します。アプリケーション内のフローを設定するときに、デフォルトイベント追跡の範囲を明示的に設定できます。​「デフォルトイベント追跡の設定」​を参照してください。

トランザクション ID のカスタマイズ

トランザクションレベルのイベントの場合、[ID] 列に Long 型の数値が表示されることがあります。トランザクション ID をカスタマイズすることで、ビジネス要件に関連した、より直観的な値を表示できます。

これを行うには、Mule 式を使用して、Mule アプリケーションがトランザクションに関する有意義な情報 (注文番号、追跡番号、従業員識別番号など) を返すように設定します。​「トランザクション ID のカスタマイズ」​を参照してください。