Supported OS Linux Windows Mac OS

インテグレーションバージョン5.1.0

概要

このチェックは、Envoy から分散型システムの可観測性メトリクスを収集します。

セットアップ

インストール

Envoy チェックは Datadog Agent パッケージに含まれています。サーバーに追加でインストールする必要はありません。

Istio

Istio の一部として Envoy を使用している場合は、Envoy インテグレーションを構成して Istio プロキシメトリクスエンドポイントからのメトリクスを収集します。

instances:
  - openmetrics_endpoint: localhost:15090/stats/prometheus

標準的な方法

/stats エンドポイントをセットアップする方法は 2 つあります。

セキュリティ保護なしの統計エンドポイント

以下に、Envoy の管理構成例を示します。

admin:
  access_log_path: "/dev/null"
  address:
    socket_address:
      address: 0.0.0.0
      port_value: 8001
セキュリティ保護ありの統計エンドポイント

管理エンドポイントにルーティングし (Envoy が自身に接続)、/stats へのルートのみを持つリスナー /vhost を作成します。他のすべてのルートは静的/エラー応答を受け取ります。これにより、たとえば、認証用の L3 フィルターとの適切なインテグレーションも可能になります。

envoy_secured_stats_config.json のコンフィグ例:

admin:
  access_log_path: /dev/null
  address:
    socket_address:
      protocol: TCP
      address: 127.0.0.1
      port_value: 8081
static_resources:
  listeners:
    - address:
        socket_address:
          protocol: TCP
          address: 0.0.0.0
          port_value: 80
      filter_chains:
        - filters:
            - name: envoy.http_connection_manager
              config:
                codec_type: AUTO
                stat_prefix: ingress_http
                route_config:
                  virtual_hosts:
                    - name: backend
                      domains:
                        - "*"
                      routes:
                        - match:
                            prefix: /stats
                          route:
                            cluster: service_stats
                http_filters:
                  - name: envoy.router
                    config:
  clusters:
    - name: service_stats
      connect_timeout: 0.250s
      type: LOGICAL_DNS
      lb_policy: ROUND_ROBIN
      hosts:
        - socket_address:
            protocol: TCP
            address: 127.0.0.1
            port_value: 8001

構成

ホスト

ホストで実行中の Agent に対してこのチェックを構成するには

メトリクスの収集
  1. Envoy のパフォーマンスデータの収集を開始するには、Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの envoy.d/conf.yaml ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションについては、サンプル envoy.d/conf.yaml を参照してください。

    init_config:
    
    instances:
        ## @param openmetrics_endpoint - string - required
        ## The URL exposing metrics in the OpenMetrics format.
        #
      - openmetrics_endpoint: http://localhost:8001/stats/prometheus
    
  2. Datadog Agent が Envoy の管理エンドポイントにアクセスできるかを確認します。

  3. Agent を再起動します

ログ収集

Agent バージョン 6.0 以降で利用可能

  1. Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml ファイルでこれを有効にします。

    logs_enabled: true
    
  2. 次に、下部にある logs 行のコメントを解除して、envoy.d/conf.yaml を編集します。ログの path を Envoy ログファイルの正しいパスで更新してください。

    logs:
      - type: file
        path: /var/log/envoy.log
        source: envoy
        service: envoy
    
  3. Agent を再起動します

コンテナ化

コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照して、次のパラメーターを適用してください。

メトリクスの収集
パラメーター
<INTEGRATION_NAME>envoy
<INIT_CONFIG>空白または {}
<INSTANCE_CONFIG>{"openmetrics_endpoint": "http://%%host%%:80/stats/prometheus"}
: 現行バージョンのチェック (1.26.0+) は、メトリクスの収集に OpenMetrics を使用し、これには Python 3 が必要です。Python 3 の使用が不可能なホストの場合や、このチェックのレガシーバージョンを使用する場合は、以下のコンフィグを参照してください。
ログ収集

Agent バージョン 6.0 以降で利用可能

Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Kubernetes ログ収集を参照してください。

パラメーター
<LOG_CONFIG>{"source": "envoy", "service": "<サービス名>"}

検証

Agent の status サブコマンドを実行し、Checks セクションで envoy を探します。

収集データ

メトリクス

各メトリクスによって送信されるタグのリストについては、metrics.py を参照してください。

イベント

Envoy チェックには、イベントは含まれません。

サービスチェック

トラブルシューティング

一般的な問題

エンドポイント /server_info に到達できません

  • お使いの Envoy 環境でエンドポイントが利用不可能である場合、Envoy のコンフィギュレーションで collect_server_info オプションを無効化してエラーログを最小限に抑えます。

: Envoy のバージョンデータは収集されません。

ご不明な点は、Datadog のサポートチームまでお問合せください。

PREVIEWING: may/embedded-workflows