统计信息

Envoy 的主要目标之一是使网络可理解。Envoy 会根据其配置方式发出大量的统计信息。通常,统计信息分为三类:

  • **下游**:下游统计信息与传入连接/请求相关。它们由监听器、HTTP 连接管理器、TCP 代理过滤器等发出。

  • **上游**:上游统计信息与传出连接/请求相关。它们由连接池、路由器过滤器、TCP 代理过滤器等发出。

  • **服务器**:服务器统计信息描述 Envoy 服务器实例的工作方式。诸如服务器正常运行时间或已分配内存量的统计信息都归类于此。

单个代理场景通常涉及下游和上游统计信息。这两种类型可用于详细了解特定网络跃点的状况。整个网格的统计信息提供了有关每个跃点和整体网络状况的非常详细的信息。发出的统计信息在操作指南中有详细记录。

从 v2 API 开始,Envoy 能够支持自定义的可插拔接收器。 一些标准接收器实现包含在 Envoy 中。一些接收器还支持使用标签/维度发出统计信息。

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

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

  • **计数器**:无符号整数,只能增加,不能减少。例如,总请求数。

  • **计量器**:无符号整数,既可以增加也可以减少。例如,当前活动请求数。

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

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