Sample Splunk Query

index="lamaxu" sourcetype="qmstatus_json"  "identifier.dataType"=CHANNEL_STATUS "identifier.dataSource"=DEMO "attributes.CHANNEL"=TEST|rename attributes.STATUS as chlstatus|eval status = case(like(chlstatus,"RUNNING"), 0,like(chlstatus,"INACTIVE"), 1, like(chlstatus,"STOPPED"), 1, like(chlstatus,"RETRY"), 2)|table status | rangemap field=status low=0-0 elevated=1-1 severe=2-2 default=severe | eval status=case(status== 0, "TEST.CHANNEL", status== 1, "TEST.CHANNEL", status== 2, "TEST.CHANNEL")

Trellis Dashboard Query (Splunk 6.7 and above)

Using Trellis creates a dynamic view of the channel statuses. It does not require the dashboard to be editted when new channels are added. 

index="lamaxu" sourcetype="qmstatus_json"  "identifier.dataType"=CHANNEL_STATUS |rename attributes.CHANNEL as chlName|rename identifier.dataSource as qmgrName| rename attributes.STATUS as chlstatus|eval label="(".qmgrName.") ".chlName." - ".chlstatus|eval status = case(like(chlstatus,"RUNNING"), 0,like(chlstatus,"INACTIVE"), 1, like(chlstatus,"STOPPED"), 1, like(chlstatus,"RETRY"), 2)|chart max(status) by label

Sample Dashboard

Dashboard Source

<dashboard>
  <label>Channel Status</label>
  <row>
    <panel>
      <single>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json"  "identifier.dataType"=CHANNEL_STATUS "identifier.dataSource"=MQD2 "attributes.CHANNEL"=QT1.QD2|rename attributes.STATUS as chlstatus|eval status = case(like(chlstatus,"RUNNING"), 0,like(chlstatus,"INACTIVE"), 1, like(chlstatus,"STOPPED"), 1, like(chlstatus,"RETRY"), 2)|table status | rangemap field=status low=0-0 elevated=1-1 severe=2-2 default=severe | eval status=case(status== 0, "TEST1.CHANNEL", status== 1, "TEST1.CHANNEL", status== 2, "TEST1.CHANNEL")</query>
          <earliest>rt-5m</earliest>
          <latest>rt</latest>
          <sampleRatio>1</sampleRatio>
        </search>
        <option name="colorBy">value</option>
        <option name="colorMode">block</option>
        <option name="drilldown">all</option>
        <option name="numberPrecision">0</option>
        <option name="rangeColors">["0x65a637","0x6db7c6","0xf7bc38","0xf58f39","0xd93f3c"]</option>
        <option name="rangeValues">[0,30,70,100]</option>
        <option name="refresh.display">progressbar</option>
        <option name="showSparkline">1</option>
        <option name="showTrendIndicator">1</option>
        <option name="trellis.enabled">0</option>
        <option name="trellis.scales.shared">1</option>
        <option name="trellis.size">medium</option>
        <option name="trendColorInterpretation">standard</option>
        <option name="trendDisplayMode">absolute</option>
        <option name="underLabel">Channel Status</option>
        <option name="unitPosition">after</option>
        <option name="useColors">0</option>
        <option name="useThousandSeparators">1</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json"  "identifier.dataType"=CHANNEL_STATUS "identifier.dataSource"=MQD2 "attributes.CHANNEL"=QT1.QD2|rename attributes.STATUS as chlstatus|eval status = case(like(chlstatus,"RUNNING"), 0,like(chlstatus,"INACTIVE"), 1, like(chlstatus,"STOPPED"), 1, like(chlstatus,"RETRY"), 2)|table status | rangemap field=status low=0-0 elevated=1-1 severe=2-2 default=severe | eval status=case(status== 0, "TEST1.CHANNEL", status== 1, "TEST1.CHANNEL", status== 2, "TEST1.CHANNEL")</query>
          <earliest>rt-5m</earliest>
          <latest>rt</latest>
          <sampleRatio>1</sampleRatio>
        </search>
        <option name="colorBy">value</option>
        <option name="colorMode">block</option>
        <option name="drilldown">all</option>
        <option name="numberPrecision">0</option>
        <option name="rangeColors">["0x65a637","0x6db7c6","0xf7bc38","0xf58f39","0xd93f3c"]</option>
        <option name="rangeValues">[0,30,70,100]</option>
        <option name="refresh.display">progressbar</option>
        <option name="showSparkline">1</option>
        <option name="showTrendIndicator">1</option>
        <option name="trellis.enabled">0</option>
        <option name="trellis.scales.shared">1</option>
        <option name="trellis.size">medium</option>
        <option name="trendColorInterpretation">standard</option>
        <option name="trendDisplayMode">absolute</option>
        <option name="underLabel">Channel Status</option>
        <option name="unitPosition">after</option>
        <option name="useColors">0</option>
        <option name="useThousandSeparators">1</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json"  "identifier.dataType"=CHANNEL_STATUS "identifier.dataSource"=MQD2 "attributes.CHANNEL"=QD2.QT1|rename attributes.STATUS as chlstatus|eval status = case(like(chlstatus,"RUNNING"), 0,like(chlstatus,"INACTIVE"), 1, like(chlstatus,"STOPPED"), 1, like(chlstatus,"RETRY"), 2)|table status | rangemap field=status low=0-0 elevated=1-1 severe=2-2 default=severe | eval status=case(status== 0, "TEST2.CHANNEL", status== 1, "TEST2.CHANNEL", status== 2, "TEST2.CHANNEL")</query>
          <earliest>rt-5m</earliest>
          <latest>rt</latest>
          <sampleRatio>1</sampleRatio>
        </search>
        <option name="colorBy">value</option>
        <option name="colorMode">block</option>
        <option name="drilldown">all</option>
        <option name="numberPrecision">0</option>
        <option name="rangeColors">["0x65a637","0x6db7c6","0xf7bc38","0xf58f39","0xd93f3c"]</option>
        <option name="rangeValues">[0,30,70,100]</option>
        <option name="refresh.display">progressbar</option>
        <option name="showSparkline">1</option>
        <option name="showTrendIndicator">1</option>
        <option name="trellis.enabled">0</option>
        <option name="trellis.scales.shared">1</option>
        <option name="trellis.size">medium</option>
        <option name="trendColorInterpretation">standard</option>
        <option name="trendDisplayMode">absolute</option>
        <option name="underLabel">Channel Status</option>
        <option name="unitPosition">after</option>
        <option name="useColors">0</option>
        <option name="useThousandSeparators">1</option>
      </single>
    </panel>
    <panel>
      <single>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json"  "identifier.dataType"=CHANNEL_STATUS "identifier.dataSource"=MQD2 "attributes.CHANNEL"=QT1.QD2|rename attributes.STATUS as chlstatus|eval status = case(like(chlstatus,"RUNNING"), 0,like(chlstatus,"INACTIVE"), 1, like(chlstatus,"STOPPED"), 1, like(chlstatus,"RETRY"), 2)|table status | rangemap field=status low=0-0 elevated=1-1 severe=2-2 default=severe | eval status=case(status== 0, "TEST3.CHANNEL", status== 1, "TEST3.CHANNEL", status== 2, "TEST3.CHANNEL")</query>
          <earliest>rt-5m</earliest>
          <latest>rt</latest>
          <sampleRatio>1</sampleRatio>
        </search>
        <option name="colorBy">value</option>
        <option name="colorMode">block</option>
        <option name="drilldown">all</option>
        <option name="numberPrecision">0</option>
        <option name="rangeColors">["0x65a637","0x6db7c6","0xf7bc38","0xf58f39","0xd93f3c"]</option>
        <option name="rangeValues">[0,30,70,100]</option>
        <option name="refresh.display">progressbar</option>
        <option name="showSparkline">1</option>
        <option name="showTrendIndicator">1</option>
        <option name="trellis.enabled">0</option>
        <option name="trellis.scales.shared">1</option>
        <option name="trellis.size">medium</option>
        <option name="trendColorInterpretation">standard</option>
        <option name="trendDisplayMode">absolute</option>
        <option name="underLabel">Channel Status</option>
        <option name="unitPosition">after</option>
        <option name="useColors">0</option>
        <option name="useThousandSeparators">1</option>
      </single>
    </panel>
  </row>
  <row>
    <panel>
      <title>Channel Status Trellis</title>
      <single>
        <title>Channel Status Trellis</title>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json"  "identifier.dataType"=CHANNEL_STATUS |rename attributes.CHANNEL as chlName|rename identifier.dataSource as qmgrName| rename attributes.STATUS as chlstatus|eval label="(".qmgrName.") ".chlName." - ".chlstatus|eval status = case(like(chlstatus,"RUNNING"), 0,like(chlstatus,"INACTIVE"), 1, like(chlstatus,"STOPPED"), 1, like(chlstatus,"RETRY"), 2)|chart max(status) by label</query>
          <earliest>rt-1h</earliest>
          <latest>rt</latest>
          <sampleRatio>1</sampleRatio>
        </search>
        <option name="colorBy">value</option>
        <option name="colorMode">block</option>
        <option name="drilldown">none</option>
        <option name="numberPrecision">0</option>
        <option name="rangeColors">["0x65a637","0x6db7c6","0xd93f3c"]</option>
        <option name="rangeValues">[0,30]</option>
        <option name="refresh.display">progressbar</option>
        <option name="showSparkline">1</option>
        <option name="showTrendIndicator">1</option>
        <option name="trellis.enabled">1</option>
        <option name="trellis.scales.shared">1</option>
        <option name="trellis.size">medium</option>
        <option name="trellis.splitBy">label</option>
        <option name="trendColorInterpretation">standard</option>
        <option name="trendDisplayMode">absolute</option>
        <option name="unitPosition">after</option>
        <option name="useColors">1</option>
        <option name="useThousandSeparators">1</option>
      </single>
    </panel>
  </row>
</dashboard>

Channel Status Dashboard Source Using Trellis

<dashboard>
  <label>Channel Status Using Trellis</label>
  <row>
    <panel>
      <title>Channel Status Trellis</title>
      <single>
        <title>Channel Status Trellis</title>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json"  "identifier.dataType"=CHANNEL_STATUS |rename attributes.CHANNEL as chlName|rename identifier.dataSource as qmgrName| rename attributes.STATUS as chlstatus|eval label="(".qmgrName.") ".chlName." - ".chlstatus|eval status = case(like(chlstatus,"RUNNING"), 0,like(chlstatus,"INACTIVE"), 1, like(chlstatus,"STOPPED"), 1, like(chlstatus,"RETRY"), 2)|chart max(status) by label</query>
          <earliest>rt-1h</earliest>
          <latest>rt</latest>
          <sampleRatio>1</sampleRatio>
        </search>
        <option name="colorBy">value</option>
        <option name="colorMode">block</option>
        <option name="drilldown">none</option>
        <option name="numberPrecision">0</option>
        <option name="rangeColors">["0x65a637","0x6db7c6","0xd93f3c"]</option>
        <option name="rangeValues">[0,30]</option>
        <option name="refresh.display">progressbar</option>
        <option name="showSparkline">1</option>
        <option name="showTrendIndicator">1</option>
        <option name="trellis.enabled">1</option>
        <option name="trellis.scales.shared">1</option>
        <option name="trellis.size">medium</option>
        <option name="trellis.splitBy">label</option>
        <option name="trendColorInterpretation">standard</option>
        <option name="trendDisplayMode">absolute</option>
        <option name="unitPosition">after</option>
        <option name="useColors">1</option>
        <option name="useThousandSeparators">1</option>
      </single>
    </panel>
  </row>
</dashboard>
  • No labels