Learn How We Can Help You Keep Teleworkers Protected During the COVID-19 Crisis

Reporting

Reply
Highlighted

Metrics Dashboard

[ Edited ]
Adviser
Posts: 138
572     2

In the interest of collecting Grid DNS/DHCP/IPAM performance and capacity metrics, I am sharing a dashboard I created that pulls together a number of data points into a single dashboard view. Some of these require certain functions such as Network Insight and of course they do require the associated reporting indexing to be enabled. There are also 30 day reports that have a dependency on Reporting functions only available in NIOS 8.5 or newer.

 

The Dashboard includes:

 

Total number of DNS Zones

 

Total DHCP Leases per Month

 

Total DNS Queries per Month

 

Total Number of Active IP Addresses (requires Network Insight)

 

Total Number of Networks (requires Network Insight)

 

Reporting Disk Utilization

 

Device Type Counts (End Hosts, Network Devices) (requires Network Insight)

 

Total Allocated IP Addresses

 

DHCP Usage for 30 Days  (requires 8.5+)

 

DNS QPS Usage for 30 Days (requires 8.5+)

 

 

To load this dashboard, create a new Reporting Dashboard in your Reporting and copy/paste the below into the XML source:

 

 

<dashboard>
<label>Metrics Collection</label>
<row>
<panel>
<table>
<title>Total DNS Zones</title>
<search>
<query>sourcetype=ib:dns:view index=ib_ipam | eval TotalZones=zones_forward+zones_ipv4+zones_ipv6 | stats sum(TotalZones) as TotalZones</query>
<earliest>-24h@h</earliest>
<latest>now</latest>
</search>
<option name="drilldown">none</option>
</table>
</panel>
</row>
<row>
<panel>
<table>
<title>DHCP Leases per Month</title>
<search>
<query>sourcetype=ib:dhcp:lease_history index=ib_dhcp_lease_history earliest=-30d dhcpd OR dhcpdv6 r-l-e | rename ACTION as "Action" | stats count(eval(Action="Issued")) AS ISSUED, count(eval(Action="Reserved")) AS RESERVED, count(eval(Action="Abandoned")) AS ABANDONED, count(eval(Action="Freed")) AS Freed, count(eval(Action="Renewed")) AS RENEWED, count(eval(Action="Fixed")) AS FIXED</query>
<earliest>-24h@h</earliest>
<latest>now</latest>
</search>
<option name="drilldown">none</option>
</table>
</panel>
</row>
<row>
<panel>
<table>
<title>DNS Queries per Month</title>
<search>
<query>index=ib_dns sourcetype=ib:dns:query:by_member | bucket span=1mon _time |stats sum(QCOUNT) as QCOUNT by _time</query>
<earliest>-24h@h</earliest>
<latest>now</latest>
</search>
<option name="drilldown">none</option>
</table>
</panel>
</row>
<row>
<panel>
<table>
<title>Total Number of IP Addresses</title>
<search>
<query>source=ib:ipam:ip_address_inventory index=ib_ipam | sort 0 -_time, +ip(ip_address)
| fillnull value=""
| dedup network_view ip_address | stats count(ip_address) as IPADDRCOUNT</query>
<earliest>-24h@h</earliest>
<latest>now</latest>
</search>
<option name="drilldown">none</option>
</table>
</panel>
</row>
<row>
<panel>
<table>
<title>Total Number of Networks</title>
<search>
<query>sourcetype=ib:ipam:network index=ib_ipam | sort 0 -_time, +ip(address) |
fillnull value=""
| dedup view address cidr | stats count(address) as NETWORKCOUNT</query>
<earliest>-24h@h</earliest>
<latest>now</latest>
</search>
<option name="drilldown">none</option>
</table>
</panel>
</row>
<row>
<panel>
<table>
<title>Reporting Disk Utilization</title>
<search>
<query>| rest /services/server/status/partitions-space | eval free = if(isnotnull(available), available, free) | eval usage = capacity - free | eval pct_usage = floor(usage / capacity * 100) | stats first(fs_type) as fs_type first(capacity) as capacity first(usage) as usage first(pct_usage) as pct_usage by mount_point | eval usage=round(usage / 1024, 2) | eval capacity=round(capacity / 1024, 2) | rename mount_point as "Mount Point", fs_type as "File System Type", usage as "Usage (GB)", capacity as "Capacity (GB)", pct_usage as "Usage (%)"</query>
<earliest>-24h@h</earliest>
<latest>now</latest>
</search>
<option name="drilldown">none</option>
</table>
</panel>
</row>
<row>
<panel>
<title>Device Type Count</title>
<table>
<search>
<query>source=ib:discovery:device_inventory index=ib_discovery











| dedup ip_address
| eval last_seen=strftime(last_seen,"%Y-%m-%d %H:%M:%S")
| eval first_seen=strftime(first_seen,"%Y-%m-%d %H:%M:%S")
| stats count by device_type</query>
<earliest>0</earliest>
<sampleRatio>1</sampleRatio>
</search>
<option name="count">20</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>
</table>
</panel>
</row>
<row>
<panel>
<title>Total Allocated IP Addresses</title>
<table>
<search>
<query>index=ib_ipam sourcetype=ib:ipam:network
| bin _time span=1d
| eval mydate=strftime(_time, "%Y%m%d")
| eval dedup_key=view."/".address."/".cidr
| dedup mydate, dedup_key
| timechart span=1d sum(address_alloc) as value
| fillnull value=0</query>
<earliest>-1d</earliest>
<latest>now</latest>
<sampleRatio>1</sampleRatio>
</search>
<option name="count">20</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>
</table>
</panel>
</row>
<row>
<panel>
<title>DHCP Usage 30 Days</title>
<chart>
<search>
<query>index=ib_usage_count report=si_usage_count_member_dhcp_lps_trend_per_5days
| stats max(LCOUNT) as stats_COUNT by _time
| sort _time
| streamstats window=5 avg(stats_COUNT) as Peak_LPM
| eval Date=strftime(_time, "%a %b %e"),"5-Day Average Peak LPS"=round((Peak_LPM/60),3)
| table Date, "5-Day Average Peak LPS"</query>
<earliest>-30d@d</earliest>
<latest>now</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">visible</option>
<option name="charting.axisTitleY.visibility">visible</option>
<option name="charting.axisTitleY2.visibility">visible</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">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">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">right</option>
<option name="charting.lineWidth">2</option>
<option name="trellis.enabled">0</option>
<option name="trellis.scales.shared">1</option>
<option name="trellis.size">medium</option>
</chart>
</panel>
</row>
<row>
<panel>
<title>DNS QPS Usage 30 Days</title>
<chart>
<search>
<query>index=ib_usage_count report=si_usage_count_member_qps_trend_per_5days
| stats max(QCOUNT) as stats_COUNT by _time |eval stats_COUNT = stats_COUNT/1000
| sort _time
| streamstats window=5 avg(stats_COUNT) as Peak_QPM
| eval Date=strftime(_time, "%a %b %e"),"5-Day Average Peak kQPS"=round((Peak_QPM/60),3)
| table Date, "5-Day Average Peak kQPS"</query>
<earliest>-30d@d</earliest>
<latest>now</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">visible</option>
<option name="charting.axisTitleY.visibility">visible</option>
<option name="charting.axisTitleY2.visibility">visible</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">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">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">right</option>
<option name="charting.lineWidth">2</option>
<option name="trellis.enabled">0</option>
<option name="trellis.scales.shared">1</option>
<option name="trellis.size">medium</option>
</chart>
</panel>
</row>
</dashboard>

 

Check out our new Tech docs website at http://docs.infobox.com for latest documentation on Infoblox products
Highlighted

Re: Metrics Dashboard

Adviser
Posts: 138
573     2

I cleaned up the DHCP Leases per Month panel to streamline the evaluations and provide the end results in a more concise format. Thank you Marco!

Check out our new Tech docs website at http://docs.infobox.com for latest documentation on Infoblox products
Highlighted

Re: Metrics Dashboard

Anonymous
Not applicable
Posts: 44
573     2

I find it really interesting, thanks for sharing

Highlighted

Re: Metrics Dashboard

Techie
Posts: 5
573     2

Hi, 

 

I tried to create the dashboard but it's stuck on saving for eternity.

Can you suggest what to do?

 

TIA

Showing results for 
Search instead for 
Do you mean 

Recommended for You