统计

Envoy 的主要目标之一是使网络易于理解。Envoy 根据不同的配置产生了大量的统计数据。通常,统计数据分为以下三类:

  • Downstream: 下游统计信息与传入的连接/请求有关。它们由侦听器、HTTP 连接管理器、TCP 代理过滤器等生成。

  • Upstream: 上游统计信息与传出连接/请求有关。它们由连接池,路由器过滤器,TCP 代理过滤器等生成。

  • Server: 服务器统计信息描述了 Envoy 服务器实例的工作方式。服务器正常运行时间或分配内存量等统计信息在此处分类。

单个代理场景通常涉及下游和上游统计信息。这两种类型可用于获取该特定网络跃点的详细信息。整体统计网格可以非常详细地描述每个跃点和整个网络的运行状况。发布的统计数据在操作指南中详细记录。

从 v2 API 开始,Envoy 能够支持自定义可插入接收器。A Envoy 中包含一些标准的接收器实现。一些接收器还支持生成带有标签/维度的统计信息。

在 Envoy 中以及整个文档中,统计信息均由规范字符串标识表示。这些字符串的动态部分被剥离成为标签。用户可以通过标签说明符配置 Tag Specifier 配置 配置此行为。

Envoy 发出三种类型的值作为统计信息:

  • Counters(计数器): 无符号整数只会增加而不减少。 例如,总请求数。

  • Gauges(量表): 无符号整数,既有增加也有减少。 例如,当前有效的请求。

  • Histograms(直方图): 无符号整数是值流的一部分,然后由收集器最终得出汇总的百分数值。 例如,上游请求时间。

在内部,对计数器和计量器进行批处理并定期更新以提高性能。直方图在收到时写入。 注意:以前称为计时器的内容成为直方图,因为两种表示形式之间的唯一区别是单位。