求助:如何在Splunk仪表板中根据作业状态更改条形图颜色?
Splunk仪表板:按作业状态设置条形图颜色
要实现按作业状态更改条形图颜色,核心是先在搜索结果中区分作业状态,再给不同状态的系列设置对应颜色,具体步骤如下:
1. 调整搜索语句,提取作业状态
你的原搜索未区分作业是正常完成还是带错误完成,需要先通过正则提取状态字段,同时确保执行时间为数值类型以便统计:
index=stg_index "Job Finished in" OR "Job Finished with errors in" | rex "(?<Status>Finished( with errors)?)" | rex "in (?<Num>[^\s]+) seconds" | eval ExecutionTime=tonumber(Num) | timechart avg(ExecutionTime) as ExecutionTime by Status span=60min | sort _time
- 第一个
rex规则提取出Status字段,值为Finished(正常完成)或Finished with errors(带错误完成) eval ExecutionTime=tonumber(Num)将提取的字符串时间转为数值,保证统计结果准确timechart按Status拆分统计,最终结果会生成两个数据系列,对应两种作业状态
2. 配置条形图颜色
在仪表板的条形图组件中设置颜色:
- 进入条形图的编辑界面,点击格式选项卡
- 选择颜色设置项,此时会看到
Finished和Finished with errors两个数据系列 - 分别为两个系列指定颜色(比如给带错误的状态设为红色,正常完成设为绿色)
- 保存配置后,条形图就会根据作业状态显示对应颜色
可选:按作业名称区分统计
如果需要同时区分不同作业(比如示例中的Job XYZ),可以添加提取作业名称的规则:
index=stg_index "Job Finished in" OR "Job Finished with errors in" | rex "Job (?<JobName>[^\s]+) (?<Status>Finished( with errors)?)" | rex "in (?<Num>[^\s]+) seconds" | eval ExecutionTime=tonumber(Num) | timechart avg(ExecutionTime) as ExecutionTime by JobName, Status span=60min | sort _time
之后在颜色设置中,可针对每个作业+状态的组合单独配置颜色。
内容的提问来源于stack exchange,提问作者Anand Somani
相关产品推荐
相关产品推荐

