指标观测

指标是服务可观测性的基础。Envoy 内置丰富的运行时指标,覆盖流量、性能、健康等多个维度,便于监控与故障定位。

Envoy 指标类型

  • Counter(计数器):单调递增,记录事件发生次数,如请求数、错误数。
  • Gauge(仪表盘):可增可减,反映当前状态,如连接数、内存占用。
  • Histogram(直方图):统计分布,用于延迟、包大小等分布型数据。

关键内置指标

  • 集群(cluster)
    • upstream_rq_total:上游请求总数
    • upstream_rq_2xx/4xx/5xx:各类响应码计数
    • upstream_cx_active:活跃连接数
  • 监听器(listener)
    • downstream_cx_active:下游活跃连接数
    • downstream_rq_total:下游请求总数
  • 路由(route)
    • vhost.vcluster.rq_total:虚拟主机/路由请求数
  • HCM(HTTP Connection Manager)
    • downstream_rq_time:请求处理延迟直方图
  • 过滤器(filter)
    • 各过滤器自带如认证、限流、压缩等相关指标

Prometheus 集成与采集

Envoy 支持原生 Prometheus 格式指标暴露,便于与主流监控系统集成。

配置示例

admin:
  access_log_path: /dev/null
  address:
    socket_address:
      address: 0.0.0.0
      port_value: 9901

Prometheus 采集配置:

scrape_configs:
  - job_name: 'envoy'
    static_configs:
      - targets: ['envoy-host:9901']
    metrics_path: /stats/prometheus

典型指标解读

  • upstream_rq_5xx:上游 5xx 错误,异常波动需重点关注。
  • downstream_cx_active:连接数异常增高可能有流量攻击或泄漏。
  • downstream_rq_time:请求延迟分布,辅助性能分析。

工程实践建议

  • 重点关注错误率、延迟、连接数等核心指标。
  • 配置合理的告警阈值,结合业务流量特性。
  • 定期梳理和优化指标采集,避免无效数据。
  • 结合 tracing、logging 形成完整观测闭环。

指标体系是运维与故障响应的基石,建议结合实际场景持续优化观测方案。

文章导航

章节内容

这是章节的内容页面。

章节概览