{ "annotations": { "list": [ { "builtIn": 1, "datasource": { "type": "datasource", "uid": "grafana" }, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", "name": "Annotations & Alerts", "target": { "limit": 100, "matchAny": false, "tags": [], "type": "dashboard" }, "type": "dashboard" } ] }, "editable": true, "fiscalYearStartMonth": 0, "graphTooltip": 0, "id": 3, "iteration": 1654876929746, "links": [], "liveNow": false, "panels": [ { "aliasColors": {}, "breakPoint": "50%", "combine": { "label": "Others", "threshold": 0 }, "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "decimals": 0, "fontSize": "80%", "format": "none", "gridPos": { "h": 8, "w": 5, "x": 0, "y": 0 }, "id": 6, "legend": { "show": true, "values": true }, "legendType": "Under graph", "links": [], "maxDataPoints": 3, "nullPointMode": "connected", "pieType": "pie", "strokeWidth": 1, "targets": [ { "alias": "", "format": "time_series", "rawSql": "SELECT\n max(timestamp) as time,\n count(*) as \"ipv4\"\nFROM\n global_ip_rib\nWHERE\n recv_origin_as = [[asn_num]]\n and family(prefix) = 4\nGROUP BY prefix\n", "refId": "A" }, { "alias": "", "format": "time_series", "rawSql": "SELECT\n max(timestamp) as time,\n count(*) as \"ipv6\"\nFROM\n global_ip_rib\nWHERE\n recv_origin_as = [[asn_num]]\n and family(prefix) = 6\nGROUP BY prefix\n", "refId": "B" } ], "title": "Advertised IP Addresses", "type": "grafana-piechart-panel", "valueName": "total" }, { "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [ { "options": { "match": "null", "result": { "text": "N/A" } }, "type": "special" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 4, "w": 4, "x": 5, "y": 0 }, "id": 11, "links": [], "maxDataPoints": 100, "options": { "colorMode": "background", "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "text": {}, "textMode": "auto" }, "pluginVersion": "8.5.4", "targets": [ { "alias": "", "format": "table", "group": [], "hide": false, "metricColumn": "none", "rawQuery": true, "rawSql": "SELECT count(distinct asn) as count\nFROM (\n\tSELECT\n\t\t\tas_path[array_position(as_path, ${asn_num}::bigint) - 1] as asn\n\t\tFROM base_attrs a\n\t\tWHERE as_path && '{${asn_num}}'\n) d\nWHERE asn is not null and asn != ${asn_num}\n", "refId": "A", "select": [ [ { "params": [ "value" ], "type": "column" } ] ], "timeColumn": "time", "where": [ { "name": "$__timeFilter", "params": [], "type": "macro" } ] } ], "title": "Upstream ASNs", "type": "stat" }, { "aliasColors": {}, "bars": false, "dashLength": 10, "dashes": false, "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "decimals": 0, "fieldConfig": { "defaults": { "links": [] }, "overrides": [] }, "fill": 1, "fillGradient": 0, "gridPos": { "h": 8, "w": 15, "x": 9, "y": 0 }, "hiddenSeries": false, "id": 14, "legend": { "alignAsTable": true, "avg": true, "current": false, "hideEmpty": false, "hideZero": false, "max": true, "min": true, "rightSide": true, "show": true, "total": false, "values": true }, "lines": true, "linewidth": 1, "links": [], "nullPointMode": "null", "options": { "alertThreshold": true }, "percentage": false, "pluginVersion": "8.5.4", "pointradius": 5, "points": true, "renderer": "flot", "seriesOverrides": [], "spaceLength": 10, "stack": false, "steppedLine": false, "targets": [ { "alias": "", "format": "time_series", "rawSql": "SELECT\n $__time(interval_time),\n v4_prefixes,v6_prefixes,v4_with_rpki,v6_with_rpki,v4_with_irr,v6_with_irr\nFROM\n stats_ip_origins\nWHERE\n $__timeFilter(interval_time) and asn = [[asn_num]]\nORDER BY interval_time asc\n", "refId": "A" } ], "thresholds": [], "timeFrom": "24h", "timeRegions": [], "title": "Originating Prefix Trend", "tooltip": { "shared": true, "sort": 0, "value_type": "individual" }, "type": "graph", "xaxis": { "mode": "time", "show": true, "values": [] }, "yaxes": [ { "decimals": 0, "format": "none", "logBase": 1, "show": true }, { "format": "short", "logBase": 1, "show": false } ], "yaxis": { "align": false } }, { "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "mappings": [ { "options": { "match": "null", "result": { "text": "N/A" } }, "type": "special" } ], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "none" }, "overrides": [] }, "gridPos": { "h": 4, "w": 4, "x": 5, "y": 4 }, "id": 12, "links": [], "maxDataPoints": 100, "options": { "colorMode": "background", "graphMode": "none", "justifyMode": "auto", "orientation": "horizontal", "reduceOptions": { "calcs": [ "mean" ], "fields": "", "values": false }, "text": {}, "textMode": "auto" }, "pluginVersion": "8.5.4", "targets": [ { "alias": "", "format": "table", "group": [], "hide": false, "metricColumn": "none", "rawQuery": true, "rawSql": "SELECT count(distinct asn) as count\nFROM (\n\tSELECT\n\t\t\tas_path[(array_positions(as_path, ${asn_num}::bigint))[cardinality(array_positions(as_path, ${asn_num}::bigint)) ] + 1] as asn\n\t\tFROM base_attrs a\n\t\tWHERE as_path && '{${asn_num}}'\n) d\nWHERE asn is not null", "refId": "A", "select": [ [ { "params": [ "value" ], "type": "column" } ] ], "timeColumn": "time", "where": [ { "name": "$__timeFilter", "params": [], "type": "macro" } ] } ], "title": "Downstream ASNs", "type": "stat" }, { "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "decimals": 2, "displayName": "", "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "none" }, "overrides": [ { "matcher": { "id": "byName", "options": "as_name" }, "properties": [ { "id": "unit", "value": "none" }, { "id": "links", "value": [ { "targetBlank": true, "title": "Click to see ASN history", "url": "/grafana/d/prefix-hist-asn/prefix-history-by-asn?var-origin_as=$asn_num" } ] }, { "id": "custom.align" } ] } ] }, "gridPos": { "h": 7, "w": 24, "x": 0, "y": 8 }, "id": 2, "links": [], "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true }, "pluginVersion": "8.5.4", "targets": [ { "alias": "", "format": "table", "group": [], "hide": false, "metricColumn": "none", "rawQuery": true, "rawSql": "select as_name,org_id,org_name,address,city,state_prov,country,remarks,raw_output,source\n from info_asn i \n where asn = [[asn_num]]", "refId": "A", "select": [ [ { "params": [ "value" ], "type": "column" } ] ], "timeColumn": "time", "where": [ { "name": "$__timeFilter", "params": [], "type": "macro" } ] } ], "title": "ASN Info", "transformations": [ { "id": "merge", "options": { "reducers": [] } } ], "type": "table" }, { "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "filterable": true, "inspect": false }, "decimals": 2, "displayName": "", "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "none" }, "overrides": [ { "matcher": { "id": "byName", "options": "ASN" }, "properties": [ { "id": "unit", "value": "none" }, { "id": "custom.align" }, { "id": "decimals", "value": 0 } ] } ] }, "gridPos": { "h": 9, "w": 12, "x": 0, "y": 15 }, "id": 8, "links": [], "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true }, "pluginVersion": "8.5.4", "targets": [ { "alias": "", "format": "table", "group": [], "metricColumn": "none", "rawQuery": true, "rawSql": "SELECT d.asn as \"ASN\",\n\tmax(as_name) as \"Name\",\n\tmax(org_name) as \"Org Name\",\n\tmax(org_id) as \"Org ID\",\n\tmax(country) as \"Country\",\n\tmax(city) AS \"City\",\n\tmax(state_prov) as \"State Prov\",\n\tmax(source) as \"Source\"\nFROM (\n\tSELECT\n\t\t\tas_path[array_position(as_path, ${asn_num}::bigint) - 1] as asn\n\t\tFROM base_attrs a\n\t\tWHERE as_path && '{${asn_num}}'\n) d\nLEFT JOIN info_asn i ON (i.asn = d.asn)\nWHERE d.asn is not null\nGROUP BY d.asn", "refId": "A", "select": [ [ { "params": [ "value" ], "type": "column" } ] ], "timeColumn": "time", "where": [ { "name": "$__timeFilter", "params": [], "type": "macro" } ] } ], "title": "Upstream ASNs", "transformations": [ { "id": "merge", "options": { "reducers": [] } } ], "type": "table" }, { "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "decimals": 0, "displayName": "", "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "none" }, "overrides": [ { "matcher": { "id": "byName", "options": "Time" }, "properties": [ { "id": "displayName", "value": "Time" }, { "id": "unit", "value": "time: YYYY-MM-DD HH:mm:ss" }, { "id": "custom.align" } ] }, { "matcher": { "id": "byName", "options": "ASN" }, "properties": [ { "id": "unit", "value": "none" }, { "id": "custom.align" } ] } ] }, "gridPos": { "h": 9, "w": 12, "x": 12, "y": 15 }, "id": 9, "links": [], "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true }, "pluginVersion": "8.5.4", "targets": [ { "alias": "", "format": "table", "group": [], "metricColumn": "none", "rawQuery": true, "rawSql": "SELECT d.asn as \"ASN\",\n\tmax(as_name) as \"Name\",\n\tmax(org_name) as \"Org Name\",\n\tmax(org_id) as \"Org ID\",\n\tmax(country) as \"Country\",\n\tmax(city) AS \"City\",\n\tmax(state_prov) as \"State Prov\",\n\tmax(source) as \"Source\"\nFROM (\n\tSELECT\n\t\t\tas_path[(array_positions(as_path, ${asn_num}::bigint))[cardinality(array_positions(as_path, ${asn_num}::bigint)) ] + 1] as asn\n\t\tFROM base_attrs a\n\t\tWHERE as_path && '{${asn_num}}'\n) d\nLEFT JOIN info_asn i ON (i.asn = d.asn)\nWHERE d.asn is not null\nGROUP BY d.asn", "refId": "A", "select": [ [ { "params": [ "value" ], "type": "column" } ] ], "timeColumn": "time", "where": [ { "name": "$__timeFilter", "params": [], "type": "macro" } ] } ], "title": "Downstream ASNs", "transformations": [ { "id": "merge", "options": { "reducers": [] } } ], "type": "table" }, { "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "decimals": 2, "displayName": "", "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "string" }, "overrides": [ { "matcher": { "id": "byName", "options": "Prefix" }, "properties": [ { "id": "unit", "value": "short" }, { "id": "decimals", "value": 2 }, { "id": "links", "value": [ { "targetBlank": true, "title": "Click for Prefix History", "url": "/grafana/d/vCRvHSFiz/prefix-history-by-prefix?orgId=1&var-prefix=${__cell}" } ] }, { "id": "custom.align" } ] } ] }, "gridPos": { "h": 13, "w": 5, "x": 0, "y": 24 }, "id": 15, "links": [], "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true }, "pluginVersion": "8.5.4", "targets": [ { "alias": "", "format": "table", "group": [], "metricColumn": "none", "rawQuery": true, "rawSql": "SELECT r.aggregate\n\tFROM (\n\t\tSELECT distinct w.prefix,\n\t\t\t\t FIRST_VALUE(a.prefix) OVER (\n\t\t\t\t\t\tPARTITION BY w.prefix ORDER BY a.prefix ASC) as aggregate\n\t\t\t\tFROM (\n\t\t\t\t\tSELECT prefix\n\t\t\t\t\t\tFROM global_ip_rib\n\t\t\t\t\t\tWHERE iswithdrawn = false\n\t\t\t\t\t\t\tAND recv_origin_as = $asn_num\n\t\t\t\t\t\t\tAND prefix_len > 0 and prefix_len <= 25\n\t\t\t\t\t\tGROUP BY prefix\n\t\t\t\t\t) w\n\t\t\t\t\tJOIN (\n\t\t\t\t\tSELECT distinct prefix\n\t\t\t\t\t\tFROM global_ip_rib\n\t\t\t\t\t\tWHERE iswithdrawn = false \n\t\t\t\t\t\t\tAND recv_origin_as = $asn_num\n\t\t\t\t\t\t\tAND prefix_len > 0 and prefix_len <= 25\n\t\t\t\t\t) a ON (w.prefix <<= a.prefix)\n\t\t) r\n\tGROUP BY r.aggregate\n\tORDER BY aggregate;", "refId": "A", "select": [ [ { "params": [ "value" ], "type": "column" } ] ], "timeColumn": "time", "where": [ { "name": "$__timeFilter", "params": [], "type": "macro" } ] } ], "title": "Aggregates", "transformations": [ { "id": "merge", "options": { "reducers": [] } } ], "type": "table" }, { "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "description": "", "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "inspect": false }, "decimals": 0, "displayName": "", "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "none" }, "overrides": [ { "matcher": { "id": "byName", "options": "Prefix" }, "properties": [ { "id": "unit", "value": "none" }, { "id": "decimals", "value": 0 }, { "id": "links", "value": [ { "targetBlank": true, "title": "Click for Looking Glass", "url": "d/lookingglass/looking-glass?orgId=1&var-input=${__value.text}&var-prefix=${__value.text}" } ] }, { "id": "custom.align" } ] } ] }, "gridPos": { "h": 13, "w": 19, "x": 5, "y": 24 }, "id": 4, "links": [], "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true }, "pluginVersion": "8.5.4", "targets": [ { "alias": "", "format": "table", "group": [], "metricColumn": "none", "rawQuery": true, "rawSql": "SELECT r.prefix as \"Prefix\",r.rpki_origin_as AS \"RPKI Origin AS\",i.origin_as as \"IRR Origin AS\",\"Last Change\", i.descr as \"IRR Description\", i.source as \"IRR Source\"\n\nFROM (\n select\n prefix,rpki_origin_as,\n max(timestamp) as \"Last Change\"\n FROM global_ip_rib\n WHERE recv_origin_as = [[asn_num]]\n GROUP BY prefix,rpki_origin_as\n ) r\n LEFT JOIN info_route i ON (i.prefix = r.prefix)\n\n\n", "refId": "A", "select": [ [ { "params": [ "value" ], "type": "column" } ] ], "timeColumn": "time", "where": [ { "name": "$__timeFilter", "params": [], "type": "macro" } ] } ], "title": "Advertised Prefixes (multiple shown for all IRR entries)", "transformations": [ { "id": "merge", "options": { "reducers": [] } } ], "type": "table" } ], "schemaVersion": 36, "style": "dark", "tags": [ "obmp-base" ], "templating": { "list": [ { "current": { "selected": false, "text": "714", "value": "714" }, "hide": 0, "includeAll": false, "label": "ASN", "multi": false, "name": "asn_num", "options": [ { "selected": true, "text": "109", "value": "109" } ], "query": "109", "queryValue": "714", "skipUrlSync": false, "type": "custom" } ] }, "time": { "from": "now-3h", "to": "now" }, "timepicker": { "refresh_intervals": [ "5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ], "time_options": [ "5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d" ] }, "timezone": "", "title": "ASN View", "uid": "asnview-agg", "version": 5, "weekStart": "" }