Runtime Manager から外部分析ツールへのデータのエクスポート

データを外部の分析ツールにエクスポートするように Runtime Manager エージェントを設定できます。

Runtime Manager クラウドコンソールまたは Anypoint Platform Private Cloud Edition を使用すると、以下を行うことができます。

ペイロードのコンテンツをログにエクスポートする場合は、すべての形式をエクスポートできるわけではないことを考慮してください。 「ペイロード形式とログ記録」​を参照してください。

CloudHub​ にデプロイされたアプリケーションでは、サードパーティツールへのデータ送信はサポートされていません。 CloudHub カスタムログアペンダーを使用することで、自分のログシステムと統合できます。 「Log4j を使用したログシステムとのインテグレーション」​を参照してください。

前提条件

次のソフトウェアがインストールされていることを確認してください。

  • Mule Runtime Engine バージョン 3.6 以降

    イベントを API Analytics から外部ツールと Anypoint Platform の両方に転送するには、以下のバージョンが必要です。

    • Mule バージョン 4.2.0 以降

    • Mule バージョン 3.9.3 以降

  • API ゲートウェイスタンドアロンバージョン 2.1.0 以降

  • Runtime Manager エージェント 1.2.0 以降

    HTTP イベントコレクターを使用するか、または TCP 経由でデータを Splunk に送信するには、Runtime Manager agent 1.3.1 以降が必要です。

    エージェントの更新については、​「Runtime Manager エージェントのインストールまたは更新」​を参照してください。

Splunk の前提条件

HTTP イベントコレクターを使用してデータを Splunk に送信するには、事前にデータ入力を設定して、Splunk からトークンを取得する必要があります。

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

  2. [Settings (設定)]​ → ​[Data Inputs (データ入力)]​ に移動します。

  3. [HTTP Event Collector (HTTP イベントコレクター)]​ 種別で ​[Add new (新規追加)]​ をクリックします。

    「Splunk Data Inputs (Splunk データ入力)」 ページの HTTP イベントコレクターの 「Add new (新規追加)」 オプション
    Figure 1. 矢印は、[Splunk Data Inputs (Splunk データ入力)] ページの HTTP イベントコレクターの ​[Add new (新規追加)]​ オプションを示しています。
  4. ステップに従ってデータ入力をセットアップし、トークンを取得します。

TCP 経由でデータを Splunk に送信するには、事前に Splunk で入力元を有効化する必要があります。

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

  2. [Settings (設定)]​ → ​[Data Inputs (データ入力)]​ に移動します。

  3. [TCP]​ 種別で ​[Add new (新規追加)]​ をクリックします。

    「Splunk Data Inputs (Splunk データ入力)」 ページの TCP の 「Add new (新規追加)」 オプション
    Figure 2. 矢印は、[Splunk Data Inputs (Splunk データ入力)] ページの TCP の ​[Add new (新規追加)]​ オプションを示しています。
  4. ステップに従ってデータ入力をセットアップします。

データ入力の設定に関する詳細は、 Splunk ドキュメント​を参照してください。

ログレベルオプション

Splunk または ELK とのインテグレーションを設定する場合は、以下のログレベルを使用できます。

ビジネスイベント

フローの開始または終了、非同期メッセージ、例外、カスタムイベント

追跡

ビジネスイベントに加えて例外戦略とエンドポイントメッセージ

Debug (デバッグ)

追跡に加えてメッセージプロセッサーの起動と終了

Splunk とのインテグレーション

Splunk​ を使用して、Mule イベント通知を検索可能なリポジトリに取得およびインデックス化し、このリポジトリからグラフ、レポート、アラート、ダッシュボード、視覚化を生成することができます。

Splunk インスタンスでのエージェントの設定

