第 3 章 集群日志记录


3.1. 为 Serving 和 Eventing 配置日志设置

您可以使用 KnativeServingKnativeEventing 自定义资源(CR)为 OpenShift Serverless Serving 和 OpenShift Serverless Eventing 配置日志记录。日志记录的级别由指定的 loglevel 值决定。

3.1.1. 支持的日志级别

支持以下 loglevel 值:

Expand
表 3.1. 支持的日志级别
日志级别描述

debug

细粒度调试

info

普通日志记录

warn

意外但非关键错误

错误

关键错误;正常操作期间出现意外错误

dpanic

在 debug 模式中,触发 panic (crash)

警告

debug 级别用于生产环境可能会对性能造成负面影响。

3.1.2. 配置日志设置

您可以在 KnativeServing 自定义资源(CR)和 KnativeEventing CR 中配置 Serving 和 Eventing 的日志记录。

流程

  • 通过在 KnativeServingKnativeEventing CR 中设置或修改 loglevel 值来配置 Serving 和 Eventing 的日志设置。以下是两个示例配置,所有可能的日志选项都设置为 level info

    KnativeServing CR

    apiVersion: operator.knative.dev/v1beta1
    kind: KnativeServing
    metadata:
      name: knative-serving
      namespace: knative-serving
    spec:
      config:
        logging:
          loglevel.controller: "info"
          loglevel.autoscaler: "info"
          loglevel.queueproxy: "info"
          loglevel.webhook: "info"
          loglevel.activator: "info"
          loglevel.hpaautoscaler: "info"
          loglevel.net-certmanager-controller: "info"
          loglevel.net-istio-controller: "info"
          loglevel.net-kourier-controller: "info"
    Copy to Clipboard Toggle word wrap

    KnativeEventing CR

    apiVersion: operator.knative.dev/v1beta1
    kind: KnativeEventing
    metadata:
      name: knative-eventing
      namespace: knative-eventing
    spec:
      config:
        logging:
          loglevel.controller: "info"
          loglevel.eventing-webhook: "info"
          loglevel.inmemorychannel-dispatcher: "info"
          loglevel.inmemorychannel-webhook: "info"
          loglevel.mt-broker-controller: "info"
          loglevel.mt_broker_filter: "info"
          loglevel.mt_broker_ingress: "info"
          loglevel.pingsource-mt-adapter: "info"
    Copy to Clipboard Toggle word wrap

3.1.3. 配置请求日志设置

您可以在 KnativeServing 自定义资源(CR)的 observability 字段中为服务配置请求日志记录。

有关配置请求日志记录的可用参数的详情,请参考"请求日志记录参数"。

流程

  • 通过修改 KnativeServing CR 中的 observability 字段来配置服务的请求日志记录:

    KnativeServing CR 示例

    apiVersion: operator.knative.dev/v1beta1
    kind: KnativeServing
    metadata:
      name: knative-serving
      namespace: knative-serving
    # ...
    spec:
      config:
        observability:
            logging.enable-request-log: true
            logging.enable-probe-request-log: true
            logging.request-log-template: '{"httpRequest": {"requestMethod": "{{.Request.Method}}", "requestUrl": "{{js .Request.RequestURI}}", "requestSize": "{{.Request.ContentLength}}", "status": {{.Response.Code}}, "responseSize": "{{.Response.Size}}", "userAgent": "{{js .Request.UserAgent}}", "remoteIp": "{{js .Request.RemoteAddr}}", "serverIp": "{{.Revision.PodIP}}", "referer": "{{js .Request.Referer}}", "latency": "{{.Response.Latency}}s", "protocol": "{{.Request.Proto}}"}, "traceId": "{{index .Request.Header "X-B3-Traceid"}}"}'
    # ...
    Copy to Clipboard Toggle word wrap

3.1.4. 请求日志记录的参数

下表描述了用于配置请求日志记录的参数。

Expand
表 3.2. 请求日志记录配置参数
参数类型描述

logging.enable-request-log

布尔值(truefalse)

设置为 true 以启用请求日志记录。

logging.enable-probe-request-log

布尔值(truefalse)

设置为 true 以启用队列代理将探测请求记录到 stdout。它使用 logging.request-log-template 中指定的模板。

logging.request-log-template

Go text/template 字符串

确定请求日志的形成。使用一行以防止将日志分成多个记录。

logging.request-log-template 参数包括以下功能:

  • request 是一个 http. Request ,代表服务器收到的 HTTP 请求。
  • response 代表 HTTP 响应,并包括以下字段:

    • Code 是 HTTP 状态代码。
    • size 是响应的大小,以字节为单位。
    • latency 是响应延迟(以秒为单位)。
  • 修订 包含修订详情,并包括以下字段:

    • name 是修订版本的名称。
    • namespace 是修订版本的命名空间。
    • service 是服务的名称。
    • configuration 是 配置 的名称。
    • pod name 是托管该修订版本的 pod 的名称。
    • podIP 是托管 pod 的 IP 地址。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat