2.10. 日志记录配置
				在 Kafka 组件和 AMQ Streams Operator 的自定义资源中配置日志记录级别。您可以在自定义资源的 spec.logging 属性中指定日志记录级别。或者,您可以使用 configMapKeyRef 属性在自定义资源中引用的 ConfigMap 中定义日志记录属性。
			
使用 ConfigMap 的优点是,日志记录属性在一个位置进行维护,并可以被多个资源访问。您还可以为多个资源重复使用 ConfigMap。如果使用 ConfigMap 为 AMQ Streams Operator 指定日志记录器,您也可以附加日志记录规格来添加过滤器。
				您可以在日志 规格中指定日志记录类型 :
			
- 
						直接指定日志记录级别时 
内联 - 
						引用 ConfigMap 时 
的外部 
内联 日志配置示例
外部日志记录 配置示例
				ConfigMap 的 name 和 key 的值是必需的。如果没有设置 name 或 key,则会使用默认日志记录。
			
2.10.1. Kafka 组件和 Operator 的日志记录选项 复制链接链接已复制到粘贴板!
有关为特定 Kafka 组件或操作员配置日志记录的更多信息,请参见以下部分。
Kafka 组件日志记录
Operator 日志记录
2.10.2. 创建用于日志记录的 ConfigMap 复制链接链接已复制到粘贴板!
					要使用 ConfigMap 定义日志记录属性,您可以创建 ConfigMap,然后将其引用为资源 spec 中的日志记录定义的一部分。
				
ConfigMap 必须包含适当的日志记录配置。
- 
							Kafka 组件的 
log4j.properties、ZooKeeper 和 Kafka Bridge - 
							Topic Operator 和用户 Operator 的 
log4j2.properties 
配置必须放在这些属性下。
此流程中 ConfigMap 为 Kafka 资源定义根日志记录器。
流程
创建 ConfigMap。
您可以将 ConfigMap 创建为 YAML 文件或从属性文件创建。
带有 Kafka 根日志记录器定义的 ConfigMap 示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果使用属性文件,请在命令行中指定该文件:
oc create configmap logging-configmap --from-file=log4j.properties
oc create configmap logging-configmap --from-file=log4j.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 属性文件定义日志配置:
Define the logger ...
# Define the logger kafka.root.logger.level="INFO" # ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在资源的
spec中定义 外部日志记录,将logging.valueFrom.configMapKeyRef.name设置为 ConfigMap 的名称,并将logging.valueFrom.configMapKeyRef.key设置为此 ConfigMap 中的键。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建或更新资源。
oc apply -f <kafka_configuration_file>
oc apply -f <kafka_configuration_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
2.10.3. 在 Operator 中添加日志记录过滤器 复制链接链接已复制到粘贴板!
如果使用 ConfigMap 为 AMQ Streams Operator 配置(log4j2)日志记录级别,您也可以定义日志记录过滤器来限制日志中返回的内容。
					当您有大量日志消息时,日志记录过滤器很有用。假设您将日志记录器的日志级别设置为 DEBUG (rootLogger.level="DEBUG")。日志记录过滤器减少了该级别上为日志记录器返回的日志数量,因此您可以专注于特定的资源。当设置过滤器时,仅记录与过滤器匹配的日志消息。
				
					过滤器使用 标记来指定 在日志中包含的内容。您可以为标记指定 kind、namespace 和 name。例如,如果 Kafka 集群失败,您可以通过将 kind 指定为 Kafka 来隔离日志,并使用失败集群的命名空间和名称。
				
					本例显示了名为 my-kafka-cluster 的 Kafka 集群的标记过滤器。
				
基本日志记录过滤器配置
rootLogger.level="INFO" appender.console.filter.filter1.type=MarkerFilter appender.console.filter.filter1.onMatch=ACCEPT appender.console.filter.filter1.onMismatch=DENY appender.console.filter.filter1.marker=Kafka(my-namespace/my-kafka-cluster)
rootLogger.level="INFO"
appender.console.filter.filter1.type=MarkerFilter 
appender.console.filter.filter1.onMatch=ACCEPT 
appender.console.filter.filter1.onMismatch=DENY 
appender.console.filter.filter1.marker=Kafka(my-namespace/my-kafka-cluster) 
您可以创建一个或多个过滤器。在这里,会针对两个 Kafka 集群过滤日志。
多个日志记录过滤器配置
在 Cluster Operator 中添加过滤器
						要在 Cluster Operator 中添加过滤器,请更新其日志记录 ConfigMap YAML 文件(install/cluster-operator/050-ConfigMap-strimzi-cluster-operator.yaml)。
					
流程
更新
050-ConfigMap-strimzi-cluster-operator.yaml文件,将过滤器属性添加到 ConfigMap 中。在本例中,过滤器属性只返回
my-kafka-clusterKafka 集群的日志:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者,直接编辑
ConfigMap:oc edit configmap strimzi-cluster-operator
oc edit configmap strimzi-cluster-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您更新了 YAML 文件而不是直接编辑
ConfigMap,通过部署 ConfigMap 来应用更改:oc create -f install/cluster-operator/050-ConfigMap-strimzi-cluster-operator.yaml
oc create -f install/cluster-operator/050-ConfigMap-strimzi-cluster-operator.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
在 Topic Operator 或 User Operator 中添加过滤器
要在 Topic Operator 或 User Operator 中添加过滤器,请创建或编辑日志记录 ConfigMap。
此流程使用 Topic Operator 的过滤器创建日志记录 ConfigMap。对于 User Operator,使用相同的方法。
流程
创建 ConfigMap。
您可以将 ConfigMap 创建为 YAML 文件或从属性文件创建。
在本例中,过滤器属性只返回
my-topic主题的日志:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果使用属性文件,请在命令行中指定该文件:
oc create configmap logging-configmap --from-file=log4j2.properties
oc create configmap logging-configmap --from-file=log4j2.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 属性文件定义日志配置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在资源的
spec中定义 外部日志记录,将logging.valueFrom.configMapKeyRef.name设置为 ConfigMap 的名称,并将logging.valueFrom.configMapKeyRef.key设置为此 ConfigMap 中的键。对于主题 Operator,日志记录在
Kafka资源的topicOperator配置中指定。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 通过部署 Cluster Operator 来应用更改:
 
create -f install/cluster-operator -n my-cluster-operator-namespace
create -f install/cluster-operator -n my-cluster-operator-namespace