Skip to content

Instantly share code, notes, and snippets.

@ridwanbejo
Created October 10, 2025 08:30
Show Gist options
  • Save ridwanbejo/de34b3cfccc0df35ebe0591c8cb4f768 to your computer and use it in GitHub Desktop.
Save ridwanbejo/de34b3cfccc0df35ebe0591c8cb4f768 to your computer and use it in GitHub Desktop.
{
"displayName": "SRE Infra - Interconnect Summary",
"dashboardFilters": [
{
"filterType": "RESOURCE_LABEL",
"labelKey": "project_id",
"stringValue": "prj-prod-admin",
"templateVariable": "project_id",
"valueType": "STRING"
},
{
"filterType": "RESOURCE_LABEL",
"labelKey": "cluster_name",
"stringValue": "prod-banking-k8s",
"templateVariable": "cluster_name",
"valueType": "STRING"
}
],
"description": "",
"labels": {
"interconnect": ""
},
"mosaicLayout": {
"columns": 48,
"tiles": [
{
"height": 8,
"width": 48,
"widget": {
"title": "Router Up",
"id": "",
"scorecard": {
"breakdowns": [],
"dimensions": [],
"measures": [],
"thresholds": [],
"timeSeriesQuery": {
"outputFullDuration": true,
"prometheusQuery": "sum by (\"metadata_system_name\")(last_over_time({\"__name__\"=\"router.googleapis.com/router_up\",\"monitored_resource\"=\"gce_router\",\"metadata_system_name\"!~\".*vpn.*\",${project_id}}[${__interval}]))\n#This promql query was automatically converted from a builder query, and it may not be fully equivalent to the builder query. Manually verify the promql query before using it and edit as needed.",
"unitOverride": ""
}
}
}
},
{
"height": 18,
"width": 48,
"widget": {
"title": "Interconnect Status",
"collapsibleGroup": {
"collapsed": false
},
"id": ""
}
},
{
"yPos": 8,
"height": 10,
"width": 48,
"widget": {
"title": "BGP Session Status",
"id": "",
"scorecard": {
"breakdowns": [],
"dimensions": [],
"measures": [],
"thresholds": [],
"timeSeriesQuery": {
"outputFullDuration": true,
"prometheusQuery": "sum by (\"metadata_system_name\")(last_over_time({\"__name__\"=\"router.googleapis.com/bgp/session_up\",\"monitored_resource\"=\"gce_router\",\"metadata_system_name\"!~\".*vpn.*\",${project_id}}[${__interval}]))\n#This promql query was automatically converted from a builder query, and it may not be fully equivalent to the builder query. Manually verify the promql query before using it and edit as needed.",
"unitOverride": ""
}
}
}
},
{
"yPos": 18,
"height": 16,
"width": 24,
"widget": {
"title": "Received BPS Rate",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"resource.label.\"attachment\"",
"resource.label.\"interconnect\"",
"resource.label.\"interconnect_project\""
],
"perSeriesAligner": "ALIGN_RATE"
},
"filter": "metric.type=\"interconnect.googleapis.com/network/attachment/received_bytes_count\" resource.type=\"interconnect_attachment\" ${project_id}"
},
"unitOverride": ""
}
}
],
"thresholds": [],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
},
{
"yPos": 18,
"height": 16,
"width": 48,
"widget": {
"title": "Bytes Statistic",
"collapsibleGroup": {
"collapsed": false
},
"id": ""
}
},
{
"yPos": 18,
"xPos": 24,
"height": 16,
"width": 24,
"widget": {
"title": "Sent BPS Rate",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"resource.label.\"attachment\"",
"resource.label.\"interconnect\"",
"resource.label.\"interconnect_project\""
],
"perSeriesAligner": "ALIGN_RATE"
},
"filter": "metric.type=\"interconnect.googleapis.com/network/attachment/sent_bytes_count\" resource.type=\"interconnect_attachment\" ${project_id}"
},
"unitOverride": ""
}
}
],
"thresholds": [],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
},
{
"yPos": 34,
"height": 31,
"width": 48,
"widget": {
"title": "Packets Statistic",
"collapsibleGroup": {
"collapsed": true
},
"id": ""
}
},
{
"yPos": 34,
"height": 16,
"width": 24,
"widget": {
"title": "Received packets rate",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"resource.label.\"attachment\"",
"resource.label.\"interconnect\"",
"resource.label.\"interconnect_project\""
],
"perSeriesAligner": "ALIGN_RATE"
},
"filter": "metric.type=\"interconnect.googleapis.com/network/attachment/received_packets_count\" resource.type=\"interconnect_attachment\" ${project_id}",
"pickTimeSeriesFilter": {
"direction": "TOP",
"numTimeSeries": 5,
"rankingMethod": "METHOD_MAX"
}
},
"unitOverride": ""
}
}
],
"thresholds": [],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
},
{
"yPos": 34,
"xPos": 24,
"height": 16,
"width": 24,
"widget": {
"title": "Received dropped packets",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"resource.label.\"interconnect\"",
"resource.label.\"interconnect_project\"",
"resource.label.\"attachment\""
],
"perSeriesAligner": "ALIGN_RATE"
},
"filter": "metric.type=\"interconnect.googleapis.com/network/attachment/ingress_dropped_packets_count\" resource.type=\"interconnect_attachment\" ${project_id}"
},
"unitOverride": ""
}
}
],
"thresholds": [
{
"color": "COLOR_UNSPECIFIED",
"direction": "DIRECTION_UNSPECIFIED",
"label": "",
"targetAxis": "Y1",
"value": 5
},
{
"color": "COLOR_UNSPECIFIED",
"direction": "DIRECTION_UNSPECIFIED",
"label": "",
"targetAxis": "Y1",
"value": 1
}
],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
},
{
"yPos": 50,
"height": 15,
"width": 24,
"widget": {
"title": "Sent packets count",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"resource.label.\"attachment\"",
"resource.label.\"interconnect\"",
"resource.label.\"interconnect_project\""
],
"perSeriesAligner": "ALIGN_RATE"
},
"filter": "metric.type=\"interconnect.googleapis.com/network/attachment/sent_packets_count\" resource.type=\"interconnect_attachment\" ${project_id}",
"pickTimeSeriesFilter": {
"direction": "TOP",
"numTimeSeries": 5,
"rankingMethod": "METHOD_MAX"
}
},
"unitOverride": ""
}
}
],
"thresholds": [],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
},
{
"yPos": 50,
"xPos": 24,
"height": 15,
"width": 24,
"widget": {
"title": "Sent dropped packets count",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"resource.label.\"attachment\"",
"resource.label.\"interconnect\"",
"resource.label.\"interconnect_project\""
],
"perSeriesAligner": "ALIGN_RATE"
},
"filter": "metric.type=\"interconnect.googleapis.com/network/attachment/ingress_dropped_packets_count\" resource.type=\"interconnect_attachment\" ${project_id}"
},
"unitOverride": ""
}
}
],
"thresholds": [
{
"color": "COLOR_UNSPECIFIED",
"direction": "DIRECTION_UNSPECIFIED",
"label": "",
"targetAxis": "Y1",
"value": 5
},
{
"color": "COLOR_UNSPECIFIED",
"direction": "DIRECTION_UNSPECIFIED",
"label": "",
"targetAxis": "Y1",
"value": 1
}
],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
},
{
"yPos": 65,
"height": 16,
"width": 24,
"widget": {
"title": "VM - Received bytes",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"prometheusQuery": "topk(20, sum by (\"interconnect_name\",\"metadata_system_name\",\"project_id\")(rate({\"__name__\"=\"networking.googleapis.com/interconnect_attachment/vm/ingress_bytes_count\",\"monitored_resource\"=\"gce_instance\",\"attachment_project_id\"=~\"${project_id.value}\"}[${__interval}])))",
"unitOverride": "By"
}
}
],
"thresholds": [],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
},
{
"yPos": 65,
"height": 16,
"width": 48,
"widget": {
"title": "VM - Interconnect Bytes",
"collapsibleGroup": {
"collapsed": true
},
"id": ""
}
},
{
"yPos": 65,
"xPos": 24,
"height": 16,
"width": 24,
"widget": {
"title": "VM - Sent bytes",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"prometheusQuery": "topk(20, sum by (\"interconnect_name\",\"metadata_system_name\",\"project_id\")(rate({\"__name__\"=\"networking.googleapis.com/interconnect_attachment/vm/egress_bytes_count\",\"monitored_resource\"=\"gce_instance\",\"attachment_project_id\"=~\"${project_id.value}\"}[${__interval}])))",
"unitOverride": "By"
}
}
],
"thresholds": [],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
},
{
"yPos": 81,
"height": 16,
"width": 48,
"widget": {
"title": "GKE Pods",
"collapsibleGroup": {
"collapsed": true
},
"id": ""
}
},
{
"yPos": 81,
"height": 16,
"width": 24,
"widget": {
"title": "GKE Pods in VM - Received bytes",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"prometheusQuery": "sum by (\"metadata_system_node_name\",\"cluster_name\",\"namespace_name\",\"pod_name\")(\n rate({\n \"__name__\"=\"kubernetes.io/pod/network/received_bytes_count\",\n \"monitored_resource\"=\"k8s_pod\",\n \"cluster_name\"=~\"${cluster_name.value}\"\n }[${__interval}])\n)\n* on (metadata_system_node_name) group_left()\n(\n (\n label_replace(\n (\n sum by (\"metadata_system_name\")(\n rate({\n \"__name__\"=\"networking.googleapis.com/interconnect_attachment/vm/ingress_bytes_count\",\n \"monitored_resource\"=\"gce_instance\",\n \"attachment_project_id\"=~\"${project_id.value}\"\n }[${__interval}])\n )\n /\n sum by (\"metadata_system_name\")(\n rate({\n \"__name__\"=\"networking.googleapis.com/interconnect_attachment/vm/ingress_bytes_count\",\n \"monitored_resource\"=\"gce_instance\",\n \"attachment_project_id\"=~\"${project_id.value}\"\n }[${__interval}])\n )\n ),\n \"metadata_system_node_name\", \"$1\", \"metadata_system_name\",\n \"(.*)\"\n )\n)\n\n)\n",
"unitOverride": "By"
}
}
],
"thresholds": [],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
},
{
"yPos": 81,
"xPos": 24,
"height": 16,
"width": 24,
"widget": {
"title": "GKE Pods in VM - Sent bytes",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"prometheusQuery": "sum by (\"metadata_system_node_name\",\"cluster_name\",\"namespace_name\",\"pod_name\")(\n rate({\n \"__name__\"=\"kubernetes.io/pod/network/sent_bytes_count\",\n \"monitored_resource\"=\"k8s_pod\",\n \"cluster_name\"=~\"${cluster_name.value}\"\n }[${__interval}])\n)\n* on (metadata_system_node_name) group_left()\n(\n (\n label_replace(\n (\n sum by (\"metadata_system_name\")(\n rate({\n \"__name__\"=\"networking.googleapis.com/interconnect_attachment/vm/egress_bytes_count\",\n \"monitored_resource\"=\"gce_instance\",\n \"attachment_project_id\"=~\"${project_id.value}\"\n }[${__interval}])\n )\n /\n sum by (\"metadata_system_name\")(\n rate({\n \"__name__\"=\"networking.googleapis.com/interconnect_attachment/vm/egress_bytes_count\",\n \"monitored_resource\"=\"gce_instance\",\n \"attachment_project_id\"=~\"${project_id.value}\"\n }[${__interval}])\n )\n ),\n \"metadata_system_node_name\", \"$1\", \"metadata_system_name\",\n \"(.*)\"\n )\n)\n\n)\n",
"unitOverride": "By"
}
}
],
"thresholds": [],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
},
{
"yPos": 97,
"height": 15,
"width": 25,
"widget": {
"title": "BGP Session Up Count",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"metadata.system_labels.\"name\""
],
"perSeriesAligner": "ALIGN_MEAN"
},
"filter": "metric.type=\"router.googleapis.com/bgp_sessions_up_count\" resource.type=\"gce_router\" metadata.system_labels.\"name\"=monitoring.regex.full_match(\".*interconnect.*\") ${project_id}"
},
"unitOverride": ""
}
}
],
"thresholds": [
{
"color": "COLOR_UNSPECIFIED",
"direction": "DIRECTION_UNSPECIFIED",
"label": "",
"targetAxis": "Y1",
"value": 1
}
],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
},
{
"yPos": 97,
"height": 45,
"width": 48,
"widget": {
"title": "BGP Sessions Overview",
"collapsibleGroup": {
"collapsed": true
},
"id": ""
}
},
{
"yPos": 97,
"xPos": 25,
"height": 15,
"width": 22,
"widget": {
"title": "BGP Session Down Count",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"metadata.system_labels.\"name\""
],
"perSeriesAligner": "ALIGN_MEAN"
},
"filter": "metric.type=\"router.googleapis.com/bgp_sessions_down_count\" resource.type=\"gce_router\" metadata.system_labels.\"name\"=monitoring.regex.full_match(\".*interconnect.*\") ${project_id}"
},
"unitOverride": ""
}
}
],
"thresholds": [
{
"color": "COLOR_UNSPECIFIED",
"direction": "DIRECTION_UNSPECIFIED",
"label": "",
"targetAxis": "Y1",
"value": 5
},
{
"color": "COLOR_UNSPECIFIED",
"direction": "DIRECTION_UNSPECIFIED",
"label": "",
"targetAxis": "Y1",
"value": 1
}
],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
},
{
"yPos": 112,
"height": 15,
"width": 25,
"widget": {
"title": "BGP Sent Routes Count",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"metadata.system_labels.\"name\""
],
"perSeriesAligner": "ALIGN_MEAN"
},
"filter": "metric.type=\"router.googleapis.com/bgp/sent_routes_count\" resource.type=\"gce_router\" metadata.system_labels.\"name\"=monitoring.regex.full_match(\".*interconnect.*\") ${project_id}"
},
"unitOverride": ""
}
}
],
"thresholds": [],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
},
{
"yPos": 112,
"xPos": 25,
"height": 15,
"width": 22,
"widget": {
"title": "BGP Received Router Count",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"metadata.system_labels.\"name\""
],
"perSeriesAligner": "ALIGN_MEAN"
},
"filter": "metric.type=\"router.googleapis.com/bgp/received_routes_count\" resource.type=\"gce_router\" metadata.system_labels.\"name\"=monitoring.regex.full_match(\".*interconnect.*\") ${project_id}"
},
"unitOverride": ""
}
}
],
"thresholds": [],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
},
{
"yPos": 127,
"height": 15,
"width": 25,
"widget": {
"title": "Sent Routes Count",
"id": "",
"xyChart": {
"chartOptions": {
"displayHorizontal": false,
"mode": "COLOR",
"showLegend": false
},
"dataSets": [
{
"breakdowns": [],
"dimensions": [],
"legendTemplate": "",
"measures": [],
"minAlignmentPeriod": "60s",
"plotType": "LINE",
"targetAxis": "Y1",
"timeSeriesQuery": {
"outputFullDuration": false,
"timeSeriesFilter": {
"aggregation": {
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"metadata.system_labels.\"name\""
],
"perSeriesAligner": "ALIGN_MEAN"
},
"filter": "metric.type=\"router.googleapis.com/sent_routes_count\" resource.type=\"gce_router\" metadata.system_labels.\"name\"=monitoring.regex.full_match(\".*interconnect.*\") ${project_id}"
},
"unitOverride": ""
}
}
],
"thresholds": [],
"yAxis": {
"label": "",
"scale": "LINEAR"
}
}
}
}
]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment