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

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

データを外部の分析ツールにエクスポートするように 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 とのインテグレーションを設定する場合は、以下のログレベルを使用できます。

Business Events (ビジネスイベント)

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

Tracking (追跡)

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

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 です。

TLSv1_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 (適用)]​ をクリックして変更内容を保存します。

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 から続行して設定を完了します。