访问日志进阶

访问日志不仅是流量观测的基础,也是安全审计与合规的重要数据源。Envoy 支持多种访问日志扩展与高级用法,满足复杂场景需求。

访问日志扩展类型

  • gRPC 访问日志:通过 gRPC 协议将日志推送到远程服务,适合云原生与集中采集。
  • HTTP 访问日志:通过 HTTP POST 方式推送日志,便于与 Webhook、SIEM 等系统集成。
  • OpenTelemetry:支持以 OTel 格式输出日志,便于与现代可观测性平台对接。

字段自定义与高级格式化

  • 支持自定义输出任意请求/响应头、动态元数据、上下文变量等。
  • 支持嵌套 JSON、条件字段、数组等复杂结构。

配置示例(gRPC 访问日志)

access_log:
  - name: envoy.access_loggers.grpc
    typed_config:
      "@type": type.googleapis.com/envoy.extensions.access_loggers.grpc.v3.HttpGrpcAccessLogConfig
      common_config:
        log_name: envoy-access-log
        grpc_service:
          envoy_grpc:
            cluster_name: accesslog_service

配置示例(条件输出)

access_log:
  - name: envoy.access_loggers.file
    filter:
      response_flag_filter:
        response_flag: UF  # 仅输出上游失败的请求
    typed_config:
      "@type": type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog
      path: /var/log/envoy/upstream_fail.log

动态日志策略

  • 支持基于响应码、请求路径、标头等条件动态输出日志。
  • 支持采样日志,降低高并发场景下的磁盘压力。

与安全、合规、审计的结合

  • 访问日志可用于安全事件溯源、合规审计与异常检测。
  • 建议对敏感字段脱敏,防止数据泄漏。
  • 可与 SIEM、审计平台联动,提升安全响应能力。

工程实践建议

  • 复杂场景建议采用 gRPC/HTTP 远程日志,提升弹性与可扩展性。
  • 合理配置条件与采样,兼顾性能与可观测性。
  • 定期评估日志内容,确保满足合规与业务需求。

访问日志进阶用法可大幅提升系统可观测性与安全性,建议结合实际场景灵活配置。

文章导航

章节完成

恭喜完成本章节!下一章节即将开始。下一章节:可扩展性与插件

章节概览