Anypoint Monitoring の使用

Runtime Fabric にデプロイされた Mule アプリケーションと API ゲートウェイには、Anypoint Platform 内のメトリクスを表示できる Anypoint Monitoring のネイティブサポートが含まれます。

Anypoint Monitoring

『Anypoint Monitoring』​ には、Mule アプリケーションネットワークの Mule フローとコンポーネントからのフィードバックを提供するツールがあります。Anypoint Monitoring は、アプリケーションデプロイメント内でサイドカーとして実行され、Runtime Fabric にデプロイされた Mule アプリケーションや API ゲートウェイのメトリクスを収集します。Titanium プランのユーザーは、アプリケーションログの取得や検索などの追加機能にアクセスできます。

Anypoint Monitoring の有効化

デフォルトでは、Runtime Fabric は、アプリケーションメトリクスを Anypoint Monitoring に送信するように設定されています。データは相互 TLS 暗号化を使用してセキュアに送信されます。メトリクスとログを Anypoint Monitoring に送信するには、アウトバウンドネットワーク接続を使用できる必要があります。

アウトバウンドプロキシが必要な場合、​「Runtime Fabric でのプロキシの設定」​の手順に従って、SOCKS5 プロキシを使用するように Anypoint Runtime Fabric を設定します。

Anypoint Runtime Fabric バージョン 1.8.50 以降でアウトバウンドネットワーク接続を検証するには、Runtime Fabric の各ノードがポート 443 を使用して次のドメインにアウトバウンド TCP (Lumberjack) 通信を送信できることを確認します。

  • US コントロールプレーン:
    dias-ingestor-router.us-east-1.prod.cloudhub.io
    us1.ingest.mulesoft.com

  • EU コントロールプレーン:
    dias-ingestor-router.eu-central-1.prod-eu.msap.io
    eu1.ingest.mulesoft.com

1.8.50 より前のバージョンの Anypoint Runtime Fabric を使用している場合、ポート 443 の代わりにポート 5044 を使用します。次のドメインを使用します。

  • US コントロールプレーン: dias-ingestor-nginx.prod.cloudhub.io

  • EU コントロールプレーン: dias-ingestor-nginx.prod-eu.msap.io

Anypoint Monitoring エンドポイントについての詳細は、​「Runtime Fabric をサポートするためのネットワークの設定」​を参照してください。

メトリクス

各 Mule アプリケーションと API ゲートウェイのレプリカは、メトリクスデータを収集してセキュアな相互 TLS 暗号化を通じて Anypoint Monitoring に送信するメトリクスエージェントを実行します。各レプリカは最大 100 メガバイトのメトリクスをキャッシュできます。その後メトリクスデータを循環し、最新のデータのストレージを提供します。メトリクスを Anypoint Monitoring に送信できない場合、通常はレプリカごとに少なくとも 4 日分のストレージが提供されます。カスタムメトリクスにはより多くのストレージがコンシュームされる場合があります。

次の Anypoint Runtime Fabric 更新によって、Runtime Fabric にデプロイされたアプリケーションの監視メトリクスが影響を受けたり復元されたりすることはありません。

  • Runtime Fabric のバックアップと復元

  • Runtime Fabric のアップグレード

  • Runtime Fabric ノードの OS パッチ適用

ログ

Anypoint Monitoring では、Runtime Fabric にデプロイされたアプリケーションの​『ログデータ』​へのアクセスが提供されます。Anypoint Monitoring を使用してログにアクセスするには、 Titanium サブスクリプションLeaving the Site​が必要です。

各 Mule アプリケーションと API ゲートウェイのレプリカは、最大 450 メガバイトのログデータをディスクに保存できます。その後ログデータを循環し、最新のログデータのストレージを提供します。

Mule アプリケーションと API ゲートウェイの各レプリカによって生成されたログが収集され、それらが実行されているワーカーノードのディスクに書き込まれます。各ワーカーノードは 1 つのログ転送エージェントを実行します。そのエージェントがこの場所を監視し、ログデータを Anypoint Monitoring に送信します。

ログ転送エージェントは、1 秒あたり最大 300 キロバイトのログデータを送信できます。ワーカーノードごとにデプロイするレプリカは 50 個以内にしてください。

場合によって、複数の行を含むログが Anypoint Monitoring に完全に送信されないことがあります。これは、複数行のログ出力が Runtime Fabric 内の循環によって 2 つのファイルに分割された場合に発生する可能性があります。

「Runtime Manager でアプリケーションをデプロイ」​するときにログ転送を有効にしてログレベルを設定できます。

Anypoint Monitoring エージェントのリソースと権限の要件

MuleSoft は Mule アプリケーションと一緒に、テレメトリーを Anypoint コントロールプレーンに送信するための Anypoint Monitoring エージェントを実行します。

Runtime Fabric エージェントバージョン 2.5.x 以降を使用してデプロイまたは管理される Mule アプリケーションには、次のように 2 つの異なるエージェントが使用されます。

  • ログを Anypoint Monitoring コントロールプレーンに転送するために、基盤ノードごとに 1 つの DaemonSet。

  • メトリクスを Anypoint Monitoring コントロールプレーンに転送するために、アプリケーションレプリカごとに 1 つのサイドカー。

daemonset を最適に機能させるには、次の前提条件に従います。

  1. アプリケーションコンテナが次の場所にログを書き込むことを確認します。

    • /var/log/pods

    • /var/log/containers

    • /var/lib/docker/containers

  2. DaemonSet がホストパス ​/var/lib/filebeat-data​ で作成と書き込みを行うことを確認します。

  3. Docker デーモン設定に ​json-file​ ログドライバーが含まれていることを確認します。

  4. Anypoint Monitoring ログフォワーダー DaemonSet コンテナに、ホストパス ​/var/lib/filebeat-data​ のホストへの書き込みアクセス権があることを確認します。

