可观测性与日志

本章节将介绍如何通过 Envoy 进行系统监控和日志管理。通过对监控和日志功能的讲解,帮助读者实现对系统状态的全面可视化,提升系统的可观测性。

工程定位与价值

Envoy 作为现代云原生基础设施的流量枢纽,内置了丰富的可观测性能力,帮助开发和运维团队实现对服务健康、性能和故障的全面监控与追踪。

核心能力

  • 指标(Metrics):内置详细的性能指标(如请求数、延迟、错误率、连接数等),支持 Prometheus 等主流监控系统采集。
  • 日志(Logging):支持访问日志、错误日志等多种日志格式,便于流量分析和故障排查。
  • 分布式追踪(Tracing):原生集成分布式追踪,支持 Jaeger、Zipkin、SkyWalking 等主流追踪系统。
  • Admin 界面:提供 /admin HTTP 管理接口,实时查看配置、统计、健康状态、流量等。

典型配置片段

Prometheus 指标导出

stats_sinks:
  - name: envoy.stat_sinks.prometheus
    typed_config:
      "@type": type.googleapis.com/envoy.config.metrics.v3.PrometheusSink

访问日志配置

access_log:
  - name: envoy.access_loggers.file
    typed_config:
      "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog
      path: /var/log/envoy/access.log

分布式追踪配置(Jaeger 示例)

tracing:
  http:
    name: envoy.tracers.jaeger
    typed_config:
      "@type": type.googleapis.com/envoy.config.trace.v3.JaegerConfig
      collector_cluster: jaeger
      collector_endpoint: "/api/traces"
      collector_endpoint_version: HTTP_JSON

工程实践建议

  • 结合 Prometheus、Grafana、Jaeger 等工具,实现全链路可观测。
  • 合理配置日志级别和采样率,兼顾性能与排障需求。
  • 善用 Admin 界面进行实时诊断和调优。

可观测性是保障微服务系统稳定性和可维护性的基石,建议在生产环境务必开启并持续优化。

章节目录

文章导航

章节概览

这是本章节的概览页面。

章节概览