{{ 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" }}