Versión de la integración5.0.0
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
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
Comprueba si el Datadog Agent puede acceder al endpoint de administrador de Envoy.
Reinicia el Agent.
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, actívala en tu archivo datadog.yaml
:
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
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ámetro | Valor |
---|
<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ámetro | Valor |
---|
<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.