The Prometheus monitoring system and time series database.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

36 lines
2.4 KiB

{{ template "head" . }}
{{ template "prom_content_head" . }}
<h1>SNMP Device Overview - {{ .Params.instance }}</h1>
<table class="table table-condensed table-striped table-bordered" style="width: 0%">
<tr>
<th>Port</th>
<th>Status</th>
<th>Speed</th>
<th>In</th>
<th>Out</th>
<th>Discards</th>
<th>Errors</th>
</tr>
{{ range query (printf "ifOperStatus{job='snmp',instance='%s'}" .Params.instance) | sortByLabel "ifDescr" }}
<tr>
<td class="text-right">{{ .Labels.ifDescr }}</a></td>
<td class="text-right {{ if eq (. | value) 1.0 }}success">up
{{ else if eq (. | value) 2.0}}">down
{{ else if eq (. | value) 3.0}}">testing
{{ else if eq (. | value) 4.0}}">unknown
{{ else if eq (. | value) 5.0}}">dormant
{{ else if eq (. | value) 6.0}}">notPresent
{{ else if eq (. | value) 7.0}}">lowerLayerDown
{{else}}">{{ end }}</td>
<td class="text-right">{{ template "prom_query_drilldown" (args (printf "ifHighSpeed{job='snmp',instance='%s',ifDescr='%s'} * 1e6 or ifSpeed{job='snmp',instance='%s',ifDescr='%s'}" .Labels.instance .Labels.ifDescr .Labels.instance .Labels.ifDescr) "b/s" "humanize")}}</td>
<td class="text-right">{{ template "prom_query_drilldown" (args (printf "irate(ifHCInOctets{job='snmp',instance='%s',ifDescr='%s'}[5m]) * 8 or irate(ifInOctets{job='snmp',instance='%s',ifDescr='%s'}[5m]) * 8" .Labels.instance .Labels.ifDescr .Labels.instance .Labels.ifDescr) "b/s" "humanize")}}</td>
<td class="text-right">{{ template "prom_query_drilldown" (args (printf "irate(ifHCOutOctets{job='snmp',instance='%s',ifDescr='%s'}[5m]) * 8 or irate(ifOutOctets{job='snmp',instance='%s',ifDescr='%s'}[5m]) * 8" .Labels.instance .Labels.ifDescr .Labels.instance .Labels.ifDescr) "b/s" "humanize")}}</td>
<td class="text-right">{{ template "prom_query_drilldown" (args (printf "irate(ifInDiscards{job='snmp',instance='%s',ifDescr='%s'}[5m]) + irate(ifOutDiscards{job='snmp',instance='%s',ifDescr='%s'}[5m]) * 8" .Labels.instance .Labels.ifDescr .Labels.instance .Labels.ifDescr) "/s" "humanizeNoSmallPrefix")}}</td>
<td class="text-right">{{ template "prom_query_drilldown" (args (printf "irate(ifInErrors{job='snmp',instance='%s',ifDescr='%s'}[5m]) + irate(ifOutErrors{job='snmp',instance='%s',ifDescr='%s'}[5m]) * 8" .Labels.instance .Labels.ifDescr .Labels.instance .Labels.ifDescr) "/s" "humanizeNoSmallPrefix")}}</td>
</tr>
{{ end }}
{{ template "prom_content_tail" . }}
{{ template "tail" }}