Splunk と統合するためには、Splunk インスタンスで新しい接続元種別を作成して、Runtime Manager エージェントから送信された HTTP イベントを解析できるように設定する必要があります。

  1. 必要に応じて ​$SPLUNK_HOME/opt/splunk/etc/system/local/props.conf​ ファイルを作成します。

  2. props.conf​ ファイルに次の接続元種別を追加します。

    [mule]
    TRUNCATE = 0
    LINE_BREAKER = ([\r\n]+)
    SHOULD_LINEMERGE = false
    INDEXED_EXTRACTIONS = JSON
    KV_MODE = JSON
    category = Mule Splunk Integration
    description = Mule Agent event information
  3. Splunk インスタンスを再起動して変更内容を有効にします。

Runtime Manager での Splunk のインテグレーションの設定

Runtime Manager エージェントから Splunk に Mule イベント通知を送信する手順は次のとおりです。

  1. HTTP イベントコレクターを使用するか、または TCP 経由でデータを Splunk に送信する場合は、​Splunk の前提条件​を参照してください。

  2. Anypoint Platform から ​[Runtime Manager]​ を選択します。

  3. [Servers (サーバー)]​ タブをクリックします。

  4. [Type (種別)]​ 列をクリックして、設定するサーバーの詳細ペインを表示します。

  5. [Manage Server (サーバーを管理)]​ をクリックします。

  6. [Plugins (プラグイン)]​ タブをクリックします。

    「Event Tracking (イベント追跡)」 オプション、「Level (レベル)」 メニュー、「Plugins (プラグイン)」 タブの歯車アイコン。
    Figure 3. このスクリーンショットには、(​1​) ​[Event Tracking (イベント追跡)]​ オプション、(​2​) ​[Level (レベル)]​ メニュー、(​3​) ​[Plugins (プラグイン)]​ タブの歯車アイコンが表示されています。
  7. [Event Tracking (イベント追跡)]​ で ​[Splunk]​ を有効化します。

  8. 送信する情報の種別を ​[Level (レベル)]​ メニューから選択します。

    ログレベルオプション​を参照してください。

  9. 歯車アイコンをクリックして、Splunk 設定を指定します。

    Splunk 設定ウィンドウのプロトコルオプション、データ入力種別、「Show more options (その他のオプションを表示)」 スイッチ
    Figure 4. このスクリーンショットには、Splunk 設定ウィンドウの (​1​) プロトコルオプション、(​2​) データ入力種別、(​3​) ​[Show more options (その他のオプションを表示)]​ スイッチが表示されています。

    Splunk 設定オプション​を参照してください。

  10. Splunk が動作しているサーバーのホスト (IP アドレスまたはホスト名) と管理ポートを指定します。

    • REST API を使用してデータを Splunk に送信する場合は、​[Rest API]​ を選択して、自分の Splunk アカウントのユーザー名とパスワードを入力します。

    • TCP 経由でデータを Splunk に送信する場合は、メニューから ​[tcp]​ を選択して、自分の Splunk アカウントのユーザー名とパスワードを入力します。

    • HTTP イベントコレクターを使用してデータを Splunk に送信する場合は、​[HTTP Event Collector (HTTP イベントコレクター)]​ を選択して、Splunk からのトークンを ​[Token (トークン)]​ 項目に貼り付けます。

      Splunk 設定ウィンドウの 「HTTP Event Collector (HTTP イベントコレクター)」 オプションと 「Token (トークン)」 項目
      Figure 5. このスクリーンショットには、Splunk 設定ウィンドウの (​1​) ​[HTTP Event Collector (HTTP イベントコレクター)]​ オプションと (​2​) ​[Token (トークン)]​ 項目が表示されています。
  11. 必要に応じて、​[Show more options (その他のオプションを表示)]​ をクリックして、送信データの書式設定プロパティを指定します。

    Splunk 設定ウィンドウで展開されたオプション
    Figure 6. 矢印は、Splunk 設定ウィンドウで展開されたオプションを示しています。

    Splunk 設定オプション​を参照してください。

    [SSL Protocol (SSL プロトコル)]​ オプションは、REST API データ入力種別にのみ適用されます。

    Splunk でデータ入力を登録したときに Splunk インデックス、Splunk 接続元、Splunk 接続元種別の値を設定してある場合は、このウィンドウで指定した値がそれらの値よりも優先されます。
  12. [Apply (適用)]​ をクリックして変更内容を保存します。

