デフォルトイベント追跡の設定

イベント追跡を行うと、Mule Runtime Engine で生成されるイベントを集約および保存するための処理やネットワークオーバーヘッドが必要になるため、デフォルトでは、イベント追跡は無効になっています。ただし、イベント追跡をサポートするコネクタまたはメッセージプロセッサーに対して、次の 2 つのいずれかのレベルでデフォルトイベント追跡を有効化し、設定することができます。

  • フローレベル

  • メッセージプロセッサー (コネクタまたはコンポーネント) レベル (フローレベルの設定よりも優先される)

イベント追跡を有効にしたら、特定の追跡対象イベントを識別するようにトランザクション ID をカスタマイズして、実行時にそのイベントを分析できるようにします。

フローレベルのイベント追跡

イベント追跡をサポートするフローのすべての要素のデフォルトイベント追跡を有効にするには、​Flow​ コンポーネントでこのオプションを使用します。 特定のプロセッサーまたはコネクタの追跡を無効にして、フローレベルの設定を上書きできます。

フローのすべてのコンポーネントのデフォルトイベント追跡を有効にする手順は、次のとおりです。

  1. フローコンポーネントを選択して、プロパティビューを開きます。

  2. UI または XML を使用して、デフォルトビジネスイベントを有効にします。

    • UI では、​[Enable default events tracking (デフォルトイベント追跡を有効化)]​ をオンにします。

      default-event-tracking-flow
    • XML では、属性 ​tracking:enable-default-events="true"​ を ​flow​ 要素に追加します。

      <flow name="testFlow" tracking:enable-default-events="true">
  3. 設定を保存します。

メッセージプロセッサーレベルのイベント追跡

イベント追跡をサポートする個々のコネクタおよび Mule コンポーネントでイベント追跡を有効にできます。

次の Mule コンポーネントでは、ビジネスイベントを有効にするための設定が提供されます。

個々のコンポーネントのデフォルトイベント追跡を有効にする手順は、次のとおりです。

  1. コネクタまたはコンポーネントのプロパティビューを開きます。

  2. 次のいずれかのオプションを使用して、デフォルトビジネスイベントを有効にします。

    • UI では、​[Enable default events tracking (デフォルトイベント追跡を有効化)]​ をオンにします。

      default-event-tracking-component
    • XML では、属性 ​tracking:enable-default-events="true"​ をコンポーネント要素の内側に追加します。

      <flow name="flow">
        ...
          <choice doc:name="Choice" tracking:enable-default-events="true"/>
        ...
      </flow>
  3. 設定を保存します。

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

Set Transaction Id コンポーネントを使用すると、すべての追跡対象イベントの識別子を設定できるため、Anypoint Runtime Manager または CloudHub のどちらを使用しているかにかかわらず、実行時に追跡対象イベントを分析するときにトランザクションの有用な情報 (注文番号など) が表示されます。

トランザクション ID は DataWeave 式をサポートするため、ID を動的に作成し、イベントに関連する情報を ID に含めることができます。

Anypoint Studio で、または設定 XML を編集して、次の手順に従ってトランザクション ID を設定します。

  • Studio UI:

    1. [Set Transaction Id]​ コンポーネントをフローにドラッグします。

    2. [Set Transaction ID]​ 設定画面の ​[Transaction ID (トランザクション ID)]​ 項目で、ID 値を設定します。

      custom-transaction-id

  • XML エディター:

    • flow​ 要素に子要素を追加します。

      <flow name="flow">
      ...
        <tracking:transaction id="#[payload.orderId]" />
      ...
      </flow>