Elastic Stack (ELK スタック) を使用してビジネスデータおよび Anypoint Platform Private Cloud Edition (Anypoint Platform PCE) によって生成される API Analytics を分析します。Filebeat を使用して Anypoint Platform ログファイルを処理して Elasticsearch データベースに挿入し、Kibana を使用して分析できます。
次の例は、Kibana で API データがどのように表示されるかを示しています。
前提条件
-
必須ソフトウェア
外部分析データを ELK にエクスポートするには、次のソフトウェアが必要です。
-
Mule Runtime Engine (Mule)、バージョン 3.8.4 以降
-
Anypoint Runtime Manager エージェント、バージョン 1.7.0 以降
-
Elasticsearch、バージョン 7.6.2
-
Filebeat、バージョン 7.6.2
-
Kibana、バージョン 7.6.2
-
-
Mule Runtime Engine インスタンスをインストールして設定していることを確認します。
-
Mule Runtime Engine インスタンスを Runtime Manager に登録していることを確認します。
wrapper.conf プロパティファイルの編集
Mule Runtime インストールで、conf/wrapper.conf ファイルの次のプロパティを編集します。
-
analytics_enabled プロパティを true に設定します。wrapper.java.additional.<n>=-Danypoint.platform.analytics_enabled=true
-
URI 値を
analytics_base_uri プロパティから削除します。wrapper.java.additional.<n>=-Danypoint.platform.analytics_base_uri=
-
on_prem プロパティを true に設定します。wrapper.java.additional.<n>=-Danypoint.platform.on_prem=true
イベント追跡を有効にする
ビジネスおよびイベント追跡データをエクスポートするには、Runtime Manager でイベント追跡を有効にする必要があります。
-
Anypoint Platform から [Runtime Manager] を選択します。
-
[Servers (サーバー)] を選択します。
-
ELK を設定するサーバーが含まれる行を選択します。
-
[Manager Server (Manager サーバー)] を選択し、[Plugins (プラグイン)] タブを選択します。
-
[Event Tracking (イベント追跡)] で、[Levels (レベル)] ドロップダウンメニューから [Business Events (ビジネスイベント)] を選択します。
-
スイッチをオンにして ELK でイベント追跡を有効にします。
Runtime Manager に [ELK Integration (ELK 統合)] ダイアログが表示されます。
-
必要に応じてログファイルを設定します。
-
[Apply (適用)] を選択します。
API Analytics を有効にする
API Analytics をエクスポートするには、Runtime Manager で API Analytics を有効にする必要があります。
-
Anypoint Platform から [Runtime Manager] を選択します。
-
[Servers (サーバー)] を選択します。
-
ELK を設定するサーバーが含まれる行を選択します。
-
スイッチをオンにして API Analytics を有効にして、[ELK] の横にあるスイッチをオンにします。
-
必要に応じてログファイルを設定します。
-
[Apply (適用)] を選択します。
Filebeat エージェントをインストールして設定する
Mule Runtime インスタンスを含む各サーバーで、オペレーティングシステムに合った Filebeat をダウンロードしてインストールします。
Mule Filebeat Module を設定する
Mule Runtime インスタンスを含む各サーバーで、次の URL から Filebeat Module アーカイブをダウンロードして展開します。
https://s3.us-east-2.amazonaws.com/elk-integration/elk-integration-06-08-20/elk-integration.tar.gz
-
各ログファイルの絶対パスを
manifest.yml ファイルに追加します。-
businessevents フォルダー内で、イベントログのパスをオペレーティングシステム (OS) の var 変数に設定します。var: - name: paths default: - /var/mule/logs/events.log os.darwin: - /var/mule/logs/events.log os.windows: - /var/mule/logs/events.log -
apianalytics フォルダー内で、API Analytics ログのパスを OS の var 変数に設定します。var: - name: paths default: - /var/mule/logs/api-analytics-elk.log* os.darwin: - /var/mule/logs/api-analytics-elk.log* os.windows: - c:/programdata/mule/logs/api-analytics-elk.log*
-
-
mule モジュールフォルダーを Filebeat インストールの module フォルダーにコピーします。 -
mule.yml ファイルを Filebeat インストールの modules.d フォルダーにコピーします。 -
Elasticsearch を開始して、次に Kibana を開始します。
-
Filebeat をセットアップし、Kibana のダッシュボードをプロビジョニングします。
Filebeat インストールフォルダー内で次のコマンドを実行します。
${filebeat-installation-folder} を Filebeat インストールのルートフォルダーへのパスに置き換えて、必要に応じて Elasticsearch ホストを変更します。
/filebeat setup -e \-E output.elasticsearch.hosts="['localhost:9200']" \ -E output.elasticsearch.index="mule-%{+yyyy.MM.dd}" \ -E setup.dashboards.enabled=true \ -E setup.dashboards.directory=${filebeat-installation-folder}/module/mule/_meta/kibana \ -E setup.ilm.enabled=false \ -E setup.template.name="mule" \ -E setup.template.pattern="mule-*" \ -E setup.template.overwrite=true --- -
Filebeat を起動します。
Filebeat インストールフォルダー内で次のコマンドを実行します。
${filebeat-installation-folder} を Filebeat インストールのルートフォルダーへのパスに置き換えて、必要に応じて Elasticsearch ホストを変更します。./filebeat -e \ -E output.elasticsearch.hosts="['localhost:9200']" \ -E output.elasticsearch.index="mule-%{+yyyy.MM.dd}" \ -E setup.dashboards.enabled=true \ -E setup.dashboards.directory=${filebeat-installation-folder}/module/mule/_meta/kibana \ -E setup.ilm.enabled=false \ -E setup.template.name="mule" \ -E setup.template.pattern="mule-*" \ -E setup.template.overwrite=true
インデックスを読み込むための Kibana の設定
Filebeat および Elasticsearch をインストールしたら、Anypoint Platform からのデータをコンシュームするように Kibana を設定する必要があります。
MuleSoft にはデフォルトの Kibana 設定が用意されており、これを使用してビジネスおよび API データを分析できます。この設定にはダッシュボード、検索、視覚化が含まれます。
-
インデックスパターンを設定します。
Anypoint Platform データ用の Elasticsearch インデックスを作成する必要があります。
-
最初のデータのセットを生成します。
これは、作成するインデックスを Kibana が認識できるようにするために必要です。最初のデータのセットを生成するテスト API への要求を送信するには、次の手順を実行します。
-
Kibana 管理コンソールで、
mule-* を値としてインデックスパターンを作成します。 -
[Time Filter field name (時間検索条件項目名)] で [@timestamp] を選択します。
-
[Show advanced options (詳細オプションを表示)] で、[Custom index pattern ID (カスタムインデックスパターン ID)] 項目の値として mule-index を設定します。
-
-
インデックスを作成します。
[Dashboard (ダッシュボード)] タブですべての Mule ダッシュボードにアクセスできるようになりました。
-