Splunk 設定オプション

Splunk のインテグレーションには、以下の設定オプションがあります。

項目 説明 デフォルト値

Username (ユーザー名) (必須)

Splunk に接続するためのユーザー名

Password (パスワード) (必須)

Splunk ユーザー名に関連付けられているパスワード

host (ホスト) (必須)

Splunk を実行中のサーバーの IP アドレスまたはホスト名

port (ポート)

Splunk 管理ポート

8089

protocol (プロトコル)

Splunk 管理ポートとの接続用プロトコル

選択できる値は http、https、tcp です。

https

SSL Protocol (SSL プロトコル) (REST API のみ)

HTTPS 接続で使用される SSL セキュリティプロトコル

可能な値は TLSv1_2、TLSv1_1、TLSv1、SSLv3 です。

TLSv​1_2​

Splunk Index (Splunk インデックス)

すべてのイベントの送信先となる Splunk インデックスの名前

指定したインデックスが存在しない場合は、ユーザー名に関連付けられている権限が適切であれば、内部ハンドラーによってインデックスが作成されます。

main

Splunk Source (Splunk 送信元種別)

Splunk に送信されるイベントで使用される送信元

mule-events

Splunk Type (Splunk 種別)

Splunk に送信されるイベントで使用される送信元種別

mule

Date Format (日付形式)

タイムスタンプで使用される日付形式

yyyy-MM-dd’T’HH:mm:ssSZ

ELK スタックとのインテグレーション

ELK (Elasticsearch、Logstash、Kibana) スタックにより、ログデータを保存、検索、分析できます。

Mule フローからのイベント通知を設定可能なログファイルに保存するように Runtime Manager を設定できます。 まず、Logstash でデータを取得してインデックス化します。 次に、Elasticsearch と Kibana を使用して、グラフ、レポート、アラート、ダッシュボード、視覚化を生成します。

ELK スタックのログファイルの設定

自分の ELK スタックが読み取るフォルダーにイベント通知を送信する手順は次のとおりです。

  1. Anypoint Platform から ​[Runtime Manager]​ を選択します。

  2. [Servers (サーバー)]​ タブをクリックします。

  3. [Type (種別)]​ 列をクリックして、設定するサーバーの詳細ペインを表示します。

  4. [Manage Server (サーバーを管理)]​ をクリックします。

  5. [Plugins (プラグイン)]​ タブをクリックします。

    「Event Tracking (イベント追跡)」 オプション、「Level (レベル)」 メニュー、「Plugins (プラグイン)」 タブの歯車アイコン。
    Figure 7. このスクリーンショットには、(​1​) ​[Event Tracking (イベント追跡)]​ オプション、(​2​) ​[Level (レベル)]​ メニュー、(​3​) ​[Plugins (プラグイン)]​ タブの歯車アイコンが表示されています。
  6. 送信する情報の種別を ​[Level (レベル)]​ メニューから選択します。

    ログレベルオプション​を参照してください。

  7. [Event Tracking (イベント追跡)]​ で ​[ELK]​ を有効化します。

  8. 歯車アイコンをクリックして、ELK のログファイルの場所を設定します。

    ELK 設定ウィンドウのログファイルの場所と 「Show more options (その他のオプションを表示)」 スイッチ
    Figure 8. このスクリーンショットには、ELK 設定ウィンドウの (​1​) ログファイルの場所と (​2​) ​[Show more options (その他のオプションを表示)]​ スイッチが表示されています。

    デフォルトの場所は ​$MULE_HOME/logs/events.log​ であり、​$MULE_HOME​ は ​wrapper.conf​ ファイルの ​-Dmule.home​ パラメーターによって指定される場所です。 デフォルトの場所を変更するには、​/var/logs/elk/events.log​ のように、ELK ログファイルの場所の絶対パスを指定します。 /var/logs/elk​ など、指定したディレクトリが存在している必要があります。

  9. 必要に応じて、​[Show more options (その他のオプションを表示)]​ をクリックして、その他のログファイルプロパティを指定します。

    ELK 設定ウィンドウで展開されたオプション
    Figure 9. 矢印は、ELK 設定ウィンドウで展開されたオプションを示しています。
  10. [Apply (適用)]​ をクリックして変更内容を保存します。

