2.7. 外部日志记录


在为资源设置日志级别时,您可以直接在资源 YAML spec.logging 属性中指定它们:

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

或者您可以指定 外部 日志记录:

spec:
  # ...
  logging:
    type: external
    name: customConfigMap

使用外部日志记录时,日志属性在 ConfigMap 中定义。ConfigMap 的名称在 spec.logging.name 属性中引用。

使用 ConfigMap 的优点是日志记录属性在一个位置维护,并可以被多个资源访问。

2.7.1. 为日志记录创建 ConfigMap

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

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

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

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

此处我们演示 ConfigMap 如何定义 Kafka 资源的根日志记录器。

步骤

  1. 创建 ConfigMap。

    您可以使用位于命令行的 oc 以 YAML 文件或属性文件创建 ConfigMap。

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

    kind: ConfigMap
    apiVersion: kafka.strimzi.io/v1beta1
    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.name 设置为 ConfigMap 的名称。

    spec:
      # ...
      logging:
        type: external
        name: logging-configmap
  3. 创建或更新资源。

    oc apply -f kafka.yaml
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.