Runtime Fabric バージョン 2.6.x 以上を使用してデプロイまたは管理されるアプリケーションの場合、テレメトリーの転送はアプリケーションレプリカごとに 1 つのサイドカーにまとめられます。

使用する機能に応じて、サイドカーエージェントは最適なパフォーマンスに対応するリソースをコンシュームします。

  • デフォルトの Anypoint メトリクスを有効にするには、サイドカーエージェント (アプリケーションレプリカごと) に 0.05vCPU、または CPU 割り当てのコアと 90MiB のメモリ割り当てが必要です。

  • 「アプリケーションログを Anypoint Monitoring に転送」​する場合は、サイドカーエージェント (アプリケーションレプリカごと) にアプリケーションレプリカに設定された CPU 制限の最大 30% と最大 150MiB のメモリ割り当てが必要です。

  • Mule アプリケーションのデータ生成を追跡する場合は、サイドカーエージェント (アプリケーションレプリカごと) にアプリケーションレプリカに設定された CPU 制限の最大 30% と最大 240MB のメモリ割り当てが必要です。

アプリケーションデプロイメントの失敗を避けるため、基盤となるクラスターに適切な容量を割り当ててください。

(省略可能) Runtime Fabric バージョン 2.6.x 以降のログフォワーダー DeamonSet の無効化

Runtime Fabric エージェントをバージョン 2.6.0 以降にアップグレードすると、すべてのデプロイメントでメトリクスおよびログ転送に 1 つのサイドカーのみが使用されます。 以前のエージェントで実行されている Mule アプリケーションがある場合、再デプロイして、新しいログ転送メカニズムの使用を開始します。コントロールプレーンで更新を実行すると、再デプロイメントがトリガーされます。

すべてのデプロイメントで新しいサイドカーコンテナが使用されるようになると、​am-log-forwarder​ DaemonSet がアイドル状態になります。

DeamonSet を完全に削除するには、対応する Anypoint Platform API コールLeaving the Site​を使用して次のようなペイロードを送信し、Anypoint Monitoring ログ転送を無効にします。 [source,json

{
    "anypointMonitoring": false
}

この無効化は、サイドカーを介した Anypoint Monitoring へのログ転送には影響しません。

Anypoint Visualizer

『Anypoint Visualizer』​ には、アプリケーションネットワークグラフのさまざまな側面のビューが表示されます。 グラフを使用してアプリケーションネットワークを調査し、問題を特定して、決定を下すことができます。

デフォルトでは、アプリケーションを Mule Runtime 4.x にデプロイすると、Anypoint Visualizer は無効になります。 詳細は、​「ヘッダー挿入の有効化」​を参照してください。 パフォーマンスへの影響のため、0.2 個未満の vCPU を使用するアプリケーションデプロイメントで Anypoint Visualizer を有効にすることはサポートされません。

(省略可能) Mule アプリケーションの Anypoint Monitoring の無効化

Runtime Fabric に Mule アプリケーションをデプロイすると、デフォルトで Anypoint Monitoring が有効になります。Anypoint Monitoring を無効にするには、Mule アプリケーションをデプロイするときに次のカスタムプロパティを渡します。

anypoint.platform.config.analytics.agent.enabled=false
copy
コンプライアンスや地域固有の要件によってチームや組織がメトリクスを Anypoint コントロールプレーンに送信できない場合、それらのメトリクスを Anypoint の使用や請求のために送信することが契約で義務付けられていなければ、Anypoint メトリクスを無効にできます。

トレースデータ収集の有効化

この機能は、組織に Anypoint Integration Advanced パッケージまたは Anypoint Platform の Titanium サブスクリプションがある場合にのみ利用できます。詳細は、​『価格設定およびパッケージ』​のドキュメントを参照してください。

トレースを行うと、API コールやアプリケーショントランザクションの実行パスを完全に把握できるため、MuleSoft エコシステム内でのトランザクションのパスを理解できます。 アプリケーションのトレースデータ収集を有効にすると、Anypoint Platform によって Mule Runtime Engine からのトレース情報が OpenTelemetry 標準で収集、公開されるため、Anypoint Monitoring ​『Telemetry Exporter』​ を使用してその情報をエクスポートできます。

  • トレースデータ収集は、Mule バージョン 4.6 以降を実行する Runtime Fabric アプリケーションで有効にすることができます。必要な最小 Runtime Fabric エージェントバージョンは 2.6.31 以上です。

  • トレースデータ収集は Runtime Manager UI と API のみを使用して有効にすることができ、Mule Maven プラグイン、Anypoint CLI、または Anypoint Studio を使用してトレースデータ収集を有効にすることはできません。

アプリケーションのトレースデータ収集を有効にする手順は次のとおりです。

  1. [Monitoring (監視)]​ タブをクリックします。

  2. [Enable tracing (トレースを有効化する)]​ チェックボックスをオンにします。

  3. 新しいデプロイメントでこの機能を有効にする場合には、​[Deploy Application (アプリケーションをデプロイ)]​ をクリックします。既存のアプリケーションを編集している場合は ​[Apply Changes (変更を適用)]​ をクリックします。

トレースを有効にしてアプリケーションを再デプロイすると、Runtime Manager バックエンドによってアプリケーションのトレース計測が開始されます。