def render_homedashboard(staff): return { "annotations": { "list": [ { "builtIn": 1, "datasource": "-- Grafana --", "enable": True, "hide": True, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "type": "dashboard", } ] }, "editable": True, "gnetId": None, "graphTooltip": 0, "id": 49, "uid": "home", "iteration": 1595947519970, "links": _render_links(staff), "panels": _render_panels(staff), "schemaVersion": 26, "style": "dark", "tags": [], "templating": { "list": ( [ { "allValue": None, "datasource": "PollerInfluxDB", "definition": "SHOW TAG VALUES WITH KEY=hostname", "hide": 0, "includeAll": False, "label": "Router:", "multi": False, "name": "hostname", "options": [], "query": "SHOW TAG VALUES WITH KEY=hostname", "refresh": 1, "regex": "", "skipUrlSync": False, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": False, }, { "allValue": None, "datasource": "PollerInfluxDB", "definition": "SHOW TAG VALUES WITH KEY IN (interface_name) WHERE hostname =~ /$hostname/ ", "hide": 0, "includeAll": False, "label": "Interface :", "multi": False, "name": "interface_name", "options": [], "query": "SHOW TAG VALUES WITH KEY IN (interface_name) WHERE hostname =~ /$hostname/ ", "refresh": 1, "regex": "", "skipUrlSync": False, "sort": 0, "tagValuesQuery": "", "tags": [], "tagsQuery": "", "type": "query", "useTags": False, }, ] if staff else [] ) }, "time": {"from": "now-6h", "to": "now"}, "timepicker": { "refresh_intervals": [ "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d", ] }, "timezone": "", "title": "Home", "version": 1, } def _render_links(staff): result = [ { "asDropdown": True, "icon": "external link", "tags": ["services"], "targetBlank": True, "title": "Services", "type": "dashboards", }, { "asDropdown": True, "icon": "external link", "tags": ["infrastructure"], "targetBlank": True, "title": "Infrastructure", "type": "dashboards", }, { "asDropdown": True, "icon": "external link", "tags": ["customers"], "targetBlank": True, "title": "NREN Access", "type": "dashboards", }, ] if staff: result.append( { "asDropdown": True, "icon": "external link", "tags": ["customerslegacy"], "targetBlank": True, "title": "NREN Access LEGACY", "type": "dashboards", } ) result.append( { "asDropdown": True, "icon": "external link", "tags": ["peers"], "targetBlank": True, "title": "Peers", "type": "dashboards", } ) return result def _render_panels(staff): if staff: return [ { "aliasColors": {}, "bars": False, "dashLength": 10, "dashes": False, "datasource": "PollerInfluxDB", "fieldConfig": {"defaults": {"custom": {}}, "overrides": []}, "fill": 1, "fillGradient": 3, "gridPos": {"h": 14, "w": 12, "x": 0, "y": 0}, "hiddenSeries": False, "id": 2, "legend": { "alignAsTable": True, "avg": True, "current": True, "max": True, "min": False, "rightSide": False, "show": True, "total": False, "values": True, }, "lines": True, "linewidth": 1, "nullPointMode": "null", "percentage": False, "pluginVersion": "7.1.1", "pointradius": 2, "points": False, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": False, "steppedLine": False, "targets": [ { "alias": "Ingress Traffic", "groupBy": [ {"params": ["5m"], "type": "time"}, {"params": ["linear"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "time_series", "select": [ [ {"params": ["ingress"], "type": "field"}, {"params": [], "type": "mean"}, {"params": ["*8"], "type": "math"}, ] ], "tags": [ { "key": "hostname", "operator": "=~", "value": "/^$hostname$/", }, { "condition": "AND", "key": "interface_name", "operator": "=", "value": "$interface_name", }, ], }, { "alias": "Egress Traffic", "groupBy": [ {"params": ["5m"], "type": "time"}, {"params": ["linear"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "B", "resultFormat": "time_series", "select": [ [ {"params": ["egress"], "type": "field"}, {"params": [], "type": "mean"}, {"params": ["*8"], "type": "math"}, ] ], "tags": [ { "key": "hostname", "operator": "=~", "value": "/^$hostname$/", }, { "condition": "AND", "key": "interface_name", "operator": "=", "value": "$interface_name", }, ], }, { "alias": "Ingress 95th Percentile", "groupBy": [], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "C", "resultFormat": "time_series", "select": [ [ {"params": ["ingress"], "type": "field"}, {"params": [95], "type": "percentile"}, {"params": ["*8"], "type": "math"}, ] ], "tags": [ { "condition": None, "key": "hostname", "operator": "=~", "value": "/^$hostname$/", }, { "condition": "AND", "key": "interface_name", "operator": "=", "value": "$interface_name", }, ], }, { "alias": "Egress 95th Percentile", "groupBy": [], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "D", "resultFormat": "time_series", "select": [ [ {"params": ["egress"], "type": "field"}, {"params": [95], "type": "percentile"}, {"params": ["*8"], "type": "math"}, ] ], "tags": [ { "condition": None, "key": "hostname", "operator": "=~", "value": "/^$hostname$/", }, { "condition": "AND", "key": "interface_name", "operator": "=", "value": "$interface_name", }, ], }, ], "thresholds": [], "timeFrom": None, "timeRegions": [], "timeShift": None, "title": "$hostname - $interface_name - Traffic", "tooltip": {"shared": True, "sort": 0, "value_type": "individual"}, "type": "graph", "xaxis": { "buckets": None, "mode": "time", "name": None, "show": True, "values": [], }, "yaxes": [ { "format": "bps", "label": "bits per second", "logBase": 1, "max": None, "min": None, "show": True, }, { "format": "bps", "label": "bits per second", "logBase": 1, "max": None, "min": None, "show": True, }, ], "yaxis": {"align": False, "alignLevel": None}, }, { "aliasColors": {}, "bars": False, "dashLength": 10, "dashes": False, "datasource": "PollerInfluxDB", "fieldConfig": {"defaults": {"custom": {}}, "overrides": []}, "fill": 1, "fillGradient": 3, "gridPos": {"h": 14, "w": 12, "x": 12, "y": 0}, "hiddenSeries": False, "id": 3, "legend": { "alignAsTable": True, "avg": True, "current": True, "max": True, "min": False, "rightSide": False, "show": True, "total": False, "values": True, }, "lines": True, "linewidth": 1, "nullPointMode": "null", "percentage": False, "pluginVersion": "7.1.1", "pointradius": 2, "points": False, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": False, "steppedLine": False, "targets": [ { "alias": "Inbound", "groupBy": [ {"params": ["5m"], "type": "time"}, {"params": ["linear"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "time_series", "select": [ [ {"params": ["ingressv6"], "type": "field"}, {"params": [], "type": "mean"}, {"params": ["*8"], "type": "math"}, ] ], "tags": [ { "key": "hostname", "operator": "=~", "value": "/^$hostname$/", }, { "condition": "AND", "key": "interface_name", "operator": "=", "value": "$interface_name", }, ], }, { "alias": "Outbound", "groupBy": [ {"params": ["5m"], "type": "time"}, {"params": ["linear"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "B", "resultFormat": "time_series", "select": [ [ {"params": ["egressv6"], "type": "field"}, {"params": [], "type": "mean"}, {"params": ["*8"], "type": "math"}, ] ], "tags": [ { "key": "hostname", "operator": "=~", "value": "/^$hostname$/", }, { "condition": "AND", "key": "interface_name", "operator": "=", "value": "$interface_name", }, ], }, { "alias": "Ingress 95th Percentile", "groupBy": [], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "C", "resultFormat": "time_series", "select": [ [ {"params": ["ingressv6"], "type": "field"}, {"params": [95], "type": "percentile"}, {"params": ["*8"], "type": "math"}, ] ], "tags": [ { "condition": None, "key": "hostname", "operator": "=~", "value": "/^$hostname$/", }, { "condition": "AND", "key": "interface_name", "operator": "=", "value": "$interface_name", }, ], }, { "alias": "Egress 95th Percentile", "groupBy": [], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "D", "resultFormat": "time_series", "select": [ [ {"params": ["egressv6"], "type": "field"}, {"params": [95], "type": "percentile"}, {"params": ["*8"], "type": "math"}, ] ], "tags": [ { "condition": None, "key": "hostname", "operator": "=~", "value": "/^$hostname$/", }, { "condition": "AND", "key": "interface_name", "operator": "=", "value": "$interface_name", }, ], }, ], "thresholds": [], "timeFrom": None, "timeRegions": [], "timeShift": None, "title": "$hostname - $interface_name - IPv6 Traffic", "tooltip": {"shared": True, "sort": 0, "value_type": "individual"}, "type": "graph", "xaxis": { "buckets": None, "mode": "time", "name": None, "show": True, "values": [], }, "yaxes": [ { "format": "bps", "label": "bits per second", "logBase": 1, "max": None, "min": None, "show": True, }, { "format": "bps", "label": "bits per second", "logBase": 1, "max": None, "min": None, "show": True, }, ], "yaxis": {"align": False, "alignLevel": None}, }, { "aliasColors": {}, "bars": False, "dashLength": 10, "dashes": False, "datasource": "PollerInfluxDB", "decimals": 2, "fill": 1, "fillGradient": 10, "gridPos": {"h": 14, "w": 12, "x": 0, "y": 14}, "hiddenSeries": False, "id": 4, "legend": { "alignAsTable": True, "avg": True, "current": True, "max": True, "min": False, "rightSide": False, "show": True, "total": False, "values": True, }, "lines": True, "linewidth": 1, "nullPointMode": "null", "options": {"alertThreshold": True}, "percentage": False, "pluginVersion": "8.2.5", "pointradius": 2, "points": False, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": False, "steppedLine": False, "targets": [ { "alias": "Ingress Errors", "groupBy": [ {"params": ["5m"], "type": "time"}, {"params": ["linear"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "A", "resultFormat": "time_series", "select": [ [ {"params": ["errorsIn"], "type": "field"}, {"params": [], "type": "mean"}, ] ], "tags": [ { "key": "hostname", "operator": "=~", "value": "/^$hostname$/", }, { "condition": "AND", "key": "interface_name", "operator": "=", "value": "$interface_name", }, ], }, { "alias": "Egress Errors", "groupBy": [ {"params": ["5m"], "type": "time"}, {"params": ["linear"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "B", "resultFormat": "time_series", "select": [ [ {"params": ["errorsOut"], "type": "field"}, {"params": [], "type": "mean"}, ] ], "tags": [ { "key": "hostname", "operator": "=~", "value": "/^$hostname$/", }, { "condition": "AND", "key": "interface_name", "operator": "=", "value": "$interface_name", }, ], }, { "alias": "Ingress Discards", "groupBy": [ {"params": ["5m"], "type": "time"}, {"params": ["linear"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "C", "resultFormat": "time_series", "select": [ [ {"params": ["discardsIn"], "type": "field"}, {"params": [], "type": "mean"}, ] ], "tags": [ { "condition": None, "key": "hostname", "operator": "=~", "value": "/^$hostname$/", }, { "condition": "AND", "key": "interface_name", "operator": "=", "value": "$interface_name", }, ], }, { "alias": "Egress Discards", "groupBy": [ {"params": ["5m"], "type": "time"}, {"params": ["linear"], "type": "fill"}, ], "hide": False, "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "D", "resultFormat": "time_series", "select": [ [ {"params": ["discardsOut"], "type": "field"}, {"params": [], "type": "mean"}, ] ], "tags": [ { "condition": None, "key": "hostname", "operator": "=~", "value": "/^$hostname$/", }, { "condition": "AND", "key": "interface_name", "operator": "=", "value": "$interface_name", }, ], }, ], "thresholds": [], "timeFrom": None, "timeRegions": [], "timeShift": None, "title": "$hostname - $interface_name - errors", "tooltip": {"shared": True, "sort": 0, "value_type": "individual"}, "type": "graph", "xaxis": { "buckets": None, "mode": "time", "name": None, "show": True, "values": [], }, "yaxes": [ { "$$hashKey": "object:45", "format": "none", "label": "errors and discards per second", "logBase": 1, "max": None, "min": "0", "show": True, }, { "$$hashKey": "object:46", "format": "none", "label": "errors and discards per second", "logBase": 1, "max": None, "min": "0", "show": True, }, ], "yaxis": {"align": False, "alignLevel": None}, }, ] return [ { "aliasColors": {}, "bars": False, "dashLength": 10, "dashes": False, "datasource": None, "fieldConfig": {"defaults": {"custom": {}}, "overrides": []}, "fill": 1, "fillGradient": 0, "gridPos": {"h": 8, "w": 12, "x": 0, "y": 0}, "hiddenSeries": False, "id": 6, "legend": { "avg": False, "current": False, "max": False, "min": False, "show": True, "total": False, "values": False, }, "lines": True, "linewidth": 1, "nullPointMode": "null", "options": {"alertThreshold": True}, "percentage": False, "pluginVersion": "7.2.1", "pointradius": 2, "points": False, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": True, "steppedLine": False, "targets": [ { "alias": "Private", "groupBy": [ {"params": ["15m"], "type": "time"}, {"params": ["linear"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "B", "resultFormat": "time_series", "select": [ [ {"params": ["ingress"], "type": "field"}, {"params": [], "type": "mean"}, {"params": ["*8"], "type": "math"}, ] ], "tags": [ { "key": "interface_name", "operator": "=", "value": "PHY_PRIVATE", } ], }, { "alias": "R&E Interconnect", "groupBy": [ {"params": ["15m"], "type": "time"}, {"params": ["null"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "C", "resultFormat": "time_series", "select": [ [ {"params": ["ingress"], "type": "field"}, {"params": [], "type": "mean"}, {"params": ["* 8"], "type": "math"}, ] ], "tags": [ { "key": "interface_name", "operator": "=", "value": "PHY_RE_INTERCONNECT", } ], }, { "alias": "Public", "groupBy": [ {"params": ["15m"], "type": "time"}, {"params": ["null"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "D", "resultFormat": "time_series", "select": [ [ {"params": ["ingress"], "type": "field"}, {"params": [], "type": "mean"}, {"params": ["* 8"], "type": "math"}, ] ], "tags": [ { "key": "interface_name", "operator": "=", "value": "PHY_PUBLIC", } ], }, { "alias": "Upstream", "groupBy": [ {"params": ["15m"], "type": "time"}, {"params": ["null"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "E", "resultFormat": "time_series", "select": [ [ {"params": ["ingress"], "type": "field"}, {"params": [], "type": "mean"}, {"params": ["* 8"], "type": "math"}, ] ], "tags": [ { "key": "interface_name", "operator": "=", "value": "PHY_UPSTREAM", } ], }, { "alias": "Customer", "groupBy": [ {"params": ["15m"], "type": "time"}, {"params": ["linear"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "query": ( 'SELECT mean("ingress") *8 FROM "interface_rates" WHERE ("interface_name" =' " 'PHY_CUSTOMER') AND $timeFilter GROUP BY time($__interval) fill(linear)" ), "rawQuery": False, "refId": "A", "resultFormat": "time_series", "select": [ [ {"params": ["ingress"], "type": "field"}, {"params": [], "type": "mean"}, {"params": ["*8"], "type": "math"}, ] ], "tags": [ { "key": "interface_name", "operator": "=", "value": "PHY_CUSTOMER", } ], }, ], "thresholds": [], "timeFrom": None, "timeRegions": [], "timeShift": None, "title": "Network Aggregate (Ingress)", "tooltip": {"shared": True, "sort": 0, "value_type": "individual"}, "type": "graph", "xaxis": { "buckets": None, "mode": "time", "name": None, "show": True, "values": [], }, "yaxes": [ { "format": "bps", "label": None, "logBase": 1, "max": None, "min": None, "show": True, }, { "format": "short", "label": None, "logBase": 1, "max": None, "min": None, "show": True, }, ], "yaxis": {"align": False, "alignLevel": None}, }, { "aliasColors": {}, "bars": False, "dashLength": 10, "dashes": False, "datasource": None, "fieldConfig": {"defaults": {"custom": {}}, "overrides": []}, "fill": 1, "fillGradient": 0, "gridPos": {"h": 8, "w": 12, "x": 12, "y": 0}, "hiddenSeries": False, "id": 7, "legend": { "avg": False, "current": False, "max": False, "min": False, "show": True, "total": False, "values": False, }, "lines": True, "linewidth": 1, "nullPointMode": "null", "options": {"alertThreshold": True}, "percentage": False, "pluginVersion": "7.2.1", "pointradius": 2, "points": False, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": True, "steppedLine": False, "targets": [ { "alias": "Private", "groupBy": [ {"params": ["15m"], "type": "time"}, {"params": ["linear"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "B", "resultFormat": "time_series", "select": [ [ {"params": ["egress"], "type": "field"}, {"params": [], "type": "mean"}, {"params": ["*8"], "type": "math"}, ] ], "tags": [ { "key": "interface_name", "operator": "=", "value": "PHY_PRIVATE", } ], }, { "alias": "R&E Interconnect", "groupBy": [ {"params": ["15m"], "type": "time"}, {"params": ["null"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "C", "resultFormat": "time_series", "select": [ [ {"params": ["egress"], "type": "field"}, {"params": [], "type": "mean"}, {"params": ["* 8"], "type": "math"}, ] ], "tags": [ { "key": "interface_name", "operator": "=", "value": "PHY_RE_INTERCONNECT", } ], }, { "alias": "Public", "groupBy": [ {"params": ["15m"], "type": "time"}, {"params": ["null"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "D", "resultFormat": "time_series", "select": [ [ {"params": ["egress"], "type": "field"}, {"params": [], "type": "mean"}, {"params": ["* 8"], "type": "math"}, ] ], "tags": [ { "key": "interface_name", "operator": "=", "value": "PHY_PUBLIC", } ], }, { "alias": "Upstream", "groupBy": [ {"params": ["15m"], "type": "time"}, {"params": ["null"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "refId": "E", "resultFormat": "time_series", "select": [ [ {"params": ["egress"], "type": "field"}, {"params": [], "type": "mean"}, {"params": ["* 8"], "type": "math"}, ] ], "tags": [ { "key": "interface_name", "operator": "=", "value": "PHY_UPSTREAM", } ], }, { "alias": "Customer", "groupBy": [ {"params": ["15m"], "type": "time"}, {"params": ["linear"], "type": "fill"}, ], "measurement": "interface_rates", "orderByTime": "ASC", "policy": "default", "query": ( 'SELECT mean("ingress") *8 FROM "interface_rates" WHERE ("interface_name" =' " 'PHY_CUSTOMER') AND $timeFilter GROUP BY time($__interval) fill(linear)" ), "rawQuery": False, "refId": "A", "resultFormat": "time_series", "select": [ [ {"params": ["egress"], "type": "field"}, {"params": [], "type": "mean"}, {"params": ["*8"], "type": "math"}, ] ], "tags": [ { "key": "interface_name", "operator": "=", "value": "PHY_CUSTOMER", } ], }, ], "thresholds": [], "timeFrom": None, "timeRegions": [], "timeShift": None, "title": "Network Aggregate (Egress)", "tooltip": {"shared": True, "sort": 0, "value_type": "individual"}, "type": "graph", "xaxis": { "buckets": None, "mode": "time", "name": None, "show": True, "values": [], }, "yaxes": [ { "format": "bps", "label": None, "logBase": 1, "max": None, "min": None, "show": True, }, { "format": "short", "label": None, "logBase": 1, "max": None, "min": None, "show": True, }, ], "yaxis": {"align": False, "alignLevel": None}, }, ]