Envoy プロキシーのモニタリング

Instana Envoy プロキシインスタンスからのインフラストラクチャメトリクスと、それらを経由するリクエストの分散トレースの両方を収集するのに役立ちます。

Envoy ロゴ

Instana ホストエージェントをインストールすると、 Envoy プロキシセンサーが自動的にインストールされ、設定されます。 「 Envoy Proxy」に関連するメトリクスは、 Instana のUI上でカスタムダッシュボードウィジェットを使用して確認できます。 「 Envoy プロキシの監視設定」のセクションに記載されている手順に従って Envoy プロキシセンサーを設定した後でなければ、これらのメトリクスを表示することはできません。

1.30 より以前のバージョンの Envoy では、 Instana の分散トレーシング機能を利用できます。 分散トレース機能を使用するには、 「 Envoy プロキシ 」セクションの「分散トレースの設定」に記載されている設定手順を完了する必要があります。

Envoy ( 1.30 )以降を使用している場合は、 Envoy ( OTel )のトレース機能を使用し、 Instana バックエンドに接続するように設定する必要があります。 詳細については、 「 OpenTelemetry のデータ取り込みの設定」 を参照してください。

Envoy OTel の設定を支援するには、 Envoy Proxy Instana OTel Tracing Demo のデモリポジトリを参照してください。 このガイダンスは、スタンドアロンの Envoy の導入環境にのみ適用されます。 Istio のサポート機能( OpenTelemetry )を使用して、 Istio が管理する Envoy インスタンスを設定します。

補足情報

サポート対象のオペレーティング・システム

Envoy プロキシセンサーでサポートされているオペレーティングシステムは、ホストエージェントの要件と一致しています。これについては、各ホストエージェントの「サポートされているオペレーティングシステム」セクションで確認できます。例: Linux のサポートされているオペレーティングシステム

Envoy のプロキシトレースでは、以下のオペレーティングシステムがサポートされています:

オペレーティング・システム アーキテクチャー ビット
Debian :12、11 x86_64 64 ビット
Ubuntu :LTS 24.04, 22.04 x86_64 64 ビット

CPPセンサー 1.12.0 以降では、 Ubuntu ( 20.04 )への対応が終了しました。

CPPセンサー 1.11.0 以降では、Amazon (2022年および2023年モデル)、 CentOS 7、 Ubuntu、 18.04、および Debian 10 のサポートが終了しました。

Envoy Proxyの対応バージョンとプラットフォーム

Envoy Proxy Sensorと Envoy のProxy Tracingでは、必要なバージョンやプラットフォームが異なります。

  • Envoy Proxy Sensorは、 x86_64 アーキテクチャ上で動作する Linux ディストリビューションを搭載した、 Envoy Proxy 1.14.1 およびそれ以降のバージョンのメトリクスと設定データをサポートしています。

    Envoy プロキシ指標は、カスタムダッシュボードウィジェットでのみ利用可能です。

  • Instana 以下の Envoy プロキシのバージョンおよびオペレーティングシステムに対し、45日間のサポートポリシー のもと、分散トレーシング機能を提供します:

    バージョン OS ENVOYトレーサーバージョン
    1.1.12.xおよび1.13.x GlibcベースのLinux、Alpineの Linux(musl libc) 1.3.0のみ
    >=1.15.xおよび <=11.21.1 Glibcベースの Linux >= 1.5.0
    1.1.21.2、1.21.3、1.22.0 Glibcベースの Linux >= 1.7.0
    >=11.21.4および<=11.21.6、>=1.1.22.0および<=11.22.6、>=1.1.23.0および<=11.23.3、1.24.0および1.24.1 Glibcベースの Linux >= 1.8.0
    1.1.22.7、1.22.8、1.23.4、1.23.5、1.24.2、1.24.3、1.25.1、1.25.2、>=1.1.26.0、<=1.1.26.2 Glibcベースの Linux >= 1.8.1
    >=11.22.9および<=1.1.22.11、>=1.1.23.5および<=1.1.23.10、>=1.1.24.4および<=1.1.24.8、>=1.1.25.3および<=1.1.25.7、>=1.1.26.3および<=11.26.6、1.27.0、1.28.0 Glibcベースの Linux >= 1.8.2
    1.1.23.11,1.23.12, >=11.24.9and <=11.24.12, >=11.25.8and <=1.1.25.11,1.27.1 Glibcベースの Linux >= 1.8.3
    1.26.7, 1.27.2, 1.27.3, 1.28.1, 1.29.0, 1.29.1 Glibcベースの Linux >= 1.9.0
    1.1.26.8、>=1.1.27.4および<=11.27.7、>=1.1.28.2および<=1.1.28.6、>=1.1.29.2および<=11.29.8 Glibcベースの Linux >= 1.9.1
    >= 1.29.9 かつ <= 1.29.12 Glibcベースの Linux >= 1.12.0

    注:

    • 分散トレーシングについては、 Envoy プロキシ( 1.12 )および 1.13 は、 Envoy プロキシセンサー( 1.3.0 )でのみサポートされています。 Envoy プロキシセンサー( 1.5.0 以降)は、 Envoy のみをサポートしています。プロキシ( 1.15 )は 1.29.x に対応しています。 旧バージョンの「 Envoy Proxy」をまだお使いの場合は、アップグレードすることをお勧めします。旧バージョンの「 Envoy Proxy」については、機能の追加や改良が行われていないためです。
    • W3C のトレースコンテキストヘッダーの伝播機能については、 Envoy Tracer 1.8.0 でサポートされています。

対応しているトレースシナリオと対応していないトレースシナリオ

以下のシナリオを確認し、お使いの Envoy 環境が Instana トレースに対応しているかどうかを確認してください。

サポートされるシナリオ

Instana 以下のデプロイメントシナリオにおいて、 Envoy のトレース機能をサポートしています:

  • スタンドアロンの Envoy デプロイメント : Envoy プロキシインスタンスが独立してデプロイされているもの( Istio やその他のサービスメッシュ制御プレーンによって管理されていないもの)。

  • ホストまたはVMへの直接デプロイ : Linux のホストまたは仮想マシン上で直接実行される Envoy インスタンス。

  • コンテナ化されたスタンドアロン Envoy :サービスメッシュ制御プレーンによって管理されない、スタンドアロンプロキシとしてコンテナ( Docker または Kubernetes ポッド)内で実行される Envoy。

対応していないシナリオ

以下の Envoy の展開シナリオは、 Instana のトレースではサポートされていません:

  • Envoy Istio サービスメッシュの一部としてデプロイされたもの : Envoy Istio によってデプロイおよび管理されるプロキシインスタンスは、 Instana のネイティブトレーシングではサポートされていません。 これには、以下のものが含まれます。

    • Envoy Istio によって挿入されたサイドカー
    • Istio イングレス・ゲートウェイ
    • Istio エグレスゲートウェイ
    • Istio コントロールプレーン(istiod)によって管理される Envoy のインスタンス
  • Envoy マネージドサービスにおける API ゲートウェイとして : Envoy インスタンスは、 API ゲートウェイのマネージドサービスの一部としてデプロイされ、 Envoy の設定を直接制御することはできません。

Envoy プロキシの設定の監視

Envoy のプロキシメトリクスを収集するために、 Instana は管理インターフェースを使用します。 この管理インターフェースを有効にするには、 「管理インターフェース 」のドキュメントに従って、 Envoy プロキシサーバーの設定を行い、管理インターフェースのアドレスを指定してください。 -c <envoy-config-file-path>.yaml または --config-path <envoy-config-file-path>.yaml コマンド行引数を使用してサーバーを始動します。 例えば、-c /etc/envoy/envoy.yamlです。 コンテナ環境および YAML の設定解析は、 Envoy Proxyセンサー( 1.1.0 )以降でサポートされています。

Envoy プロキシセンサー( 1.0.2 以前)を使用した構成の監視

Envoy 1.0.2 以前のプロキシセンサーでは、コマンド --admin-address-path <path-to-file-envoy-can-write-to> ライン引数を追加で指定する必要があります。 例えば、--config-path /etc/envoy/envoy.yaml --admin-address-path /tmp/envoy-admin.addressです。 監視機能を正常に動作させるには、 Instana エージェントと Envoy プロキシが同じネームスペースで実行されている必要があり、管理用IPアドレスが設定されている 127.0.0.1 必要があります。 Envoy プロキシセンサーのアップグレードを推奨します。

メトリックの表示

Envoy プロキシ 」セクションの「モニタリング設定」の手順を完了すると、 Instana のUIで Envoy プロキシに関連するメトリクスを確認できるようになります。

メトリックを表示するには、以下のステップを実行します。

  1. Instana のUIのサイドバーで、 「インフラストラクチャ」 を選択します。
  2. 特定のモニター対象ホストをクリックします。

その後、収集されたすべてのメトリックとモニター対象プロセスを含むホスト・ダッシュボードを表示できます。

Envoy プロキシの分散トレース設定

Envoy プロキシの分散トレーシングを使用するには、以下の手順を実行してください:

  1. Envoy Proxyがサポートするディストリビューション用の Instana バイナリファイルは、 Envoy Distributed Tracingバイナリファイルのページからダウンロードできます。

  2. トレーサーのバイナリファイルをダウンロードしたら、 Envoy Proxyが読み込める場所(例: /opt/envoy/libcxx-libinstana_sensor.so)に配置してください。 次に、 Envoy Proxyの設定ファイル YAML に、次のようにセクション tracing を追加します:

    static_resources:
      listeners:
        - address:
          ...
          filter_chains:
            - filters:
                - name: envoy.filters.network.http_connection_manager
                  typed_config:
                    "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
                    ...
     
  3. library キーを使用してトレーサー・バイナリー・ファイルへのパスを構成し、以下のように service キーを使用してサービス名を構成します。

                    tracing:
                      provider:
                        name: envoy.tracers.dynamic_ot
                        typed_config:
                          "@type": type.googleapis.com/envoy.config.trace.v3.DynamicOtConfig
                          library: /opt/envoy/libcxx-libinstana_sensor.so
                          config:
                            service: your-service-name
     

詳細については、 Envoy Proxy の公式ドキュメントをご覧ください。

分散トレースの使用方法については、 envoy-tracing repository ページの構成例を参照してください。

Envoy トレースの例

Instana Envoy Proxyセンサーのトレース機能をプレビューするための公開リポジトリを提供します。 詳しくは、 envoy-tracingを参照してください。

トラブルシューティング

監視対象の種類: envoy_access_metrics_endpoint_failed

この問題を解決するには、「 管理インターフェース」 のドキュメントに記載されている手順に従って、管理インターフェースを設定してください。

監視対象の種類: envoy_missing_configuration_admin_address_path

この問題を解決するには、 Instana エージェントの Envoy プロキシセンサーを最新バージョンにアップグレードしてください。 バージョン 1.1.0 以降、コンテナ環境のサポートおよび YAML 設定の解析機能が利用可能になりました。