Envoy 上游集群DNS解析

DNS解析

许多 Envoy 组件解析 DNS:不同的集群类型( 严格 dns、 逻辑 dns);动态转发代理系统(由集群和过滤器组成);udp dns 过滤器等。Envoy 使用c-ares作为第三方 DNS 解析库。envoy.restart_features.use_apple_api_for_dns_lookups在 Apple 操作系统上,Envoy 还通过运行时功能使用 Apple 特定的 API 提供解决方案 。

DNS解析内置扩展

  1. c-ares: CaresDnsResolverConfig

  2. Apple(仅限 iOS/macOS):AppleDnsResolverConfig

  3. getaddrinfo:GetAddrInfoDnsResolverConfig

DNS解析统计信息

基于c-ares的统计信息

Name

Type

Description

resolve_total

Count

DNS 查询数

pending_resolutions

Gauge

待处理的 DNS 查询数

not_found

Counter

返回 NXDOMAIN 或 NODATA 响应的 DNS 查询数

timeout

Counter

导致超时的 DNS 查询数

get_addr_failure

Counter

 DNS 查询期间的一般故障数

基于Apple 的统计信息

Name

Type

Description

connection_failure

Counter

尝试连接 DNS 服务器失败的次数

get_addr_failure

Counter

调用 GetAddrInfo API 时的一般失败次数

network_failure

Counter

由于网络连接而导致的故障数

processing_failure

Counter

处理来自 DNS 服务器的数据时的失败次数

socket_failure

Counter

尝试获取到 DNS 服务器的套接字的文件描述符的失败次数

timeout

Counter

 导致超时的查询数

参考文档

https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/dns_resolution

https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/dynamic_forward_proxy_filter#config-http-filters-dynamic-forward-proxy

posted @ 2022-08-27 21:30  小吉猫  阅读(131)  评论(0编辑  收藏  举报