Supported OS Linux Windows Mac OS

Versión de la integración5.0.0

Información general

Este check recopila métricas de observabilidad de sistemas distribuidos de Envoy.

Configuración

Instalación

El check de Envoy está incluido en el paquete del Datadog Agent, por lo que no necesitas instalar nada más en tu servidor.

Istio

Si utilizas Envoy como parte de Istio, configura la integración Envoy para recopilar métricas del endpoint de métricas del proxy Istio.

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

Standard (Estándar)

Existen dos maneras de configurar el endpoint /stats:

Endpoint de estadísticas no seguro

He aquí un ejemplo de configuración de un administrador Envoy:

admin:
  access_log_path: "/dev/null"
  address:
    socket_address:
      address: 0.0.0.0
      port_value: 8001
Endpoint de estadísticas seguro

Crea un agente de escucha/vhost dirigido al endpoint de administrador (Envoy conectándose a sí mismo), pero que sólo tenga una ruta para /stats (todas las demás rutas obtienen una respuesta estática/de error). Además, esto permite una buena integración con filtros L3 para la autenticación, por ejemplo.

Este es un ejemplo de configuración de 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

Configuración

Host

Para configurar este check para un Agent que se ejecuta en un host:

Recopilación de métricas
  1. Edita el archivo envoy.d/conf.yaml, que se encuentra en la carpeta conf.d/ en la raíz del directorio de configuración de tu Agent, para empezar a recopilar los datos de rendimiento de tu Envoy. Para conocer todas las opciones de configuración disponibles, consulta el envoy.d/conf.yaml de ejemplo.

    init_config:
    
    instances:
        ## @param openmetrics_endpoint - string - required
        ## The URL exposing metrics in the OpenMetrics format.
        #
      - openmetrics_endpoint: http://localhost:8001/stats/prometheus
    
  2. Comprueba si el Datadog Agent puede acceder al endpoint de administrador de Envoy.

  3. Reinicia el Agent.

Recopilación de logs

Disponible para la versión 6.0 o posteriores del Agent

  1. La recopilación de logs está desactivada por defecto en el Datadog Agent, actívala en tu archivo datadog.yaml:

    logs_enabled: true
    
  2. Luego, edita envoy.d/conf.yaml y descomenta las líneas logs de la parte inferior. Actualiza la path de los logs con la ruta correcta a tus archivos de logs de Envoy.

    logs:
      - type: file
        path: /var/log/envoy.log
        source: envoy
        service: envoy
    
  3. Reinicia el Agent.

En contenedores

Para entornos en contenedores, consulta las plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de los parámetros que se indican a continuación.

Recopilación de métricas
ParámetroValor
<INTEGRATION_NAME>envoy
<INIT_CONFIG>en blanco o {}
<INSTANCE_CONFIG>{"openmetrics_endpoint": "http://%%host%%:80/stats/prometheus"}
Nota: La versión actual del check (v1.26.0 o posterior) utiliza OpenMetrics para la recopilación de métricas, que requiere Python 3. Para hosts que no puedan utilizar Python 3, o para utilizar una versión legacy de este check, consulta la siguiente configuración.
Recopilación de logs

Disponible para la versión 6.0 o posteriores del Agent

La recopilación de logs está desactivada por defecto en el Datadog Agent. Para activarla, consulta Recopilación de logs de Kubernetes.

ParámetroValor
<LOG_CONFIG>{"source": "envoy", "service": "<SERVICE_NAME>"}

Validación

Ejecuta el subcomando de estado del Agent y busca envoy en la sección Checks.

Datos recopilados

Métricas

Consulta métricas.py, para ver una lista de las etiquetas (tags) enviadas por cada métrica.

Eventos

El check de Envoy no incluye eventos.

Checks de servicio

Solucionar problemas

Problemas comunes

Endpoint /server_info inalcanzable

  • Para minimizar los logs con errores, desactiva la opción collect_server_info en tu configuración de Envoy, si el endpoint no está disponible en tu entorno Envoy.

Nota: No se recopilan datos de la versión de Envoy.

¿Necesitas ayuda? Ponte en contacto con el servicio de asistencia de Datadog.

PREVIEWING: may/embedded-workflows