You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Schema Registry GET日志重复记录至/var/log目录的问题咨询

Schema Registry 日志问题解答

日志生成主体与类型

  • 这些/var/log/messages下的日志由Linux系统的syslog服务生成,但日志内容本身是Schema Registry的REST请求日志。
  • 原因:Schema Registry通过bash脚本启动时,其stdout/stderr输出未被完全重定向到log4j配置的日志文件,导致这些输出被syslog捕获并写入/var/log/messages(及分割后的归档文件)。日志中的bash:前缀也证明了这是bash进程的输出被系统日志服务记录。
  • 日志类型:属于Schema Registry的请求日志(内容对应io.confluent.rest-utils.requests组件的INFO级日志,记录REST API调用详情),并非系统网络日志。

停止或配置存储路径的方法

方法1:修正Schema Registry启动脚本的输出重定向

找到Schema Registry的启动脚本(通常在/confluent-7.0.1/bin/schema-registry-start),确保启动命令将stdout和stderr重定向到指定日志文件或/dev/null:

# 修改启动命令,添加输出重定向
./schema-registry-start ./etc/schema-registry/schema-registry.properties >> ${schema-registry.log.dir}/schema-registry.log 2>&1

这样Schema Registry的所有输出都会进入log4j配置的文件,syslog就不会再捕获这些内容。

方法2:修改syslog配置过滤或重定向日志

如果不想修改启动脚本,可以配置syslog(如rsyslog)来处理这些日志:

  1. 编辑rsyslog配置文件(通常是/etc/rsyslog.conf或/etc/rsyslog.d/*.conf)
  2. 添加规则过滤或重定向:
    • 过滤掉这类日志:
      :msg, contains, "io.confluent.rest-utils.requests" ~
      
    • 或重定向到自定义路径:
      :msg, contains, "io.confluent.rest-utils.requests" /var/log/schema-registry-rest.log
      & stop
      
  3. 重启rsyslog服务:
    systemctl restart rsyslog
    

方法3:完善log4j配置确保日志全量写入指定文件

检查Schema Registry的log4j配置文件(通常在/confluent-7.0.1/etc/schema-registry/log4j.properties),确保包含io.confluent.rest-utils.requests的日志配置:

log4j.logger.io.confluent.rest-utils.requests=INFO, file
log4j.additivity.io.confluent.rest-utils.requests=false

additivity=false会阻止这些日志同时输出到stdout,确保只写入log4j配置的文件。


内容的提问来源于stack exchange,提问作者Bünyamin Şentürk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 08:55:12