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

如何为Splunk仪表板热力图的INVOKE/SUCCESS/ERROR设置不同颜色?

解决Splunk HeatmapViz中三类指标颜色重复问题

方法一:修改搜索语句并配置可视化颜色映射

  1. 调整搜索查询为纵向结构
    将原宽表数据转换为窄表,让每个指标作为独立行,方便按指标类型着色:

    index=serverless$environment$ service="credit-header" sourcetype="applogs" 
    | stats
      count(eval(message="retryorderrequeststart")) as INVOKE
      count(eval(message="retryorderrequestsuccess")) as SUCCESS
      count(eval(message="retryorderrequesterror")) as ERROR
      by sourcetype 
    | untable sourcetype metric value
    
  2. 配置可视化颜色规则
    编辑HeatmapViz组件的配置,添加以下选项,指定每个指标对应的颜色:

    <option name="Splunk_ML_Toolkit.HeatmapViz.colorBy">metric</option>
    <option name="Splunk_ML_Toolkit.HeatmapViz.customColors">{"INVOKE":"#1E90FF", "SUCCESS":"#32CD32", "ERROR":"#FF4500"}</option>
    

方法二:直接通过CSS强制指定列颜色

如果不想修改搜索语句,可通过CSS定位对应列的单元格,强制设置颜色:
修改仪表板中的<html>标签内的样式:

<html depends="$hideCSSStyleOverride$">
  <style>
    #mychart3 g.apexcharts-xaxis-texts-g text{
      fill: grey !important;
    }
    /* 第一列(INVOKE)设蓝色 */
    #mychart3 .apexcharts-heatmap-series .apexcharts-heatmap-rect:nth-child(3n+1) {
      fill: #1E90FF !important;
    }
    /* 第二列(SUCCESS)设绿色 */
    #mychart3 .apexcharts-heatmap-series .apexcharts-heatmap-rect:nth-child(3n+2) {
      fill: #32CD32 !important;
    }
    /* 第三列(ERROR)设橙色/红色 */
    #mychart3 .apexcharts-heatmap-series .apexcharts-heatmap-rect:nth-child(3n+3) {
      fill: #FF4500 !important;
    }
  </style>
</html>

注意:3n+1的数字对应每行的单元格数量,当前每行有3个指标(INVOKE/SUCCESS/ERROR),所以用3作为基数。如果后续指标数量变化,需要同步调整这个数值。

验证效果

保存仪表板后刷新,三类指标会分别显示不同颜色,SUCCESS(绿色)和ERROR(红色)的区分度会明显提升。

内容的提问来源于stack exchange,提问作者Anitha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 08:10:29