Dashboards & Visualizations

Dashboard Background Color Formatting Based on Text

jtoy1986
Loves-to-Learn

I would like the background to be either Red or Green based on the text of "deviceSeverity." The value of deviceSeverity can either be "Up" or "Down." No matter what I do, the background is staying grey. I am new to Splunk formatting and tried searching through these various messages here, but have not had any luck.

This is the latest that I have and am probably over-complicating things (just want background to be red if deviceSeverity is "Down" and background to be green if deviceSeverity is "Up"):

 

 

<query>index=arcmisc dvc = $psmserver$ AND deviceProduct = "ApplicationMonitor" name="VIP Health Check Status" deviceSeverity=* 
|  stats latest(deviceSeverity) | eval range=case(deviceSeverity == "Up", "low", deviceSeverity == "Down", "severe")</query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
          <refresh>30s</refresh>
          <refreshType>delay</refreshType>
        </search>
        <option name="colorMode">block</option>
        <option name="drilldown">none</option>
        <option name="classField">deviceSeverity</option>
        <option name="refresh.display">progressbar</option>
        <option name="useColors">1</option>
        <option name="charting.fieldColors">
        {"severe": 0xFF0000, "low": 0x00FF00, "NULL":0xC4C4C0}
        </option>

 

 

 

Labels (3)
0 Karma

PradReddy
Path Finder

Hi jtoy1986,

If visualization is a Statistics Table then you can define rules for coloring as below

Capture.PNG

 

 

 

 

 


XML:

<table>
<search>
<query>| makeresults
| eval deviceSeverity = "Up"
| append
[| makeresults
| eval deviceSeverity = "Down" ]
| stats latest(deviceSeverity)
| eval range=case(deviceSeverity == "Up", "low", deviceSeverity == "Down", "severe")</query>
<earliest>-15m</earliest>
<latest>now</latest>
<sampleRatio>1</sampleRatio>
</search>
<option name="count">100</option>
<option name="dataOverlayMode">none</option>
<option name="drilldown">none</option>
<option name="percentagesRow">false</option>
<option name="rowNumbers">false</option>
<option name="totalsRow">false</option>
<option name="wrap">true</option>
<format type="color" field="latest(deviceSeverity)">
<colorPalette type="map">{"Down":#DC4E41,"Up":#53A051}</colorPalette>
</format>
</table>

------

An upvote would be appreciated and Accept Solution if it helps!

0 Karma

jtoy1986
Loves-to-Learn

I'm getting some validation errors. What am I doing wrong? Some say unknown option name for node "single." And node "Format" is not allowed here. Also getting the following after saving, so assuming query is wrong: "Error in 'makeresults' command: This command must be the first command of a search."

 

 

<panel>
      <title>VIP Health Check Status</title>
      <single>
        <title>Host: Components</title>
        <search>
          <query>index=arcmisc dvc = $psmserver$ AND deviceProduct = "ApplicationMonitor" name="VIP Health Check Status" deviceSeverity=* 
|  stats latest(deviceSeverity) | makeresults 
| eval deviceSeverity = "Up" 
| append 
[| makeresults 
| eval deviceSeverity = "Down" ] 
| stats latest(deviceSeverity) 
| eval range=case(deviceSeverity == "Up", "low", deviceSeverity == "Down", "severe") </query>
          <earliest>-24h@h</earliest>
          <latest>now</latest>
          <refresh>30s</refresh>
          <refreshType>delay</refreshType>
        </search>
        <option name="count">100</option>
        <option name="dataOverlayMode">none</option>
        <option name="drilldown">none</option>
        <option name="percentagesRow">false</option>
        <option name="rowNumbers">false</option>
        <option name="totalsRow">false</option>
        <option name="wrap">true</option>
        <format type="color" field="latest(deviceSeverity)">
        <colorPalette type="map">{"Down":#DC4E41,"Up":#53A051}</colorPalette>
        </format>
      </single>
    </panel>

 

  

0 Karma

jtoy1986
Loves-to-Learn

I'm also hoping to do the same on some other ones. Basically want to show green or red based on the text that comes back in the query. For example, I am monitoring services and the panel will show "Running" or "Stopped."

deviceSeverity will show either "Running" or "Stopped" below in this case. In my original example, it is "Up" or "Down."

<query>index=arcmisc dvc = $psmserver$ AND deviceProduct = "ApplicationMonitor" name="Cyber-Ark Privileged Session Manager" deviceSeverity=*
| stats latest(deviceSeverity)</query>

0 Karma

jtoy1986
Loves-to-Learn

Anyone else able to provide some insight on where I'm going wrong with my query? I'd love to do this in other dashboards where I can just show red or green based on text.

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

Event Series: Splunk Observability Metrics Cost Optimization

Balancing Scale and Spend: Gaining Control Over High-Volume Metrics in Splunk Observability Cloud As ...

Kick the Tires Before You Commit: A Hands-On Tour of the Splunk Observability Cloud ...

Evaluating an enterprise observability platform usually goes like this: fill out a form, get a free trial with ...

Deep insights, no barriers: Splunk Observability Cloud Free Edition

As software delivery cycles continue to accelerate, observability shouldn’t be a luxury — it should be a ...