{ "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": 19, "iteration": 1654877653557, "links": [], "liveNow": false, "panels": [ { "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "description": "Prefix found in router's RIB.", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false } }, "decimals": 0, "mappings": [], "unit": "none" }, "overrides": [] }, "gridPos": { "h": 5, "w": 6, "x": 0, "y": 0 }, "id": 9, "links": [], "maxDataPoints": 3, "options": { "legend": { "calcs": [], "displayMode": "table", "placement": "right", "values": [ "value", "percent" ] }, "pieType": "pie", "reduceOptions": { "calcs": [ "sum" ], "fields": "", "values": false }, "tooltip": { "mode": "single", "sort": "none" } }, "targets": [ { "alias": "", "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "format": "time_series", "group": [], "hide": false, "metricColumn": "none", "rawQuery": true, "rawSql": "SELECT\n floor(extract(epoch from max(r.timestamp))) as time,\n CASE WHEN v.router_hash_id is null THEN 'Not in Router RIB' ELSE 'In Router Rib' END as metric,\n 1 as value\nFROM routers r\n left join (select distinct router_hash_id\n from v_l3vpn_routes\n where prefix = '$prefix'\n and ('$rd' = '-' OR rd = '$rd')\n and iswithdrawn = false group by router_hash_id) v \n on (r.hash_id = v.router_hash_id)\nWHERE r.state = 'up'\nGROUP BY r.hash_id,v.router_hash_id\norder by time\n\n", "refId": "A", "select": [ [ { "params": [ "value" ], "type": "column" } ] ], "timeColumn": "time", "where": [ { "name": "$__timeFilter", "params": [], "type": "macro" } ] } ], "title": "Router Visibility", "type": "piechart" }, { "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "description": "Prefix found in peer RIB's", "fieldConfig": { "defaults": { "color": { "mode": "palette-classic" }, "custom": { "hideFrom": { "legend": false, "tooltip": false, "viz": false } }, "decimals": 0, "mappings": [], "unit": "none" }, "overrides": [] }, "gridPos": { "h": 5, "w": 6, "x": 6, "y": 0 }, "id": 10, "links": [], "maxDataPoints": 3, "options": { "legend": { "calcs": [], "displayMode": "table", "placement": "right", "values": [ "value", "percent" ] }, "pieType": "pie", "reduceOptions": { "calcs": [ "sum" ], "fields": "", "values": false }, "tooltip": { "mode": "single", "sort": "none" } }, "targets": [ { "alias": "", "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "format": "time_series", "group": [], "hide": false, "metricColumn": "none", "rawQuery": true, "rawSql": "SELECT\n floor(extract(epoch from max(p.timestamp))) as time,\n CASE WHEN v.peer_hash_id is null THEN 'Not in Peers RIB' ELSE 'In Peer RIB' END as metric,\n 1 as value\nFROM bgp_peers p\n left join (select peer_hash_id,isipv4\n from l3vpn_rib \n where prefix = '$prefix' and prefix != '0.0.0.0/0'\n AND ('$rd' = '-' OR rd = '$rd')\n and iswithdrawn = false group by peer_hash_id,isipv4) v \n on (p.hash_id = v.peer_hash_id)\nWHERE p.isipv4 = CASE WHEN family('$prefix') = 4 THEN true ELSE false END\n AND p.state = 'up'\nGROUP BY p.hash_id,v.peer_hash_id,p.isipv4\norder by time\n\n", "refId": "A", "select": [ [ { "params": [ "value" ], "type": "column" } ] ], "timeColumn": "time", "where": [ { "name": "$__timeFilter", "params": [], "type": "macro" } ] } ], "title": "Peer Visibility", "type": "piechart" }, { "circleMaxSize": "15", "circleMinSize": 2, "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "decimals": 0, "esMetric": "Count", "gridPos": { "h": 8, "w": 12, "x": 12, "y": 0 }, "hideEmpty": false, "hideZero": false, "id": 17, "initialZoom": "1", "locationData": "table", "mapCenter": "(0°, 0°)", "mapCenterLatitude": 0, "mapCenterLongitude": 0, "maxDataPoints": 1, "mouseWheelZoom": false, "showLegend": false, "stickyLabels": false, "tableQueryOptions": { "geohashField": "geohash", "labelField": "name", "latitudeField": "latitude", "longitudeField": "longitude", "metricField": "value", "queryType": "coordinates" }, "targets": [ { "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "format": "table", "group": [], "hide": false, "metricColumn": "none", "rawQuery": true, "rawSql": "SELECT\n 10 as value, latitude, longitude, stateprov as name\nFROM geo_ip\nWHERE\n ip && '$input'\nORDER BY ip desc limit 1", "refId": "A", "select": [ [ { "params": [ "latitude" ], "type": "column" } ] ], "table": "v_ip_routes_geo", "timeColumn": "lastmodified", "timeColumnType": "timestamp", "where": [ { "name": "$__timeFilter", "params": [], "type": "macro" } ] } ], "thresholds": "0,10", "title": "Prefix Location", "type": "grafana-worldmap-panel", "unitPlural": "", "unitSingle": "", "valueName": "current" }, { "columns": [], "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "fontSize": "100%", "gridPos": { "h": 6, "w": 24, "x": 0, "y": 8 }, "id": 12, "links": [], "scroll": true, "showHeader": true, "sort": { "col": 0, "desc": true }, "styles": [ { "alias": "Time", "align": "auto", "dateFormat": "YYYY-MM-DD HH:mm:ss", "pattern": "Time", "type": "date" }, { "alias": "", "align": "auto", "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "dateFormat": "YYYY-MM-DD HH:mm:ss", "decimals": 2, "mappingType": 1, "pattern": "raw_output", "preserveFormat": true, "sanitize": false, "thresholds": [], "type": "string", "unit": "short" }, { "alias": "", "align": "auto", "colors": [ "rgba(245, 54, 54, 0.9)", "rgba(237, 129, 40, 0.89)", "rgba(50, 172, 45, 0.97)" ], "decimals": 2, "pattern": "/.*/", "thresholds": [], "type": "string", "unit": "short" } ], "targets": [ { "alias": "", "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "format": "table", "group": [], "metricColumn": "none", "rawQuery": true, "rawSql": "select distinct origin_as,i.as_name,org_id,org_name,remarks,address,city,state_prov,country,raw_output,source\n from l3vpn_rib r LEFT JOIN info_asn i ON (i.asn = r.origin_as)\n where r.prefix = '$prefix'\n and ('$rd' = '-' OR rd = '$rd')\n and origin_as > 0\n", "refId": "A", "select": [ [ { "params": [ "value" ], "type": "column" } ] ], "timeColumn": "time", "where": [ { "name": "$__timeFilter", "params": [], "type": "macro" } ] } ], "title": "ASN Info", "transform": "table", "type": "table-old" }, { "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "fieldConfig": { "defaults": { "color": { "mode": "thresholds" }, "custom": { "align": "auto", "displayMode": "auto", "filterable": true, "inspect": false }, "decimals": 0, "displayName": "", "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null } ] }, "unit": "locale" }, "overrides": [ { "matcher": { "id": "byName", "options": "lastmodified" }, "properties": [ { "id": "displayName", "value": "Time" }, { "id": "unit", "value": "time: YYYY-MM-DD HH:mm:ss.SSS" }, { "id": "custom.align" } ] }, { "matcher": { "id": "byName", "options": "prefix" }, "properties": [ { "id": "displayName", "value": "Prefix" }, { "id": "unit", "value": "short" }, { "id": "decimals", "value": 2 }, { "id": "links", "value": [ { "targetBlank": true, "title": "Prefix History ", "url": "/d/l3vpn-prefix-hist/prefix-history-by-prefix-l3vpn?orgId=1&var-input=${__value.text}&var-rd=$rd" } ] }, { "id": "custom.align" } ] }, { "matcher": { "id": "byName", "options": "origin_as" }, "properties": [ { "id": "displayName", "value": "Origin" }, { "id": "unit", "value": "none" }, { "id": "links", "value": [ { "targetBlank": true, "title": "ASN View", "url": "/grafana/d/asnview/asn-view?orgId=1&var-asn_num=${__value.text}" } ] }, { "id": "custom.align" } ] }, { "matcher": { "id": "byName", "options": "iswithdrawn" }, "properties": [ { "id": "displayName", "value": "Withdrawn" }, { "id": "unit", "value": "bool" }, { "id": "custom.displayMode", "value": "color-background-solid" }, { "id": "custom.align", "value": "auto" }, { "id": "color", "value": { "mode": "continuous-GrYlRd" } } ] }, { "matcher": { "id": "byName", "options": "Time" }, "properties": [ { "id": "custom.width", "value": 194 } ] } ] }, "gridPos": { "h": 23, "w": 24, "x": 0, "y": 14 }, "id": 3, "links": [], "options": { "footer": { "fields": "", "reducer": [ "sum" ], "show": false }, "showHeader": true, "sortBy": [] }, "pluginVersion": "8.5.4", "targets": [ { "alias": "", "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "format": "table", "group": [], "hide": false, "metricColumn": "none", "rawQuery": true, "rawSql": "select distinct ip.*, \n \tFIRST_VALUE(geo_ip.city) OVER (PARTITION BY ip.prefix ORDER BY geo_ip.ip DESC) as city,\n \tFIRST_VALUE(geo_ip.stateprov) OVER (PARTITION BY ip.prefix ORDER BY geo_ip.ip DESC) as stateprov,\n \tFIRST_VALUE(geo_ip.country) OVER (PARTITION BY ip.prefix ORDER BY geo_ip.ip DESC) as country,\n ls.local_router_name\n\tFROM (SELECT lastmodified,peername,rd,prefix,\n \tiswithdrawn,origin_as,med,localpref,nh,as_path,extcommunities,communities,largecommunities\n from v_l3vpn_routes\n \t\twhere prefix && '$input' \n \t\t AND peer_hash_id in ($peer_hash)\n \t\t AND ('$rd' = '-' OR rd = '$rd')\n \t\tlimit 2000\n \t) ip\n\t\tLEFT JOIN geo_ip on (geo_ip.ip >>= ip.prefix AND geo_ip.ip != '0.0.0.0/0')\n LEFT JOIN v_ls_prefixes ls ON (ls.prefix >>= ip.nh and length(ls.local_router_name) > 0)", "refId": "A", "select": [ [ { "params": [ "value" ], "type": "column" } ] ], "timeColumn": "time", "where": [ { "name": "$__timeFilter", "params": [], "type": "macro" } ] } ], "title": "Looking Glass", "transformations": [ { "id": "merge", "options": { "reducers": [] } } ], "type": "table" } ], "schemaVersion": 36, "style": "dark", "tags": [ "obmp-l3vpn" ], "templating": { "list": [ { "current": { "selected": false, "text": "80.0.0.2", "value": "80.0.0.2" }, "hide": 0, "label": "Prefix/IP", "name": "input", "options": [ { "selected": true, "text": "80.0.0.2", "value": "80.0.0.2" } ], "query": "80.0.0.2", "queryValue": "50.227.215.188", "skipUrlSync": false, "type": "textbox" }, { "current": { "selected": true, "text": [ "All" ], "value": [ "$__all" ] }, "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "definition": "select name as __text, hash_id as __value from routers where state = 'up'", "hide": 0, "includeAll": true, "label": "Router", "multi": true, "name": "router_hash", "options": [], "query": "select name as __text, hash_id as __value from routers where state = 'up'", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 1, "tagValuesQuery": "", "tagsQuery": "", "type": "query", "useTags": false }, { "current": { "selected": true, "text": [ "All" ], "value": [ "$__all" ] }, "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "definition": "select peername as __text, peer_hash_id as __value from v_peers where router_hash_id in ($router_hash) and recvcapabilities like '% afi=1 safi=128 %';", "hide": 0, "includeAll": true, "label": "Peer", "multi": true, "name": "peer_hash", "options": [], "query": "select peername as __text, peer_hash_id as __value from v_peers where router_hash_id in ($router_hash) and recvcapabilities like '% afi=1 safi=128 %';", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 1, "tagValuesQuery": "", "tagsQuery": "", "type": "query", "useTags": false }, { "current": { "isNone": true, "selected": false, "text": "None", "value": "" }, "datasource": { "type": "postgres", "uid": "obmp_postgres" }, "definition": "select prefix from l3vpn_rib \nwhere prefix >>= '$input' and peer_hash_id in ($peer_hash) and ('$rd' = '-' OR rd = '$rd')\norder by prefix desc limit 1", "hide": 2, "includeAll": false, "multi": false, "name": "prefix", "options": [], "query": "select prefix from l3vpn_rib \nwhere prefix >>= '$input' and peer_hash_id in ($peer_hash) and ('$rd' = '-' OR rd = '$rd')\norder by prefix desc limit 1", "refresh": 1, "regex": "", "skipUrlSync": false, "sort": 0, "type": "query" }, { "description": "RD in the format of N:N. Set to - for all.", "hide": 2, "label": "RD", "name": "rd", "query": "-", "skipUrlSync": false, "type": "constant" } ] }, "time": { "from": "now-1h", "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": "Looking Glass - L3VPN", "uid": "jiQW6VB7k", "version": 1, "weekStart": "" }