Splunk App for Jenkins:如何将构建日志作为单个Splunk事件处理?
解决Splunk App for Jenkins构建日志拆分问题
要将Jenkins每个构建的控制台日志合并为Splunk中的单个事件,可通过调整Splunk的事件分割规则实现,以下是两种可行方案:
方案一:修改配置文件(适合服务器端配置)
- 定位Splunk Jenkins插件的配置目录:
$SPLUNK_HOME/etc/apps/Splunk_TA_jenkins/local/,若local目录不存在则手动创建。 - 创建或编辑
props.conf文件,添加以下配置:
[jenkins:job:console] SHOULD_LINEMERGE = true LINE_BREAKER = ([\r\n]+)Started by NO_BINARY_CHECK = true CHARSET = UTF-8 TRUNCATE = 0
SHOULD_LINEMERGE = true:开启多行合并模式LINE_BREAKER:指定新事件的起始标记(Jenkins构建日志通常以Started by开头),将两个Started by之间的内容识别为单个事件TRUNCATE = 0:关闭日志长度截断,避免长构建日志被拆分
- 保存文件后,重启Splunk服务使配置生效:
splunk restart
方案二:通过Splunk Web界面配置(适合可视化操作)
- 登录Splunk Web控制台,依次进入设置 > 数据源 > 源类型
- 在搜索框中输入
jenkins:job:console,找到对应的源类型并点击编辑 - 切换到高级标签页,调整以下参数:
- 开启行合并选项
- 将行分隔符设置为正则表达式:
([\r\n]+)Started by - 关闭按时间戳拆分事件选项(避免Splunk自动按日志中的时间戳切割事件)
- 将最大事件长度设为
0(不限制事件长度)
- 保存配置后,等待Splunk加载新规则即可。
验证配置
触发一个新的Jenkins构建,在Splunk中执行搜索source="jenkins:job:console",检查搜索结果是否每个构建日志都作为单个完整事件展示。
内容的提问来源于stack exchange,提问作者Shagun
相关产品推荐
相关产品推荐

