如何在 istio 1.8.3 中收集 Envoy 输出的访问日志

问题描述 投票:0回答:1

首先,根据 Istio 的 Wiki,我们从 Envoy 输出访问日志。

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: gateway-access-log
  namespace: istio-system
  label:
    app: gateway-access-log
spec:
  configPatches:
  - applyTo: NETWORK_FILTER
    match:
      context: GATEWAY
      listener:
        filterChain:
          filter:
            name: "envoy.filters.network.http_connection_manager"
    patch:
      operation: MERGE
      value:
        typed_config:
          "@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager"
          access_log:
          - name: envoy.access_loggers.file
            typed_config:
              "@type": "type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog"
              path: /dev/stdout
              format: "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% \n"

检查日志的命令是运行以下命令。

kubectl logs -l app=gateway-access-log -n istio-system

我想做的下一件事是使用另一个工具监视此访问日志。 另一个工具应该是我自己实现的应用程序,我不打算直接使用DataDog或StackDriver之类的工具。 换句话说,目标是实现一个中继服务器以将访问日志发送到您的日志记录工具。 直接的解决方案是通过管道传输

kubect logs
命令,但我认为这不是一个好方法。

kubernetes logging istio envoyproxy
1个回答
0
投票

静态资源: 听众:

  • 地址: 套接字地址: 地址:0.0.0.0 端口值:9001 过滤器链:
    • 过滤器:
      • 名称:envoy.http_connection_manager 类型配置: “@type”:“type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager” 编解码器类型:自动 stat_prefix: ingress_http
        访问日志:
        • 名称:envoy.access_loggers.file 类型配置: “@type”:type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog 路径:“/local/mnt/workspace/envoy-demo/access.log” 日志格式: text_format: "[%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%"" 路线配置: 名称:本地路由 虚拟主机:
          • 名称:服务 域:
            • “*” 路线:
            • 匹配: 字首: ”/” 路线: 集群:本地服务 http_过滤器:
        • 名称:envoy.router 类型配置: “@type”:“type.googleapis.com/envoy.extensions.filters.http.router.v3.Router” start_child_span:true 集群:
  • 名称:本地服务 连接超时:0.25秒 类型:strict_dns lb_policy:最少请求 负载分配: 集群名称:本地服务 端点:
    • lb_端点:
      • 端点: 地址: 套接字地址: 地址:127.0.0.1 端口值:9002 管理员:

access_log_path:“/local/mnt/workspace/envoy-demo/access.log”

地址: 套接字地址: 地址:0.0.0.0 端口值:8081

© www.soinside.com 2019 - 2024. All rights reserved.