PagerDuty Splunk Dashboard
<dashboard> | |
<label>Operational Dashboard</label> | |
<row> | |
<panel> | |
<chart> | |
<title>Total callouts last 30 days</title> | |
<search> | |
<query>index="pagerduty" AND ("channel.notification.type" = *_push_notification OR "channel.notification.type" = SMS OR "channel.notification.type" = Phone) | | |
timechart count by "user.summary"</query> | |
<earliest>-30d@d</earliest> | |
<latest>now</latest> | |
</search> | |
<option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option> | |
<option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option> | |
<option name="charting.axisTitleX.visibility">visible</option> | |
<option name="charting.axisTitleY.visibility">visible</option> | |
<option name="charting.axisTitleY2.visibility">visible</option> | |
<option name="charting.axisX.scale">linear</option> | |
<option name="charting.axisY.scale">log</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">gaps</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.placement">right</option> | |
</chart> | |
</panel> | |
<panel> | |
<chart> | |
<title>Unsociable Hours Callouts</title> | |
<search> | |
<query>index="pagerduty" AND ("channel.notification.type" = *_push_notification OR "channel.notification.type" = SMS OR "channel.notification.type" = Phone) | eval hour = tonumber(strftime(_time,"%H")) | where hour<8 OR hour>=18 |timechart count by "user.summary"</query> | |
<earliest>-30d@d</earliest> | |
<latest>now</latest> | |
</search> | |
<option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option> | |
<option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option> | |
<option name="charting.axisTitleX.visibility">visible</option> | |
<option name="charting.axisTitleY.visibility">visible</option> | |
<option name="charting.axisTitleY2.visibility">visible</option> | |
<option name="charting.axisX.scale">linear</option> | |
<option name="charting.axisY.scale">log</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">gaps</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.placement">right</option> | |
</chart> | |
</panel> | |
<panel> | |
<chart> | |
<title>Average PagerDuty Resolution Time (last 3 months)</title> | |
<search> | |
<query>index="pagerduty" | spath "incident.id" | transaction "incident.id" mvraw=true | mvexpand _raw | search "channel.notification.type" = *_push_notification OR "channel.notification.type" = SMS OR "channel.notification.type" = Phone | stats avg(duration) as avgDuration | eval "Duration in minutes"=round(avgDuration/60) | fields "Duration in minutes"</query> | |
<earliest>-90d@d</earliest> | |
<latest>now</latest> | |
</search> | |
<option name="charting.axisLabelsX.majorLabelStyle.overflowMode">ellipsisNone</option> | |
<option name="charting.axisLabelsX.majorLabelStyle.rotation">0</option> | |
<option name="charting.axisTitleX.visibility">visible</option> | |
<option name="charting.axisTitleY.visibility">visible</option> | |
<option name="charting.axisTitleY2.visibility">visible</option> | |
<option name="charting.axisX.scale">linear</option> | |
<option name="charting.axisY.scale">linear</option> | |
<option name="charting.axisY2.enabled">0</option> | |
<option name="charting.axisY2.scale">inherit</option> | |
<option name="charting.chart">radialGauge</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">gaps</option> | |
<option name="charting.chart.rangeValues">[0,30,100]</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">minimal</option> | |
<option name="charting.drilldown">all</option> | |
<option name="charting.gaugeColors">["0x84E900","0xBF3030"]</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.placement">right</option> | |
</chart> | |
</panel> | |
</row> | |
</dashboard> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment