ELK を使用したビジネスおよび API データの分析

このトピックでは、Elastic Stack (ELK) を使用してビジネスデータおよび Anypoint Platform Private Cloud Edition によって生成される API Analytics を分析する方法について説明します。また、Filebeat を使用して Anypoint Platform ログファイルを処理して Elasticsearch データベースに挿入する方法についても説明します。ファイルを Elasticsearch に挿入したら、Kibana を使用して分析できます。

次の画像は、Kibana で API データを表示した例を示しています。

kibana example

要件

外部分析データを ELK にエクスポートするには、次のソフトウェアが必要です。

  • Mule Runtime、バージョン 3.8.4 以上

  • Mule Runtime Manager エージェント、バージョン 1.7.0 以上

  • Elasticsearch、バージョン 5.6.2

  • Filebeat、バージョン 5.6.2

  • Kibana、バージョン 5.6.2

前提条件

  • Mule Runtime インスタンスをインストールして設定していることを確認します。

  • これらのインスタンスを Runtime Manager に登録していることを確認します。

wrapper.conf プロパティファイルの編集

Mule Runtime インストールで、次の conf/wrapper.conf ファイルを編集します。

  1. analytics_enabled プロパティを true に設定します。

    wrapper.java.additional.<n>=-Danypoint.platform.analytics_enabled=true
  2. URI 値を analytics_base_uri プロパティから削除します。

    wrapper.java.additional.<n>=-Danypoint.platform.analytics_base_uri=
  3. on_prem プロパティを true に設定します。

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

イベント追跡を有効にする

ビジネスおよびイベント追跡データをエクスポートするには、Runtime Manager でイベント追跡を有効にする必要があります。

  1. Anypoint Platform から [Runtime Manager] をクリックします。

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

  3. ELK を設定するサーバが含まれる行をクリックします。

  4. [Manager Server (Manager サーバ)] をクリックし、[Plugins (プラグイン)] タブをクリックします。

  5. [Event Tracking (イベント追跡)] で、[Levels (レベル)] ドロップダウンから [Business Events (ビジネスイベント)] を選択します。

  6. スイッチをクリックして ELK でイベント追跡を有効にします。

    Runtime Manager に [ELK Integration (ELK 統合)] ダイアログが表示されます。

  7. 必要に応じてログファイルを設定します。

  8. [Apply (適用)] をクリックします。

API Analytics を有効にする

API Analytics をエクスポートするには、Runtime Manager で API Analytics を有効にする必要があります。

  1. Anypoint Platform から [Runtime Manager] をクリックします。

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

  3. ELK を設定するサーバが含まれる行をクリックします。

  4. スイッチをクリックして API Analytics を有効にして、ELK の横にあるスイッチをクリックします。

  5. 必要に応じてログファイルを設定します。

  6. [Apply (適用)] をクリックします。

Filebeat エージェントをインストールして設定する

Mule Runtime インスタンスがある各サーバに Filebeat エージェントをインストールする必要があります。

  1. オペレーティングシステムに合った Filebeat をダウンロードしてインストールします。

Mule Filebeat モジュールを設定する

Mule Runtime インスタンスがある各サーバに Filebeat モジュールをインストールする必要があります。

  1. 次の URL から Filebeat モジュールアーカイブをダウンロードして展開します。

    https://s3.us-east-2.amazonaws.com/elk-integration/elk-integration-09-29-17/elk-integration.tar.gz
  2. 各ログファイルの絶対パスを filebeat.yml ファイルに追加します。

    • 次の例で示しているように、イベントログパスを business_eventsvar.paths 変数に追加します。

      business_events:
          enabled: true
          ...
          var.paths:
            - /var/mule/logs/instance1_events.log
            - /var/mule/logs/instance2_events.log
          ...
    • 次の例に示すように、API Analytics ログパスを api_analyticsvar.paths 変数に追加します。

      api_analytics:
        enabled: true
        	...
          var.paths:
            -  /var/mule/logs/instance1_api-analytics-elk.log
            -  /var/mule/logs/instance2_api-analytics-elk.log
  3. Elasticsearch ホストを hosts プロパティに追加します。

    output.elasticsearch:
    	...
    	hosts: ["http://your_elastic_installation:9200"]
    	...
  4. Filebeat 設定を更新します。

    • Linux パッケージマネージャを使用して Filebeat をインストールした場合、Filebeat モジュールのダウンロードに含まれる次のスクリプトを実行します。

       setup_mule_module.sh
    • 別の方法を使用して Filebeat をインストールした場合、次の作業を実行する必要があります。

      • filebeat.template.mule.json および filebeat.yml を Filebeat のルートインストールフォルダにコピーする。

      • mule モジュールフォルダを Filebeat インストールの module フォルダにコピーする。 == Filebeat の実行

  5. システムでサービスとして Filebeat を開始します。

    たとえば、RPM パッケージマネージャを使用している場合は次のコマンドを使用します。

    sudo /etc/init.d/filebeat start
  6. 起動中に自動的に開始されるように Filebeat を設定します。

    sudo chkconfig --add filebeat

Elasticsearch Geoip およびエージェントモジュールのインストール

次の Elasticsearch プラグインをインストールする必要があります。

  • Geoip: ログに保存される IP アドレスの地理的位置を判断します。

  • ユーザエージェント: HTTP 要求に基づいてブラウザまたはオペレーティングシステムに関する情報を判断します。

Kibana を設定して MuleSoft Kibana ダッシュボードをインポートする

Filebeat および Elasticsearch をインストールしたら、Anypoint Platform からのデータをコンシュームできるように Kibana を設定する必要があります。

MuleSoft には一連のデフォルトの Kibana 設定が用意されており、これを使用してビジネスおよび API データを分析できます。これにはダッシュボード、検索、視覚化が含まれます。

  1. インデックスパターンを設定します。

    Anypoint Platform データ用の Elasticsearch インデックスを作成する必要があります。

    1. 最初のデータのセットを生成します。

      これは、Kibana が認識できるようにインデックスを作成するために必要です。たとえば、最初のデータのセットを生成するために API をテストするように要求を送信できます。

    2. Kibana 管理コンソールで、mule-* を値としてインデックスパターンを作成します。

  2. インデックスパターン ID を取得します。

    インデックスパターンを作成したら、インデックス ID を取得する必要があります。このパターンは、mule-* インデックスパターンを表示するときに URL に表示されます。たとえば、次の画像でインデックスパターン ID は AV7OmqBs1r9syiCBxyee です。

    kibana index pattern id
  3. 次の URL から Mule Kibana 設定ファイルをダウンロードします。

    https://s3.us-east-2.amazonaws.com/elk-integration/elk-integration-09-29-17/dashboards.tar.gz

    このファイルにはデフォルトのダッシュボード、検索、視覚化ダッシュボードが含まれており、これらを使用して Anypoint Platform データを分析できます。

  4. インデックスパターン ID を searches.jsonsearchSourceJSON プロパティに追加します。

    前のステップで取得されたインデックスパターン ID が含まれるように searches.json を変更します。このファイルに出現するすべての searchSourceJSON を変更する必要があります。

    "kibanaSavedObjectMeta": {
            "searchSourceJSON": "{\"index\":\"AV7OmqBs1r9syiCBxyee\", .......
     }
  5. 各ダッシュボードを Kibana インストールにインポートします。

    ダッシュボードは次の順序でインポートする必要があります。

    1. dashboards.json

    2. searches.json

    3. visualizations.json

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub