Queue Manager Status Dashboard

Sample Splunk Query

index="lamaxu" sourcetype="qmstatus_json"  "identifier.dataType"=QMGR_STATUS "identifier.dataSource"=TEST|rename attributes.STATUS as qmstatus|eval status = if(like(qmstatus,"RUNNING"), 0, 1)|table status | rangemap field=status low=0-0 default=severe | eval status=case(status== 0, "TEST", status== 1, "TEST")

Trellis Dashboard Query (Splunk 6.7 and above)

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

 

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

Sample Dashboard

Dashboard Source

<dashboard>
  <label>Queue Manager Status</label>
  <row>
    <panel>
      <single>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json"  "identifier.dataType"=QMGR_STATUS "identifier.dataSource"=DEMO|rename attributes.STATUS as qmstatus|eval status = if(like(qmstatus,"RUNNING"), 0, 1)|table status | rangemap field=status low=0-0 default=severe | eval status=case(status== 0, "DEMO", status== 1, "DEMO")</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">none</option>
        <option name="numberPrecision">0</option>
        <option name="rangeColors">["0xd93f3c","0x65a637","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">QMGR 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"=QMGR_STATUS "identifier.dataSource"=TEST|rename attributes.STATUS as qmstatus|eval status = if(like(qmstatus,"RUNNING"), 0, 1)|table status | rangemap field=status low=0-0 default=severe | eval status=case(status== 0, "TEST", status== 1, "TEST")</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">none</option>
        <option name="numberPrecision">0</option>
        <option name="rangeColors">["0xd93f3c","0x65a637","0xf7bc38","0xf58f39","0xd93f3c"]</option>
        <option name="rangeValues">[0,1,10,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">QMGR 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"=QMGR_STATUS "identifier.dataSource"=TEST1|rename attributes.STATUS as qmstatus|eval status = if(like(qmstatus,"RUNNING"), 0, 1)|table status | rangemap field=status low=0-0 default=severe | eval status=case(status== 0, "TEST1", status== 1, "TEST1")</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">none</option>
        <option name="numberPrecision">0</option>
        <option name="rangeColors">["0xd93f3c","0x65a637","0xf7bc38","0xf58f39","0xd93f3c"]</option>
        <option name="rangeValues">[0,1,10,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">QMGR 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"=QMGR_STATUS "identifier.dataSource"=TEST|rename attributes.STATUS as qmstatus|eval status = if(like(qmstatus,"RUNNING"), 0, 1)|table status | rangemap field=status low=0-0 default=severe | eval status=case(status== 0, "TEST2", status== 1, "TEST2")</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">none</option>
        <option name="numberPrecision">0</option>
        <option name="rangeColors">["0xd93f3c","0x65a637","0xf7bc38","0xf58f39","0xd93f3c"]</option>
        <option name="rangeValues">[0,1,10,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">QMGR Status</option>
        <option name="unitPosition">after</option>
        <option name="useColors">0</option>
        <option name="useThousandSeparators">1</option>
      </single>
    </panel>
  </row>
</dashboard>

Queue Manager Status Trellis Dashboard

<dashboard>
  <label>Queue Manager Status - Trellis</label>  
   <row>
    <panel>
      <title>Queue Manager Status Trellis</title>
      <single>
        <title>Queue Manager Status Trellis</title>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json"  "identifier.dataType"=QMGR_STATUS |rename identifier.dataSource as qmgrName| rename attributes.STATUS as qmStatus|eval label="(".qmgrName.") - ".qmStatus|eval status = case(like(qmStatus,"RUNNING"), 0, like(chlstatus,"STOPPED"),1)|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","0xd93f3c"]</option>
        <option name="rangeValues">[0]</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">small</option>
        <option name="trellis.splitBy">label</option>
        <option name="trendColorInterpretation">standard</option>
        <option name="trendDisplayMode">absolute</option>
        <option name="underLabel">Qmgr Status</option>
        <option name="unitPosition">after</option>
        <option name="useColors">1</option>
        <option name="useThousandSeparators">1</option>
      </single>
    </panel>
  </row>
</dashboard>

 

 

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

Channel Status Dashboard

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>

ZOS Buffer Pools Dashboard

Splunk Query for ZOS Buffer Pools (Total vs Used)

index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=PAGESET_USAGE |rename identifier.dataSource as qmgrName|rename attributes.BUFFER_POOL_ID as bufferPoolId| eval objName="(".qmgrName.") Buffer Pool ID : ".bufferPoolId|timechart span=1m max(attributes.TOTAL_PAGES) as "Total Pages" max(attributes.UNUSED_PAGES) as "Unused Pages" BY objName

Splunk Query for  ZOS Buffer Pools (Persistent vs Non-Persistent)

index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=PAGESET_USAGE |rename identifier.dataSource as qmgrName|rename attributes.BUFFER_POOL_ID as bufferPoolId| eval objName="(".qmgrName.") Buffer Pool ID : ".bufferPoolId|timechart span=1m max(attributes.PERSIST_PAGES) as "Perisitent Pages" max(attributes.NONPERSIST_PAGES) as "Non Persistent Pages" BY objName

Sample Dashboard

Dashboard Source

<dashboard>
  <label>ZOS Buffer Pools</label>
  <row>
    <panel>
      <title>ZOS Buffer Pools (Total vs Used)</title>
      <chart>
        <title>ZOS Buffer Pools (Total vs Used)</title>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=PAGESET_USAGE |rename identifier.dataSource as qmgrName|rename attributes.BUFFER_POOL_ID as bufferPoolId| eval objName="(".qmgrName.") Buffer Pool ID : ".bufferPoolId|timechart span=1m max(attributes.TOTAL_PAGES) as "Total Pages" max(attributes.UNUSED_PAGES) as "Unused Pages" BY objName</query>
          <earliest>rt-1h</earliest>
          <latest>rt</latest>
          <sampleRatio>1</sampleRatio>
          <refresh>1m</refresh>
          <refreshType>delay</refreshType>
        </search>
        <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
        <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
        <option name="charting.axisTitleX.visibility">collapsed</option>
        <option name="charting.axisTitleY.visibility">collapsed</option>
        <option name="charting.axisTitleY2.visibility">collapsed</option>
        <option name="charting.axisX.abbreviation">none</option>
        <option name="charting.axisX.scale">linear</option>
        <option name="charting.axisY.abbreviation">none</option>
        <option name="charting.axisY.scale">linear</option>
        <option name="charting.axisY2.abbreviation">none</option>
        <option name="charting.axisY2.enabled">0</option>
        <option name="charting.axisY2.scale">inherit</option>
        <option name="charting.chart">area</option>
        <option name="charting.chart.bubbleMaximumSize">50</option>
        <option name="charting.chart.bubbleMinimumSize">10</option>
        <option name="charting.chart.bubbleSizeBy">area</option>
        <option name="charting.chart.nullValueMode">connect</option>
        <option name="charting.chart.showDataLabels">none</option>
        <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
        <option name="charting.chart.stackMode">default</option>
        <option name="charting.chart.style">shiny</option>
        <option name="charting.drilldown">all</option>
        <option name="charting.layout.splitSeries">0</option>
        <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
        <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
        <option name="charting.legend.mode">standard</option>
        <option name="charting.legend.placement">none</option>
        <option name="charting.lineWidth">2</option>
        <option name="refresh.display">progressbar</option>
        <option name="trellis.enabled">1</option>
        <option name="trellis.scales.shared">0</option>
        <option name="trellis.size">medium</option>
      </chart>
    </panel>
  </row>
  <row>
    <panel>
      <title>ZOS Buffer Pools (Persistent vs Non-Persistent)</title>
      <chart>
        <title>ZOS Buffer Pools (Persistent vs Non-Persistent)</title>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=PAGESET_USAGE |rename identifier.dataSource as qmgrName|rename attributes.BUFFER_POOL_ID as bufferPoolId| eval objName="(".qmgrName.") Buffer Pool ID : ".bufferPoolId|timechart span=1m max(attributes.PERSIST_PAGES) as "Perisitent Pages" max(attributes.NONPERSIST_PAGES) as "Non Persistent Pages" BY objName</query>
          <earliest>rt-1h</earliest>
          <latest>rt</latest>
          <sampleRatio>1</sampleRatio>
          <refresh>1m</refresh>
          <refreshType>delay</refreshType>
        </search>
        <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
        <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
        <option name="charting.axisTitleX.visibility">collapsed</option>
        <option name="charting.axisTitleY.visibility">collapsed</option>
        <option name="charting.axisTitleY2.visibility">collapsed</option>
        <option name="charting.axisX.abbreviation">none</option>
        <option name="charting.axisX.scale">linear</option>
        <option name="charting.axisY.abbreviation">none</option>
        <option name="charting.axisY.scale">linear</option>
        <option name="charting.axisY2.abbreviation">none</option>
        <option name="charting.axisY2.enabled">0</option>
        <option name="charting.axisY2.scale">inherit</option>
        <option name="charting.chart">area</option>
        <option name="charting.chart.bubbleMaximumSize">50</option>
        <option name="charting.chart.bubbleMinimumSize">10</option>
        <option name="charting.chart.bubbleSizeBy">area</option>
        <option name="charting.chart.nullValueMode">connect</option>
        <option name="charting.chart.showDataLabels">none</option>
        <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
        <option name="charting.chart.stackMode">default</option>
        <option name="charting.chart.style">shiny</option>
        <option name="charting.drilldown">all</option>
        <option name="charting.layout.splitSeries">0</option>
        <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
        <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
        <option name="charting.legend.mode">standard</option>
        <option name="charting.legend.placement">none</option>
        <option name="charting.lineWidth">2</option>
        <option name="refresh.display">progressbar</option>
        <option name="trellis.enabled">1</option>
        <option name="trellis.scales.shared">0</option>
        <option name="trellis.size">medium</option>
      </chart>
    </panel>
  </row>
</dashboard>

Queue Oldest Message Age Dashboard

Sample Splunk Query

index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=QUEUE_STATUS  attributes.MSGAGE!=-1 attributes.MSGAGE > 20|rename identifier.dataSource as qmgrName|rename attributes.QUEUE as queueName|rename attributes.MSGAGE as MsgAge| eval objName=qmgrName.":".queueName|timechart span=1m max(MsgAge) BY objName

Sample Dashboard

Sample Dashboard Source

<dashboard>
  <label>Queue Oldest Message Age</label>
  <row>
    <panel>
      <title>Oldest Message Age in Seconds</title>
      <chart>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=QUEUE_STATUS  attributes.MSGAGE!=-1 attributes.MSGAGE &gt; 20|rename identifier.dataSource as qmgrName|rename attributes.QUEUE as queueName|rename attributes.MSGAGE as MsgAge| eval objName=qmgrName.":".queueName|timechart span=1m max(MsgAge) BY objName</query>
          <earliest>rt-1h</earliest>
          <latest>rt</latest>
          <sampleRatio>1</sampleRatio>
        </search>
        <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
        <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
        <option name="charting.axisTitleX.visibility">collapsed</option>
        <option name="charting.axisTitleY.visibility">collapsed</option>
        <option name="charting.axisTitleY2.visibility">collapsed</option>
        <option name="charting.axisX.abbreviation">none</option>
        <option name="charting.axisX.scale">linear</option>
        <option name="charting.axisY.abbreviation">none</option>
        <option name="charting.axisY.scale">linear</option>
        <option name="charting.axisY2.abbreviation">none</option>
        <option name="charting.axisY2.enabled">0</option>
        <option name="charting.axisY2.scale">inherit</option>
        <option name="charting.chart">area</option>
        <option name="charting.chart.bubbleMaximumSize">50</option>
        <option name="charting.chart.bubbleMinimumSize">10</option>
        <option name="charting.chart.bubbleSizeBy">area</option>
        <option name="charting.chart.nullValueMode">connect</option>
        <option name="charting.chart.showDataLabels">none</option>
        <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
        <option name="charting.chart.stackMode">default</option>
        <option name="charting.chart.style">shiny</option>
        <option name="charting.drilldown">none</option>
        <option name="charting.layout.splitSeries">0</option>
        <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
        <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
        <option name="charting.legend.mode">standard</option>
        <option name="charting.legend.placement">none</option>
        <option name="charting.lineWidth">2</option>
        <option name="trellis.enabled">1</option>
        <option name="trellis.scales.shared">0</option>
        <option name="trellis.size">small</option>
      </chart>
    </panel>
  </row>
</dashboard>

Queue Consumer / Producer Dashboard

Sample Splunk Queries

index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=QUEUE_STATUS attributes.IPPROCS!=-1 |rename identifier.dataSource as qmgrName|rename attributes.QUEUE as queueName|rename attributes.IPPROCS as Consumers| eval objName="(".qmgrName.") ".queueName|chart max(Consumers) as Consumers BY objName

index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=QUEUE_STATUS attributes.OPPROCS!=-1 |rename identifier.dataSource as qmgrName|rename attributes.QUEUE as queueName|rename attributes.OPPROCS as Producers| eval objName="(".qmgrName.") ".queueName|chart max(Producers) as Producers BY objName

Sample Dashboard

Sample Dashboard Source

<dashboard>
  <label>Queue Consumer Counts</label>
  <row>
    <panel>
      <title>Queue Consumer Counts</title>
      <single>
        <title>Queue Consumer Counts (IPPROCS)</title>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=QUEUE_STATUS attributes.IPPROCS!=-1 |rename identifier.dataSource as qmgrName|rename attributes.QUEUE as queueName|rename attributes.IPPROCS as Consumers| eval objName="(".qmgrName.") ".queueName|chart max(Consumers) as Consumers BY objName</query>
          <earliest>rt-5m</earliest>
          <latest>rt</latest>
          <sampleRatio>1</sampleRatio>
          <refresh>2m</refresh>
          <refreshType>delay</refreshType>
        </search>
        <option name="colorBy">value</option>
        <option name="colorMode">block</option>
        <option name="drilldown">all</option>
        <option name="height">310</option>
        <option name="rangeColors">["0xd93f3c","0x65a637"]</option>
        <option name="rangeValues">[0]</option>
        <option name="refresh.display">progressbar</option>
        <option name="showSparkline">0</option>
        <option name="showTrendIndicator">0</option>
        <option name="trellis.enabled">1</option>
        <option name="trellis.scales.shared">0</option>
        <option name="trellis.size">small</option>
        <option name="trendColorInterpretation">standard</option>
        <option name="trendInterval">-1m</option>
        <option name="underLabel">Consumers</option>
        <option name="unitPosition">after</option>
        <option name="useColors">1</option>
      </single>
    </panel>
  </row>
  <row>
    <panel>
      <title>Queue Producer Counts</title>
      <single>
        <title>Queue Producer Counts (OPPROCS)</title>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=QUEUE_STATUS attributes.OPPROCS!=-1 |rename identifier.dataSource as qmgrName|rename attributes.QUEUE as queueName|rename attributes.OPPROCS as Producers| eval objName="(".qmgrName.") ".queueName|chart max(Producers) as Producers BY objName</query>
          <earliest>rt-5m</earliest>
          <latest>rt</latest>
          <sampleRatio>1</sampleRatio>
          <refresh>2m</refresh>
          <refreshType>delay</refreshType>
        </search>
        <option name="colorBy">value</option>
        <option name="colorMode">block</option>
        <option name="drilldown">all</option>
        <option name="height">334</option>
        <option name="rangeColors">["0xd93f3c","0x65a637"]</option>
        <option name="rangeValues">[0]</option>
        <option name="refresh.display">progressbar</option>
        <option name="showSparkline">0</option>
        <option name="showTrendIndicator">0</option>
        <option name="trellis.enabled">1</option>
        <option name="trellis.scales.shared">0</option>
        <option name="trellis.size">small</option>
        <option name="trendColorInterpretation">standard</option>
        <option name="trendInterval">-1m</option>
        <option name="underLabel">Consumers</option>
        <option name="unitPosition">after</option>
        <option name="useColors">1</option>
      </single>
    </panel>
  </row>
</dashboard>

Queue Current Queue Depth Dashboard (CURDEPTH)

Sample Splunk Query

index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=QUEUE_STATUS  attributes.CURDEPTH!=-1|rename identifier.dataSource as qmgrName|rename attributes.QUEUE as queueName|rename attributes.CURDEPTH as curDepth| eval label=qmgrName.":".queueName|chart useother=f max(curDepth) BY label limit=1000

Sample Dashboard

Sample Dashboard Source

<dashboard>
  <label>Current Queue Depth</label>
  <row>
    <panel>
      <title>Current Queue Depths</title>
      <single>
        <title>Current Queue Depth (CURDEPTH)</title>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=QUEUE_STATUS  attributes.CURDEPTH!=-1|rename identifier.dataSource as qmgrName|rename attributes.QUEUE as queueName|rename attributes.CURDEPTH as curDepth| eval label=qmgrName.":".queueName|chart useother=f max(curDepth) BY label limit=1000</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">none</option>
        <option name="numberPrecision">0</option>
        <option name="rangeColors">["0x65a637","0x6db7c6","0xf7bc38","0xf58f39","0xd93f3c"]</option>
        <option name="rangeValues">[20,30,100,200]</option>
        <option name="showSparkline">1</option>
        <option name="showTrendIndicator">1</option>
        <option name="trellis.enabled">1</option>
        <option name="trellis.scales.shared">0</option>
        <option name="trellis.size">small</option>
        <option name="trendColorInterpretation">standard</option>
        <option name="trendDisplayMode">absolute</option>
        <option name="underLabel">Current Depth</option>
        <option name="unitPosition">after</option>
        <option name="useColors">1</option>
        <option name="useThousandSeparators">1</option>
      </single>
    </panel>
  </row>
</dashboard>

Queue Message Volumes Trellis Dashboards (ZOS)

Sample Splunk Query (Get Messages)

index="lamaxu_stats"  sourcetype="qmresetqstats_json" "identifier.dataType"=RESETQSTATS "attributes.QUEUE"!="AMQ.*"|rename identifier.dataSource as qmgrName|rename attributes.QUEUE as queueName|rename attributes.getMsgs as getMsgs|eval label="(".qmgrName.") ".queueName|timechart useother=f span=1m max(getMsgs) by label limit=1000

Sample Splunk Query (Put Messages)

index="lamaxu_stats" sourcetype="qmresetqstats_json" "identifier.dataType"=RESETQSTATS "attributes.QUEUE"!="AMQ.*"|rename identifier.dataSource as qmgrName|rename attributes.QUEUE as queueName|rename attributes.putMsgs as putMsgs|eval label="(".qmgrName.") ".queueName|timechart useother=f span=1m  max(putMsgs) by label limit=1000

Sample Splunk Query (Max Queue Depth)

index="lamaxu_stats" sourcetype="qmresetqstats_json" "identifier.dataType"=RESETQSTATS "attributes.QUEUE"!="AMQ.*"|rename identifier.dataSource as qmgrName|rename attributes.QUEUE as queueName|rename attributes.maxQueueDepth as maxQueueDepth|eval label="(".qmgrName.") ".queueName|timechart useother=f span=1m  max(maxQueueDepth) by label limit=1000

Sample Dashboard Using Trellis

Sample Dashboard Source

<dashboard>
  <label>Message Volumes (ZOS)</label>
    <row>
    <panel>
      <title>Max Queue Depth (ZOS)</title>
      <chart>
        <title>Max Queue Depth (ZOS)</title>
        <search>
          <query>index="lamaxu_stats" sourcetype="qmresetqstats_json" "identifier.dataType"=RESETQSTATS "attributes.QUEUE"!="AMQ.*"|rename identifier.dataSource as qmgrName|rename attributes.QUEUE as queueName|rename attributes.maxQueueDepth as maxQueueDepth|eval label="(".qmgrName.") ".queueName|timechart useother=f span=1m  max(maxQueueDepth) by label limit=1000</query>
          <earliest>@d</earliest>
          <latest>now</latest>
          <sampleRatio>1</sampleRatio>
        </search>
        <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
        <option name="charting.data.count">100000</option>
        <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
        <option name="charting.axisTitleX.visibility">collapsed</option>
        <option name="charting.axisTitleY.visibility">collapsed</option>
        <option name="charting.axisTitleY2.visibility">collapsed</option>
        <option name="charting.axisX.abbreviation">none</option>
        <option name="charting.axisX.scale">linear</option>
        <option name="charting.axisY.abbreviation">none</option>
        <option name="charting.axisY.scale">linear</option>
        <option name="charting.axisY2.abbreviation">none</option>
        <option name="charting.axisY2.enabled">0</option>
        <option name="charting.axisY2.scale">inherit</option>
        <option name="charting.chart">line</option>
        <option name="charting.chart.bubbleMaximumSize">50</option>
        <option name="charting.chart.bubbleMinimumSize">10</option>
        <option name="charting.chart.bubbleSizeBy">area</option>
        <option name="charting.chart.nullValueMode">zero</option>
        <option name="charting.chart.showDataLabels">none</option>
        <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
        <option name="charting.chart.stackMode">default</option>
        <option name="charting.chart.style">shiny</option>
        <option name="charting.drilldown">none</option>
        <option name="charting.layout.splitSeries">0</option>
        <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
        <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
        <option name="charting.legend.mode">standard</option>
        <option name="charting.legend.placement">none</option>
        <option name="charting.lineWidth">2</option>
        <option name="refresh.display">progressbar</option>
        <option name="trellis.enabled">1</option>
        <option name="trellis.scales.shared">0</option>
        <option name="trellis.size">small</option>
      </chart>
    </panel>
  </row>
  <row>
    <panel>
      <title>Get Message Volumes</title>
      <chart>
        <title>Get Message Volumes (ZOS)</title>
        <search>
          <query>index="lamaxu_stats"  sourcetype="qmresetqstats_json" "identifier.dataType"=RESETQSTATS "attributes.QUEUE"!="AMQ.*"|rename identifier.dataSource as qmgrName|rename attributes.QUEUE as queueName|rename attributes.getMsgs as getMsgs|eval label="(".qmgrName.") ".queueName|timechart useother=f span=1m max(getMsgs) by label limit=1000</query>
          <earliest>@d</earliest>
          <latest>now</latest>
          <sampleRatio>1</sampleRatio>
        </search>
        <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
        <option name="charting.data.count">100000</option>
        <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
        <option name="charting.axisTitleX.visibility">collapsed</option>
        <option name="charting.axisTitleY.visibility">collapsed</option>
        <option name="charting.axisTitleY2.visibility">collapsed</option>
        <option name="charting.axisX.abbreviation">none</option>
        <option name="charting.axisX.scale">linear</option>
        <option name="charting.axisY.abbreviation">none</option>
        <option name="charting.axisY.scale">linear</option>
        <option name="charting.axisY2.abbreviation">none</option>
        <option name="charting.axisY2.enabled">0</option>
        <option name="charting.axisY2.scale">inherit</option>
        <option name="charting.chart">line</option>
        <option name="charting.chart.bubbleMaximumSize">50</option>
        <option name="charting.chart.bubbleMinimumSize">10</option>
        <option name="charting.chart.bubbleSizeBy">area</option>
        <option name="charting.chart.nullValueMode">zero</option>
        <option name="charting.chart.showDataLabels">none</option>
        <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
        <option name="charting.chart.stackMode">default</option>
        <option name="charting.chart.style">shiny</option>
        <option name="charting.drilldown">none</option>
        <option name="charting.layout.splitSeries">0</option>
        <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
        <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
        <option name="charting.legend.mode">standard</option>
        <option name="charting.legend.placement">none</option>
        <option name="charting.lineWidth">2</option>
        <option name="refresh.display">progressbar</option>
        <option name="trellis.enabled">1</option>
        <option name="trellis.scales.shared">0</option>
        <option name="trellis.size">small</option>
      </chart>
    </panel>
  </row>
  <row>
    <panel>
      <title>Put Message Voumes (ZOS)</title>
      <chart>
        <title>Put Message Voumes (ZOS)</title>
        <search>
          <query>index="lamaxu_stats" sourcetype="qmresetqstats_json" "identifier.dataType"=RESETQSTATS "attributes.QUEUE"!="AMQ.*"|rename identifier.dataSource as qmgrName|rename attributes.QUEUE as queueName|rename attributes.putMsgs as putMsgs|eval label="(".qmgrName.") ".queueName|timechart useother=f span=1m  max(putMsgs) by label limit=1000</query>
          <earliest>@d</earliest>
          <latest>now</latest>
          <sampleRatio>1</sampleRatio>
        </search>
        <option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option>
        <option name="charting.data.count">100000</option>
        <option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option>
        <option name="charting.axisTitleX.visibility">collapsed</option>
        <option name="charting.axisTitleY.visibility">collapsed</option>
        <option name="charting.axisTitleY2.visibility">collapsed</option>
        <option name="charting.axisX.abbreviation">none</option>
        <option name="charting.axisX.scale">linear</option>
        <option name="charting.axisY.abbreviation">none</option>
        <option name="charting.axisY.scale">linear</option>
        <option name="charting.axisY2.abbreviation">none</option>
        <option name="charting.axisY2.enabled">0</option>
        <option name="charting.axisY2.scale">inherit</option>
        <option name="charting.chart">line</option>
        <option name="charting.chart.bubbleMaximumSize">50</option>
        <option name="charting.chart.bubbleMinimumSize">10</option>
        <option name="charting.chart.bubbleSizeBy">area</option>
        <option name="charting.chart.nullValueMode">zero</option>
        <option name="charting.chart.showDataLabels">none</option>
        <option name="charting.chart.sliceCollapsingThreshold">0.01</option>
        <option name="charting.chart.stackMode">default</option>
        <option name="charting.chart.style">shiny</option>
        <option name="charting.drilldown">none</option>
        <option name="charting.layout.splitSeries">0</option>
        <option name="charting.layout.splitSeries.allowIndependentYRanges">0</option>
        <option name="charting.legend.labelStyle.overflowMode">ellipsisMiddle</option>
        <option name="charting.legend.mode">standard</option>
        <option name="charting.legend.placement">none</option>
        <option name="charting.lineWidth">2</option>
        <option name="refresh.display">progressbar</option>
        <option name="trellis.enabled">1</option>
        <option name="trellis.scales.shared">0</option>
        <option name="trellis.size">small</option>
      </chart>
    </panel>
  </row>
</dashboard>

 

 

Channel Connections (CONNS) Dashboard

Sample Splunk Query

index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=CHANNEL_STATUS "attributes.CHANNEL"!=SYSTEM.*|rename identifier.dataSource as qmgrName|rename attributes.CHANNEL as channelName|rename attributes.CONNS as connections |eval objName="(CONNS=".connections.") (".qmgrName.") ".channelName|chart useother=f max(connections) BY objName  limit=1000

Sample Dashboard

Sample Dashboard Source

<dashboard>
  <label>Channel Connection Count</label>
  <row>
    <panel>
      <title>Channel Connection Count</title>
      <single>
        <title>Channel Connection Count</title>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=CHANNEL_STATUS "attributes.CHANNEL"!=SYSTEM.*|rename identifier.dataSource as qmgrName|rename attributes.CHANNEL as channelName|rename attributes.CONNS as connections |eval objName="(CONNS=".connections.") (".qmgrName.") ".channelName|chart useother=f max(connections) BY objName  limit=1000</query>
          <earliest>rt-5m</earliest>
          <latest>rt</latest>
          <sampleRatio>1</sampleRatio>
        </search>
        <option name="colorMode">block</option>
        <option name="drilldown">all</option>
        <option name="height">581</option>
        <option name="rangeColors">["0xd93f3c","0x65a637"]</option>
        <option name="rangeValues">[0]</option>
        <option name="refresh.display">progressbar</option>
        <option name="trellis.enabled">1</option>
        <option name="trellis.scales.shared">0</option>
        <option name="trellis.size">small</option>
        <option name="underLabel">Connection Count</option>
        <option name="useColors">1</option>
      </single>
    </panel>
  </row>
</dashboard>

Qmgr Connections (CONNS) and Listeners Dashboard

Sample Splunk Queries

This dashboard will support both UNIX and ZOS queue manager metrics. ZOS information is obtained from the Channel Initiator.

Qmgr Connections

index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=QMGR_STATUS| rename attributes.PLATFORM_mqsc as platform|rename attributes.CONNS as conns|rename identifier.dataSource as qmgrName|eval label=qmgrName." - (".platform.")"|chart max(conns) as "Connections" by label

ListenerStatus

index="lamaxu" sourcetype="qmstatus_json"|rename identifier.dataSource as qmgrName| rename attributes.STATUS_mqsc as status|rename attributes.LISTENER as listener|eval lstatus = case(like(status,"RUNNING"), 1, like(status,"INACTIVE"), 1, like(status,"STOPPED"), 0, like(status,"RETRY"), 0)| eval label="(".lstatus.") ".status.", [".qmgrName."] : ".listener|chart max(lstatus) by label

Sample Dashboard

Sample Dashboard Source

<dashboard>
  <label>Qmgr Connection Count and Listener Status</label>
  <row>
    <panel>
      <title>Qmgr Connection Count</title>
      <single>
        <title>Qmgr Connection Count</title>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json" "identifier.dataType"=QMGR_STATUS| rename attributes.PLATFORM_mqsc as platform|rename attributes.CONNS as conns|rename identifier.dataSource as qmgrName|eval label=qmgrName." - (".platform.")"|chart max(conns) as "Connections" by label</query>
          <earliest>rt-1m</earliest>
          <latest>rt</latest>
          <sampleRatio>1</sampleRatio>
        </search>
        <option name="colorMode">block</option>
        <option name="drilldown">all</option>
        <option name="rangeColors">["0xd93f3c","0x65a637"]</option>
        <option name="rangeValues">[0]</option>
        <option name="refresh.display">progressbar</option>
        <option name="trellis.enabled">1</option>
        <option name="trellis.scales.shared">1</option>
        <option name="trellis.size">medium</option>
        <option name="underLabel">Connection Count</option>
        <option name="useColors">1</option>
      </single>
    </panel>
  </row>
  <row>
    <panel>
      <title>Listener Status</title>
      <single>
        <title>Listener Status</title>
        <search>
          <query>index="lamaxu" sourcetype="qmstatus_json"|rename identifier.dataSource as qmgrName| rename attributes.STATUS_mqsc as status|rename attributes.LISTENER as listener|eval lstatus = case(like(status,"RUNNING"), 1, like(status,"INACTIVE"), 1, like(status,"STOPPED"), 0, like(status,"RETRY"), 0)| eval label="(".lstatus.") ".status.", [".qmgrName."] : ".listener|chart max(lstatus) by label</query>
          <earliest>rt-5m</earliest>
          <latest>rt</latest>
          <sampleRatio>1</sampleRatio>
        </search>
        <option name="colorMode">block</option>
        <option name="drilldown">all</option>
        <option name="rangeColors">["0xd93f3c","0x65a637"]</option>
        <option name="rangeValues">[0]</option>
        <option name="refresh.display">progressbar</option>
        <option name="trellis.enabled">1</option>
        <option name="trellis.scales.shared">1</option>
        <option name="trellis.size">medium</option>
        <option name="underLabel">Listener Status</option>
        <option name="useColors">1</option>
      </single>
    </panel>
  </row>
</dashboard>