搜索

2.8. 日志记录配置

download PDF

在 Kafka 组件和 AMQ Streams Operator 的自定义资源中配置日志级别。您可以在自定义资源的 spec.logging 属性中直接指定日志级别。或者,您可以使用 configMapKeyRef 属性在自定义资源中引用的 ConfigMap 中定义日志属性。

使用 ConfigMap 的优点是日志记录属性在一个位置维护,并可以被多个资源访问。您还可以为多个资源重复使用 ConfigMap。如果您使用 ConfigMap 指定 AMQ Streams Operator 的日志记录器,您也可以附加日志规格来添加过滤器。

您可以在日志记录规格中指定一个日志 类型

  • 直接指定日志级别时 内联
  • 引用 ConfigMap 时 外部

内联 日志记录配置示例

spec:
  # ...
  logging:
    type: inline
    loggers:
      kafka.root.logger.level: "INFO"

外部 日志记录配置示例

spec:
  # ...
  logging:
    type: external
    valueFrom:
      configMapKeyRef:
        name: my-config-map
        key: my-config-map-key

ConfigMap 名称和 的值是必需的。如果未设置 名称或 密钥,则会使用默认日志记录。

其它资源

Kafka 组件日志

Operator 日志

2.8.1. 为日志记录创建 ConfigMap

要使用 ConfigMap 定义日志属性,您需要创建 ConfigMap,然后在资源 spec 中的日志记录定义中引用它。

ConfigMap 必须包含适当的日志记录配置。

  • Kafka 组件、ZooKeeper 和 Kafka Bridge 的 log4j.properties
  • Topic Operator 和 User Operator 的 log4j2.properties

配置必须置于这些属性下。

在这一流程中,ConfigMap 为 Kafka 资源定义根日志记录器。

流程

  1. 创建 ConfigMap。

    您可以将 ConfigMap 作为 YAML 文件或属性文件创建。

    带有 Kafka 的根日志记录器定义的 ConfigMap 示例:

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: logging-configmap
    data:
      log4j.properties:
        kafka.root.logger.level="INFO"

    如果您使用属性文件,请在命令行中指定该文件:

    oc create configmap logging-configmap --from-file=log4j.properties

    属性文件定义日志配置:

    # Define the logger
    kafka.root.logger.level="INFO"
    # ...
  2. 在资源的 spec 中定义 外部 日志记录,将 logging.valueFrom.configMapKeyRef.name 设置为 ConfigMap 的名称,valueFrom.configMapKeyRef.key 设置为此 ConfigMap 中的键。

    spec:
      # ...
      logging:
        type: external
        valueFrom:
          configMapKeyRef:
            name: logging-configmap
            key: log4j.properties
  3. 创建或更新资源。

    oc apply -f KAFKA-CONFIG-FILE
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.