イベント追跡ログファイル (​$MULE_HOME/logs/events-%d{yyyy-dd-MM}-%i.log​) は自動的には削除されません。定期的に手動でログを削除する必要があります。

API Analytics と Splunk または ELK のインテグレーション

API Analytics と Splunk または ELK を統合する手順は次のとおりです。

API ゲートウェイ ​wrapper.conf​ を設定しても (ステップ 1)、データの外部宛先を割り当てないと (ステップ 2)、分析データは API ゲートウェイサーバーのキューに累積し、システムクラッシュの原因となることがあります。

API ゲートウェイを設定する

外部分析ツールとの接続を設定するには、API ゲートウェイを設定します。

  1. API ゲートウェイスタンドアロンのディレクトリで、​conf/wrapper.conf​ ファイルを開きます。

    コードスニペットの ​.<n>​ 値は、​wrapper.conf​ 内で一意の整数です。

  2. 次のプロパティが ​true​ に設定されていて、行がコメント解除されていることを確認します。

    wrapper.java.additional.<n>=-Danypoint.platform.analytics_enabled=true
  3. 次の行から URL を削除します。

    wrapper.java.additional.<n>=-Danypoint.platform.analytics_base_uri=https://analytics-ingest.anypoint.mulesoft.com

    行は次のようになります。

    wrapper.java.additional.<n>=-Danypoint.platform.analytics_base_uri=
  4. Anypoint Platform Private Cloud Edition を使用している場合は、​anypoint.platform.on_prem​ パラメーターを ​true​ に変更します。

    wrapper.java.additional.<n>=-Danypoint.platform.on_prem=true

    Runtime Manager クラウドコンソールを使用している場合は、このパラメーターはデフォルトの ​false​ のままにしておきます。

複数のコンシューマーの設定

Mule バージョン 4.2.0 および 3.9.3 以降では、イベントを外部ツールと Anypoint Platform の両方に転送できます。

複数のコンシューマーを設定するには、​wrapper.conf​ ファイルに次の行を追加します。

wrapper.java.additional.<n>=-Danypoint.platform.analytics_multiple_consumers_enabled=true

Splunk または ELK に接続するための API Analytics の設定

API ゲートウェイを設定したら、Runtime Manager で Splunk または ELK を設定します。

  1. Anypoint Platform から ​[Runtime Manager]​ を選択します。

  2. [Servers (サーバー)]​ タブをクリックします。

  3. [Type (種別)]​ 列をクリックして、設定するサーバーの詳細ペインを表示します。

  4. [Manage Server (サーバーを管理)]​ をクリックします。

  5. [Plugins (プラグイン)]​ タブをクリックします。

    サーバーの 「Plugins (プラグイン)」 タブの 「API Analytics」 オプション。
    Figure 10. 矢印は、サーバーの ​[Plugins (プラグイン)]​ タブの ​[API Analytics]​ オプションを示しています。
  6. [API Analytics]​ で ​[ELK]​ または ​[Splunk]​ を有効化します。

  7. 歯車アイコンをクリックし、以下のセクションのステップ 8 から続行して設定を完了します。