diff --git a/kong-gateway/README.md b/kong-gateway/README.md new file mode 100644 index 0000000..e75e9a1 --- /dev/null +++ b/kong-gateway/README.md @@ -0,0 +1,54 @@ +# Kong Gateway Monitoring Dashboard - OTLP + +## Data Ingestion + +### Use prometheus receiver with OpenTelemetry Collector + +Add the following code to the collector metrics section of the OpenTelemetry Collector configuration file: + +``` +prometheus: + config: + scrape_configs: + - job_name: "kong-otel-collector" + scrape_interval: 30s + static_configs: + - targets: [":8001"] + +``` + +## Dashboard panels + +## Variables + +- `{{service}}`: Service created in Kong Gateway +- `{{route}}`: Route created in Kong Gateway +- `{{code}}`: Service response code + +### Sections + +- General Overview +![General Overview Section](assets/general.png) + - Total Requests +- Request Metrics +![Request Metrics Section](assets/request-metrics.png) + - Response Status Codes +- Latency Metrics +![Latency Metric Section](assets/latency-metrics.png) + - Request Latency + - Upstream Latency +- Error Metrics +![Error Metrics Section](assets/error-metrics.png) + - Total Errors +- Traffic Metrics +![Traffic Metrics Section 1](assets/traffic-metrics-1.png) +![Traffic Metrics Section 2](assets/traffic-metrics-2.png) + - Incoming Traffic Volume + - Outgoing Traffic Volume + - Handled Connections + - Accepted Connections + - Active Connections +- Resource Usage +![Request Usage Section](assets/request-usage.png) + - Memory Usage - Kong + diff --git a/kong-gateway/assets/error-metrics.png b/kong-gateway/assets/error-metrics.png new file mode 100644 index 0000000..e8d372a Binary files /dev/null and b/kong-gateway/assets/error-metrics.png differ diff --git a/kong-gateway/assets/general.png b/kong-gateway/assets/general.png new file mode 100644 index 0000000..e1b2381 Binary files /dev/null and b/kong-gateway/assets/general.png differ diff --git a/kong-gateway/assets/latency-metrics.png b/kong-gateway/assets/latency-metrics.png new file mode 100644 index 0000000..428ef81 Binary files /dev/null and b/kong-gateway/assets/latency-metrics.png differ diff --git a/kong-gateway/assets/request-metrics.png b/kong-gateway/assets/request-metrics.png new file mode 100644 index 0000000..090391e Binary files /dev/null and b/kong-gateway/assets/request-metrics.png differ diff --git a/kong-gateway/assets/resource-usage.png b/kong-gateway/assets/resource-usage.png new file mode 100644 index 0000000..e9ef4fb Binary files /dev/null and b/kong-gateway/assets/resource-usage.png differ diff --git a/kong-gateway/assets/traffic-metrics-1.png b/kong-gateway/assets/traffic-metrics-1.png new file mode 100644 index 0000000..4a608f5 Binary files /dev/null and b/kong-gateway/assets/traffic-metrics-1.png differ diff --git a/kong-gateway/assets/traffic-metrics-2.png b/kong-gateway/assets/traffic-metrics-2.png new file mode 100644 index 0000000..09d45c4 Binary files /dev/null and b/kong-gateway/assets/traffic-metrics-2.png differ diff --git a/kong-gateway/kong-gateway-v1.json b/kong-gateway/kong-gateway-v1.json new file mode 100644 index 0000000..09f5a9e --- /dev/null +++ b/kong-gateway/kong-gateway-v1.json @@ -0,0 +1,5381 @@ +{ + "layout": [ + { + "h": 1, + "i": "7bf75fb2-3816-4a67-a03b-7de2f0f02560", + "maxH": 1, + "minH": 1, + "minW": 12, + "moved": false, + "static": false, + "w": 12, + "x": 0, + "y": 0 + }, + { + "h": 6, + "i": "f13bf00a-5ff0-4fce-b641-3df52b941a67", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 1 + }, + { + "h": 1, + "i": "7ac4fe31-e690-4ce6-8d78-e32727f0697c", + "maxH": 1, + "minH": 1, + "minW": 12, + "moved": false, + "static": false, + "w": 12, + "x": 0, + "y": 7 + }, + { + "h": 6, + "i": "565d294f-0912-4a93-b1f8-5c83cd8810b0", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 8 + }, + { + "h": 1, + "i": "8275f3aa-3388-4278-8ec6-d102b43d2b3a", + "maxH": 1, + "minH": 1, + "minW": 12, + "moved": false, + "static": false, + "w": 12, + "x": 0, + "y": 14 + }, + { + "h": 6, + "i": "4a14ff7a-28c0-4e23-b783-e864f89a80cf", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 15 + }, + { + "h": 6, + "i": "978fd9e5-a7d5-489f-998d-0709371ecb7a", + "moved": false, + "static": false, + "w": 6, + "x": 6, + "y": 15 + }, + { + "h": 1, + "i": "6be25e51-effe-4c93-b062-97f21afc57e9", + "maxH": 1, + "minH": 1, + "minW": 12, + "moved": false, + "static": false, + "w": 12, + "x": 0, + "y": 21 + }, + { + "h": 6, + "i": "f46a4ccc-092f-4246-a858-7a4542bb82c2", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 22 + }, + { + "h": 1, + "i": "c59b5296-da6d-4663-bb6e-5fe5b4388afb", + "maxH": 1, + "minH": 1, + "minW": 12, + "moved": false, + "static": false, + "w": 12, + "x": 0, + "y": 28 + }, + { + "h": 6, + "i": "0caba268-a360-4ff3-9b89-1cb1a4e5fbd0", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 29 + }, + { + "h": 6, + "i": "ef783fba-2c95-486b-ae84-7a3ebffe14e2", + "moved": false, + "static": false, + "w": 6, + "x": 6, + "y": 29 + }, + { + "h": 6, + "i": "d37c8c59-0d6b-4c9a-8241-44f5a274b380", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 35 + }, + { + "h": 6, + "i": "925f9a80-2b9f-49a6-b3f9-b93a2aeabb70", + "moved": false, + "static": false, + "w": 6, + "x": 6, + "y": 35 + }, + { + "h": 6, + "i": "9093d884-ac9a-436b-95b9-a96488a394b4", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 41 + }, + { + "h": 1, + "i": "d6069134-5565-4a06-aac4-958fac14cf85", + "maxH": 1, + "minH": 1, + "minW": 12, + "moved": false, + "static": false, + "w": 12, + "x": 0, + "y": 47 + }, + { + "h": 6, + "i": "fb73f39f-f31c-49f2-955a-8e10e39057a2", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 48 + } + ], + "panelMap": { + "6be25e51-effe-4c93-b062-97f21afc57e9": { + "collapsed": false, + "widgets": [ + { + "h": 6, + "i": "f46a4ccc-092f-4246-a858-7a4542bb82c2", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 598 + } + ] + }, + "7ac4fe31-e690-4ce6-8d78-e32727f0697c": { + "collapsed": false, + "widgets": [ + { + "h": 6, + "i": "565d294f-0912-4a93-b1f8-5c83cd8810b0", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 14 + } + ] + }, + "7bf75fb2-3816-4a67-a03b-7de2f0f02560": { + "collapsed": false, + "widgets": [ + { + "h": 6, + "i": "f13bf00a-5ff0-4fce-b641-3df52b941a67", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 1 + } + ] + }, + "8275f3aa-3388-4278-8ec6-d102b43d2b3a": { + "collapsed": false, + "widgets": [ + { + "h": 6, + "i": "4a14ff7a-28c0-4e23-b783-e864f89a80cf", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 195 + }, + { + "h": 6, + "i": "978fd9e5-a7d5-489f-998d-0709371ecb7a", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 201 + } + ] + }, + "c59b5296-da6d-4663-bb6e-5fe5b4388afb": { + "collapsed": false, + "widgets": [ + { + "h": 6, + "i": "0caba268-a360-4ff3-9b89-1cb1a4e5fbd0", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 1369 + }, + { + "h": 6, + "i": "d37c8c59-0d6b-4c9a-8241-44f5a274b380", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 1375 + }, + { + "h": 6, + "i": "9093d884-ac9a-436b-95b9-a96488a394b4", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 1381 + }, + { + "h": 6, + "i": "925f9a80-2b9f-49a6-b3f9-b93a2aeabb70", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 1387 + }, + { + "h": 6, + "i": "ef783fba-2c95-486b-ae84-7a3ebffe14e2", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 1393 + } + ] + }, + "d6069134-5565-4a06-aac4-958fac14cf85": { + "collapsed": false, + "widgets": [ + { + "h": 6, + "i": "0f06ece2-49a6-434d-a29d-146048f3c7e1", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 2291 + }, + { + "h": 6, + "i": "b253b14d-424f-4830-987f-1843f1d60836", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 2297 + }, + { + "h": 6, + "i": "717bcea0-540c-4816-9f08-6f1366a9c1d0", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 2303 + }, + { + "h": 6, + "i": "fb73f39f-f31c-49f2-955a-8e10e39057a2", + "moved": false, + "static": false, + "w": 6, + "x": 0, + "y": 2309 + } + ] + } + }, + "title": "Kong Gateway", + "uploadedGrafana": false, + "variables": { + "0bfe159d-ec42-4b6c-bf17-12eebf286584": { + "allSelected": true, + "customValue": "", + "description": "Filter metrics based on the Kubernetes namespace where Kong is deployed.", + "id": "0bfe159d-ec42-4b6c-bf17-12eebf286584", + "modificationUUID": "01fe3fdc-316a-4fb6-864f-ed46db9806d7", + "multiSelect": true, + "name": "namespace", + "order": 4, + "queryValue": "SELECT DISTINCT(JSONExtractString(labels, 'k8s_namespace_name'))\nFROM signoz_metrics.time_series_v4_1day", + "showALLOption": true, + "sort": "DISABLED", + "textboxValue": "", + "type": "QUERY" + }, + "179f32b3-4fd1-4b65-b366-9e465bdf3138": { + "allSelected": true, + "customValue": "", + "description": "Select specific Kong route to filter metrics.", + "id": "179f32b3-4fd1-4b65-b366-9e465bdf3138", + "key": "179f32b3-4fd1-4b65-b366-9e465bdf3138", + "modificationUUID": "f227f241-d676-4bf4-adde-0112f54f5f8c", + "multiSelect": true, + "name": "route", + "order": 1, + "queryValue": "SELECT JSONExtractString(labels, 'route') AS route\nFROM signoz_metrics.time_series_v4_1day\nWHERE metric_name = 'kong_bandwidth_bytes'\nGROUP BY route", + "showALLOption": true, + "sort": "DISABLED", + "textboxValue": "", + "type": "QUERY" + }, + "2cf26128-4acf-4f59-8603-18ef7f9c7fc0": { + "allSelected": true, + "customValue": "", + "description": "Filter metrics based on the deployment environment (e.g., production, staging).", + "id": "2cf26128-4acf-4f59-8603-18ef7f9c7fc0", + "key": "2cf26128-4acf-4f59-8603-18ef7f9c7fc0", + "modificationUUID": "6de4183e-badf-4d7c-a603-262d29263d68", + "multiSelect": true, + "name": "deployment_environment", + "order": 3, + "queryValue": "SELECT DISTINCT(JSONExtractString(labels, 'deployment_environment'))\nFROM signoz_metrics.time_series_v4_1day", + "showALLOption": true, + "sort": "DISABLED", + "textboxValue": "", + "type": "QUERY" + }, + "54e9a0e1-b623-4afc-859d-277dffa2ade0": { + "allSelected": true, + "customValue": "", + "description": "Select specific Response Status Codes", + "id": "54e9a0e1-b623-4afc-859d-277dffa2ade0", + "key": "54e9a0e1-b623-4afc-859d-277dffa2ade0", + "modificationUUID": "f5addcaf-c088-449e-aede-c97f8fe2d071", + "multiSelect": true, + "name": "code", + "order": 2, + "queryValue": "select DISTINCT(JSONExtractString(labels, 'code')) from signoz_metrics.time_series_v4_1day where JSONExtractString(labels, '__name__') = 'kong_http_requests_total'", + "showALLOption": true, + "sort": "DISABLED", + "textboxValue": "", + "type": "QUERY" + }, + "ab4e18f3-213f-4fea-81aa-0ebbf3a5f3f9": { + "allSelected": true, + "customValue": "", + "description": "Select specific Kong services to filter metrics.", + "id": "ab4e18f3-213f-4fea-81aa-0ebbf3a5f3f9", + "key": "ab4e18f3-213f-4fea-81aa-0ebbf3a5f3f9", + "modificationUUID": "2eebf0ad-d5b2-45ba-bbc6-50cae945d8af", + "multiSelect": true, + "name": "service", + "order": 0, + "queryValue": "SELECT JSONExtractString(labels, 'service') AS service\nFROM signoz_metrics.time_series_v4_1day\nWHERE metric_name = 'kong_kong_latency_ms_sum'\nGROUP BY service", + "showALLOption": true, + "sort": "DISABLED", + "textboxValue": "", + "type": "QUERY" + } + }, + "version": "v4", + "widgets": [ + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Shows the number of active connections currently managed by Kong.", + "fillSpans": false, + "id": "ef783fba-2c95-486b-ae84-7a3ebffe14e2", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_nginx_connections_total--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "kong_nginx_connections_total", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "f524a612", + "key": { + "dataType": "string", + "id": "state--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "state", + "type": "tag" + }, + "op": "=", + "value": "active" + }, + { + "id": "145e8cf1", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + }, + { + "id": "ce4b1fb6", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "Active Connections", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "select DISTINCT(JSONExtractString(time_series_v2.labels,'__name__')) as metrics from signoz_metrics.distributed_time_series_v2" + } + ], + "id": "50a54eb0-8999-4e1f-a926-1b41f61a386f", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Active Connections", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Displays the total number of API requests handled by Kong.", + "fillSpans": false, + "id": "f13bf00a-5ff0-4fce-b641-3df52b941a67", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_nginx_connections_total--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "kong_nginx_connections_total", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "bc39574c", + "key": { + "dataType": "string", + "id": "state--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "state", + "type": "tag" + }, + "op": "=", + "value": "total" + }, + { + "id": "fbf5f387", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + }, + { + "id": "31692a96", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "Total Connections", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "08d0457e-ec60-4faf-8e43-6e992ee42fcc", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Total Requests", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Shows the number of accepted connections currently managed by Kong.", + "fillSpans": false, + "id": "925f9a80-2b9f-49a6-b3f9-b93a2aeabb70", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_nginx_connections_total--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "kong_nginx_connections_total", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "1ecba59c", + "key": { + "dataType": "string", + "id": "state--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "state", + "type": "tag" + }, + "op": "=", + "value": "accepted" + }, + { + "id": "eb705c20", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + }, + { + "id": "1d4102e5", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "Accepted Connections", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "c639ffc2-4405-4d72-8284-e6f0444ff970", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Accepted Connections", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Shows the number of handled connections currently managed by Kong.", + "fillSpans": false, + "id": "9093d884-ac9a-436b-95b9-a96488a394b4", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_nginx_connections_total--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "kong_nginx_connections_total", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "66313b74", + "key": { + "dataType": "string", + "id": "state--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "state", + "type": "tag" + }, + "op": "=", + "value": "handled" + }, + { + "id": "24e651f6", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + }, + { + "id": "9de72697", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "Handled Connections", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "d81c6d1b-5961-4f45-9bcc-137d5a78880c", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Handled Connections", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Shows the memory consumption of Kong, helping identify potential memory leaks or inefficiencies.", + "fillSpans": false, + "id": "fb73f39f-f31c-49f2-955a-8e10e39057a2", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_memory_lua_shared_dict_total_bytes--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "kong_memory_lua_shared_dict_total_bytes", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "43a621d0", + "key": { + "dataType": "string", + "id": "shared_dict--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "shared_dict", + "type": "tag" + }, + "op": "=", + "value": "kong" + }, + { + "id": "1c138557", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + }, + { + "id": "2b9d20ec", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "Memory Usage - Kong", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "8e9f5aee-2d94-42eb-bd38-bf816c04f972", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Memory Usage - Kong", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Shows the time taken to process API requests.", + "fillSpans": false, + "id": "4a14ff7a-28c0-4e23-b783-e864f89a80cf", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_request_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_request_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "e7004de2", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + }, + { + "id": "abbd8604", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "p50", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "p50", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_request_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_request_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "B", + "filters": { + "items": [ + { + "id": "148f9ed3", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + }, + { + "id": "04624b11", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "p75", + "limit": null, + "orderBy": [], + "queryName": "B", + "reduceTo": "avg", + "spaceAggregation": "p75", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_request_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_request_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "C", + "filters": { + "items": [ + { + "id": "5fc8f973", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + }, + { + "id": "f2320396", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "p90", + "limit": null, + "orderBy": [], + "queryName": "C", + "reduceTo": "avg", + "spaceAggregation": "p90", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_request_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_request_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "D", + "filters": { + "items": [ + { + "id": "88eab39e", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + }, + { + "id": "7ed784fe", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "p95", + "limit": null, + "orderBy": [], + "queryName": "D", + "reduceTo": "avg", + "spaceAggregation": "p95", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_request_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_request_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "E", + "filters": { + "items": [ + { + "id": "7ea60f4b", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + }, + { + "id": "958c7ad6", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "p99", + "limit": null, + "orderBy": [], + "queryName": "E", + "reduceTo": "avg", + "spaceAggregation": "p99", + "stepInterval": 60, + "timeAggregation": "" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "92b2ed5f-e258-4b42-9d37-c49e0f67de99", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "kong_request_latency_ms_sum{service_name=\"$service\"}" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Request Latency", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Displays the total number of errors encountered by Kong.", + "fillSpans": false, + "id": "f46a4ccc-092f-4246-a858-7a4542bb82c2", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_nginx_metric_errors_total--float64--Sum--true", + "isColumn": true, + "isJSON": false, + "key": "kong_nginx_metric_errors_total", + "type": "Sum" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "Total Errors", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "sum", + "stepInterval": 60, + "timeAggregation": "rate" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "db7de30b-3968-4aa3-9e78-cf0469908617", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Total Errors", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Illustrates the latency of upstream services that Kong communicates with during request processing.", + "fillSpans": false, + "id": "978fd9e5-a7d5-489f-998d-0709371ecb7a", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_upstream_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_upstream_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "47801bc3", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + }, + { + "id": "486584e2", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "p50", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "p50", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_upstream_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_upstream_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "B", + "filters": { + "items": [ + { + "id": "8bab9ffa", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + }, + { + "id": "5930600d", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "p75", + "limit": null, + "orderBy": [], + "queryName": "B", + "reduceTo": "avg", + "spaceAggregation": "p75", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_upstream_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_upstream_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "C", + "filters": { + "items": [ + { + "id": "dc225c28", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + }, + { + "id": "4ff31a0e", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "p90", + "limit": null, + "orderBy": [], + "queryName": "C", + "reduceTo": "avg", + "spaceAggregation": "p90", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_upstream_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_upstream_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "D", + "filters": { + "items": [ + { + "id": "042d2abb", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + }, + { + "id": "537f3e3f", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "p95", + "limit": null, + "orderBy": [], + "queryName": "D", + "reduceTo": "avg", + "spaceAggregation": "p95", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_upstream_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_upstream_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "E", + "filters": { + "items": [ + { + "id": "8b25871f", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + }, + { + "id": "532866ba", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "p99", + "limit": null, + "orderBy": [], + "queryName": "E", + "reduceTo": "avg", + "spaceAggregation": "p99", + "stepInterval": 60, + "timeAggregation": "" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "687c8cb9-f80c-45bd-9e01-9ac8f8fbb0f8", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "kong_request_latency_ms_sum{service_name=\"$service\"}" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Upstream Latency", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Displays the amount of incoming traffic to Kong, measured in requests per second and data volume.", + "fillSpans": false, + "id": "0caba268-a360-4ff3-9b89-1cb1a4e5fbd0", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_bandwidth_bytes--float64--Sum--true", + "isColumn": true, + "isJSON": false, + "key": "kong_bandwidth_bytes", + "type": "Sum" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "980c10e5", + "key": { + "dataType": "string", + "id": "direction--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "direction", + "type": "tag" + }, + "op": "=", + "value": "ingress" + }, + { + "id": "06d4cb77", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + }, + { + "id": "202ee164", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "Incoming Traffic Volume", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "sum", + "stepInterval": 60, + "timeAggregation": "rate" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "adf6d3df-aca3-4d74-92d0-dfdd0558e6f8", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Incoming Traffic Volume", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Shows the amount of outgoing traffic from Kong to upstream services.", + "fillSpans": false, + "id": "d37c8c59-0d6b-4c9a-8241-44f5a274b380", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_bandwidth_bytes--float64--Sum--true", + "isColumn": true, + "isJSON": false, + "key": "kong_bandwidth_bytes", + "type": "Sum" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "021d7229", + "key": { + "dataType": "string", + "id": "direction--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "direction", + "type": "tag" + }, + "op": "=", + "value": "egress" + }, + { + "id": "552cfe52", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + }, + { + "id": "b163cb91", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "Outgoing Traffic Volume", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "sum", + "stepInterval": 60, + "timeAggregation": "rate" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "f48aaaad-8978-4bd1-97c2-23a341270bc9", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Outgoing Traffic Volume", + "yAxisUnit": "none" + }, + { + "description": "", + "id": "7bf75fb2-3816-4a67-a03b-7de2f0f02560", + "panelTypes": "row", + "title": "General Overview" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Shows the distribution of HTTP response status codes (e.g., 2xx, 4xx, 5xx) returned by Kong.", + "fillSpans": false, + "id": "565d294f-0912-4a93-b1f8-5c83cd8810b0", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_http_requests_total--float64--Sum--true", + "isColumn": true, + "isJSON": false, + "key": "kong_http_requests_total", + "type": "Sum" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "32514557", + "key": { + "dataType": "", + "isColumn": false, + "key": "service", + "type": "" + }, + "op": "in", + "value": [ + "$service" + ] + }, + { + "id": "30aa5150", + "key": { + "dataType": "", + "isColumn": false, + "key": "code", + "type": "" + }, + "op": "in", + "value": [ + "$code" + ] + }, + { + "id": "55926609", + "key": { + "dataType": "", + "isColumn": false, + "key": "route", + "type": "" + }, + "op": "in", + "value": [ + "$route" + ] + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [ + { + "dataType": "string", + "id": "service--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "service", + "type": "tag" + }, + { + "dataType": "string", + "id": "route--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "route", + "type": "tag" + }, + { + "dataType": "string", + "id": "code--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "code", + "type": "tag" + } + ], + "having": [], + "legend": "service={{service}},route={{route}},code={{code}}", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "max", + "stepInterval": 60, + "timeAggregation": "rate" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "9d456649-614a-4cc0-9fd2-2db9e6c316b4", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Response Status Codes", + "yAxisUnit": "none" + }, + { + "description": "", + "id": "8275f3aa-3388-4278-8ec6-d102b43d2b3a", + "panelTypes": "row", + "title": "Latency Metrics" + }, + { + "description": "", + "id": "c59b5296-da6d-4663-bb6e-5fe5b4388afb", + "panelTypes": "row", + "title": "Traffic Metrics" + }, + { + "description": "", + "id": "6be25e51-effe-4c93-b062-97f21afc57e9", + "panelTypes": "row", + "title": "Error Metrics" + }, + { + "description": "", + "id": "7ac4fe31-e690-4ce6-8d78-e32727f0697c", + "panelTypes": "row", + "title": "Request Metrics" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Displays the CPU usage by Kong pods/services, indicating the processing load.", + "fillSpans": false, + "id": "8ac0f6e0-2fd1-4951-8dee-78afcd753496", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "system_cpu_load_average_1m--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "system_cpu_load_average_1m", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "fdd038e5", + "key": { + "dataType": "string", + "id": "deployment_environment--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "deployment_environment", + "type": "tag" + }, + "op": "=", + "value": "$deployment_environment" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "system_cpu_load_average_5m--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "system_cpu_load_average_5m", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "B", + "filters": { + "items": [ + { + "id": "bd3adbc2", + "key": { + "dataType": "string", + "id": "deployment_environment--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "deployment_environment", + "type": "tag" + }, + "op": "=", + "value": "$deployment_environment" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "B", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "system_cpu_load_average_15m--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "system_cpu_load_average_15m", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "C", + "filters": { + "items": [ + { + "id": "0b4083a1", + "key": { + "dataType": "string", + "id": "deployment_environment--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "deployment_environment", + "type": "tag" + }, + "op": "=", + "value": "$deployment_environment" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "C", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "80563f42-4a98-4d61-80e7-e9363c61c776", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "CPU Usage", + "yAxisUnit": "none" + }, + { + "description": "", + "id": "d6069134-5565-4a06-aac4-958fac14cf85", + "panelTypes": "row", + "title": "Resource Usage" + }, + { + "description": "", + "id": "60c5794e-8dc9-4866-a898-c3834df2c405", + "isStacked": false, + "nullZeroValues": "", + "opacity": "", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "up--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "up", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "6f0fda9c-7068-448f-8b4d-e54132d5ea11", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": null, + "softMin": null, + "timePreferance": "GLOBAL_TIME", + "title": "" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Shows the number of active connections currently managed by Kong.", + "fillSpans": false, + "id": "ef783fba-2c95-486b-ae84-7a3ebffe14e2", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_nginx_connections_total--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "kong_nginx_connections_total", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "5ede8503", + "key": { + "dataType": "string", + "id": "state--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "state", + "type": "tag" + }, + "op": "=", + "value": "active" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "select DISTINCT(JSONExtractString(time_series_v2.labels,'__name__')) as metrics from signoz_metrics.distributed_time_series_v2" + } + ], + "id": "50a54eb0-8999-4e1f-a926-1b41f61a386f", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Active Connections", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Displays the total number of API requests handled by Kong.", + "fillSpans": false, + "id": "f13bf00a-5ff0-4fce-b641-3df52b941a67", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_nginx_connections_total--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "kong_nginx_connections_total", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "8fd79b92", + "key": { + "dataType": "string", + "id": "state--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "state", + "type": "tag" + }, + "op": "=", + "value": "total" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "ec7662eb-e326-42ed-a25e-fdda81cacea6", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Total Requests", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Shows the number of accepted connections currently managed by Kong.", + "fillSpans": false, + "id": "925f9a80-2b9f-49a6-b3f9-b93a2aeabb70", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_nginx_connections_total--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "kong_nginx_connections_total", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "127693cb", + "key": { + "dataType": "string", + "id": "state--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "state", + "type": "tag" + }, + "op": "=", + "value": "accepted" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "c639ffc2-4405-4d72-8284-e6f0444ff970", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Accepted Connections", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Shows the number of handled connections currently managed by Kong.", + "fillSpans": false, + "id": "9093d884-ac9a-436b-95b9-a96488a394b4", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_nginx_connections_total--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "kong_nginx_connections_total", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "aa56cc41", + "key": { + "dataType": "string", + "id": "state--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "state", + "type": "tag" + }, + "op": "=", + "value": "handled" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "11aadf63-9c98-4ef2-8a4b-36379249ee05", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Handled Connections", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Shows the memory consumption of Kong, helping identify potential memory leaks or inefficiencies.", + "fillSpans": false, + "id": "fb73f39f-f31c-49f2-955a-8e10e39057a2", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_memory_lua_shared_dict_total_bytes--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "kong_memory_lua_shared_dict_total_bytes", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "419f0162", + "key": { + "dataType": "string", + "id": "shared_dict--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "shared_dict", + "type": "tag" + }, + "op": "=", + "value": "kong" + }, + { + "id": "808fb250", + "key": { + "dataType": "", + "isColumn": false, + "key": "deployment_environment", + "type": "" + }, + "op": "=", + "value": "$deployment_environment" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "7c02920a-c456-4693-9cf7-b2e0e7c9ea32", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Memory Usage - Kong", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Shows the time taken to process API requests.", + "fillSpans": false, + "id": "4a14ff7a-28c0-4e23-b783-e864f89a80cf", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_request_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_request_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "83b5e7b9", + "key": { + "dataType": "string", + "id": "route--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "route", + "type": "tag" + }, + "op": "=", + "value": "$route" + }, + { + "id": "fd58f53d", + "key": { + "dataType": "string", + "id": "service--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "service", + "type": "tag" + }, + "op": "=", + "value": "$service" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "p50", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_request_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_request_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "B", + "filters": { + "items": [ + { + "id": "30881fbe", + "key": { + "dataType": "string", + "id": "route--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "route", + "type": "tag" + }, + "op": "=", + "value": "$route" + }, + { + "id": "9cd7710b", + "key": { + "dataType": "string", + "id": "service--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "service", + "type": "tag" + }, + "op": "=", + "value": "$service" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "B", + "reduceTo": "avg", + "spaceAggregation": "p75", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_request_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_request_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "C", + "filters": { + "items": [ + { + "id": "48bbe8e3", + "key": { + "dataType": "string", + "id": "route--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "route", + "type": "tag" + }, + "op": "=", + "value": "$route" + }, + { + "id": "1c31f36f", + "key": { + "dataType": "string", + "id": "service--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "service", + "type": "tag" + }, + "op": "=", + "value": "$service" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "C", + "reduceTo": "avg", + "spaceAggregation": "p90", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_request_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_request_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "D", + "filters": { + "items": [ + { + "id": "63b65afb", + "key": { + "dataType": "string", + "id": "route--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "route", + "type": "tag" + }, + "op": "=", + "value": "$route" + }, + { + "id": "e942bc6c", + "key": { + "dataType": "string", + "id": "service--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "service", + "type": "tag" + }, + "op": "=", + "value": "$service" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "D", + "reduceTo": "avg", + "spaceAggregation": "p95", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_request_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_request_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "E", + "filters": { + "items": [ + { + "id": "4f1f1e68", + "key": { + "dataType": "string", + "id": "route--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "route", + "type": "tag" + }, + "op": "=", + "value": "$route" + }, + { + "id": "70dbcdde", + "key": { + "dataType": "string", + "id": "service--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "service", + "type": "tag" + }, + "op": "=", + "value": "$service" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "E", + "reduceTo": "avg", + "spaceAggregation": "p99", + "stepInterval": 60, + "timeAggregation": "" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "1f696b89-e5a4-4239-9185-1565b2f21771", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "kong_request_latency_ms_sum{service_name=\"$service\"}" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Request Latency", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Displays the total number of errors encountered by Kong.", + "fillSpans": false, + "id": "f46a4ccc-092f-4246-a858-7a4542bb82c2", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_nginx_metric_errors_total--float64--Sum--true", + "isColumn": true, + "isJSON": false, + "key": "kong_nginx_metric_errors_total", + "type": "Sum" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "sum", + "stepInterval": 60, + "timeAggregation": "rate" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "db7de30b-3968-4aa3-9e78-cf0469908617", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Total Errors", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Illustrates the latency of upstream services that Kong communicates with during request processing.", + "fillSpans": false, + "id": "978fd9e5-a7d5-489f-998d-0709371ecb7a", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_upstream_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_upstream_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "af619245", + "key": { + "dataType": "string", + "id": "service--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "service", + "type": "tag" + }, + "op": "=", + "value": "$service" + }, + { + "id": "76f51849", + "key": { + "dataType": "string", + "id": "route--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "route", + "type": "tag" + }, + "op": "=", + "value": "$route" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "p90", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_upstream_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_upstream_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "B", + "filters": { + "items": [ + { + "id": "20e99067", + "key": { + "dataType": "string", + "id": "service--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "service", + "type": "tag" + }, + "op": "=", + "value": "$service" + }, + { + "id": "3b3247b2", + "key": { + "dataType": "string", + "id": "route--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "route", + "type": "tag" + }, + "op": "=", + "value": "$route" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "B", + "reduceTo": "avg", + "spaceAggregation": "p90", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_upstream_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_upstream_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "C", + "filters": { + "items": [ + { + "id": "c2c61914", + "key": { + "dataType": "string", + "id": "service--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "service", + "type": "tag" + }, + "op": "=", + "value": "$service" + }, + { + "id": "cb439389", + "key": { + "dataType": "string", + "id": "route--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "route", + "type": "tag" + }, + "op": "=", + "value": "$route" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "C", + "reduceTo": "avg", + "spaceAggregation": "p90", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_upstream_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_upstream_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "D", + "filters": { + "items": [ + { + "id": "499fe3ee", + "key": { + "dataType": "string", + "id": "service--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "service", + "type": "tag" + }, + "op": "=", + "value": "$service" + }, + { + "id": "fc69cf3e", + "key": { + "dataType": "string", + "id": "route--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "route", + "type": "tag" + }, + "op": "=", + "value": "$route" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "D", + "reduceTo": "avg", + "spaceAggregation": "p90", + "stepInterval": 60, + "timeAggregation": "" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_upstream_latency_ms_bucket--float64--Histogram--true", + "isColumn": true, + "isJSON": false, + "key": "kong_upstream_latency_ms_bucket", + "type": "Histogram" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "E", + "filters": { + "items": [ + { + "id": "3965b197", + "key": { + "dataType": "string", + "id": "service--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "service", + "type": "tag" + }, + "op": "=", + "value": "$service" + }, + { + "id": "7b9cf92b", + "key": { + "dataType": "string", + "id": "route--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "route", + "type": "tag" + }, + "op": "=", + "value": "$route" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "E", + "reduceTo": "avg", + "spaceAggregation": "p90", + "stepInterval": 60, + "timeAggregation": "" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "e29e1393-410a-4ca7-ad4b-3a97d2e9f24d", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "kong_request_latency_ms_sum{service_name=\"$service\"}" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Upstream Latency", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Displays the amount of incoming traffic to Kong, measured in requests per second and data volume.", + "fillSpans": false, + "id": "0caba268-a360-4ff3-9b89-1cb1a4e5fbd0", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_bandwidth_bytes--float64--Sum--true", + "isColumn": true, + "isJSON": false, + "key": "kong_bandwidth_bytes", + "type": "Sum" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "f296734d", + "key": { + "dataType": "string", + "id": "direction--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "direction", + "type": "tag" + }, + "op": "=", + "value": "ingress" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "sum", + "stepInterval": 60, + "timeAggregation": "rate" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "adf6d3df-aca3-4d74-92d0-dfdd0558e6f8", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Incoming Traffic Volume", + "yAxisUnit": "none" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Shows the amount of outgoing traffic from Kong to upstream services.", + "fillSpans": false, + "id": "d37c8c59-0d6b-4c9a-8241-44f5a274b380", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_bandwidth_bytes--float64--Sum--true", + "isColumn": true, + "isJSON": false, + "key": "kong_bandwidth_bytes", + "type": "Sum" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "107f4a6d", + "key": { + "dataType": "string", + "id": "direction--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "direction", + "type": "tag" + }, + "op": "=", + "value": "egress" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "sum", + "stepInterval": 60, + "timeAggregation": "rate" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "f48aaaad-8978-4bd1-97c2-23a341270bc9", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Outgoing Traffic Volume", + "yAxisUnit": "none" + }, + { + "description": "", + "id": "7bf75fb2-3816-4a67-a03b-7de2f0f02560", + "panelTypes": "row", + "title": "General Overview" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Shows the distribution of HTTP response status codes (e.g., 2xx, 4xx, 5xx) returned by Kong.", + "fillSpans": false, + "id": "565d294f-0912-4a93-b1f8-5c83cd8810b0", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "kong_http_requests_total--float64--Sum--true", + "isColumn": true, + "isJSON": false, + "key": "kong_http_requests_total", + "type": "Sum" + }, + "aggregateOperator": "rate", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "c0fe61ca", + "key": { + "dataType": "string", + "id": "service--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "service", + "type": "tag" + }, + "op": "=", + "value": "$service" + }, + { + "id": "9ef49d61", + "key": { + "dataType": "string", + "id": "route--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "route", + "type": "tag" + }, + "op": "=", + "value": "$route" + }, + { + "id": "8459ed40", + "key": { + "dataType": "string", + "id": "code--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "code", + "type": "tag" + }, + "op": "=", + "value": "$code" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "sum", + "stepInterval": 60, + "timeAggregation": "rate" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "096b4293-4558-425d-9325-2ded5a783732", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "Response Status Codes", + "yAxisUnit": "none" + }, + { + "description": "", + "id": "8275f3aa-3388-4278-8ec6-d102b43d2b3a", + "panelTypes": "row", + "title": "Latency Metrics" + }, + { + "description": "", + "id": "c59b5296-da6d-4663-bb6e-5fe5b4388afb", + "panelTypes": "row", + "title": "Traffic Metrics" + }, + { + "description": "", + "id": "6be25e51-effe-4c93-b062-97f21afc57e9", + "panelTypes": "row", + "title": "Error Metrics" + }, + { + "description": "", + "id": "7ac4fe31-e690-4ce6-8d78-e32727f0697c", + "panelTypes": "row", + "title": "Request Metrics" + }, + { + "bucketCount": 30, + "bucketWidth": 0, + "columnUnits": {}, + "description": "Displays the CPU usage by Kong pods/services, indicating the processing load.", + "fillSpans": false, + "id": "8ac0f6e0-2fd1-4951-8dee-78afcd753496", + "isStacked": false, + "mergeAllActiveQueries": false, + "nullZeroValues": "zero", + "opacity": "1", + "panelTypes": "graph", + "query": { + "builder": { + "queryData": [ + { + "aggregateAttribute": { + "dataType": "float64", + "id": "system_cpu_load_average_1m--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "system_cpu_load_average_1m", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "A", + "filters": { + "items": [ + { + "id": "fdd038e5", + "key": { + "dataType": "string", + "id": "deployment_environment--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "deployment_environment", + "type": "tag" + }, + "op": "=", + "value": "$deployment_environment" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "A", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "system_cpu_load_average_5m--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "system_cpu_load_average_5m", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "B", + "filters": { + "items": [ + { + "id": "bd3adbc2", + "key": { + "dataType": "string", + "id": "deployment_environment--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "deployment_environment", + "type": "tag" + }, + "op": "=", + "value": "$deployment_environment" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "B", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + }, + { + "aggregateAttribute": { + "dataType": "float64", + "id": "system_cpu_load_average_15m--float64--Gauge--true", + "isColumn": true, + "isJSON": false, + "key": "system_cpu_load_average_15m", + "type": "Gauge" + }, + "aggregateOperator": "avg", + "dataSource": "metrics", + "disabled": false, + "expression": "C", + "filters": { + "items": [ + { + "id": "0b4083a1", + "key": { + "dataType": "string", + "id": "deployment_environment--string--tag--false", + "isColumn": false, + "isJSON": false, + "key": "deployment_environment", + "type": "tag" + }, + "op": "=", + "value": "$deployment_environment" + } + ], + "op": "AND" + }, + "functions": [], + "groupBy": [], + "having": [], + "legend": "", + "limit": null, + "orderBy": [], + "queryName": "C", + "reduceTo": "avg", + "spaceAggregation": "avg", + "stepInterval": 60, + "timeAggregation": "avg" + } + ], + "queryFormulas": [] + }, + "clickhouse_sql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "id": "80563f42-4a98-4d61-80e7-e9363c61c776", + "promql": [ + { + "disabled": false, + "legend": "", + "name": "A", + "query": "" + } + ], + "queryType": "builder" + }, + "selectedLogFields": [ + { + "dataType": "string", + "name": "body", + "type": "" + }, + { + "dataType": "string", + "name": "timestamp", + "type": "" + } + ], + "selectedTracesFields": [ + { + "dataType": "string", + "id": "serviceName--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "serviceName", + "type": "tag" + }, + { + "dataType": "string", + "id": "name--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "name", + "type": "tag" + }, + { + "dataType": "float64", + "id": "durationNano--float64--tag--true", + "isColumn": true, + "isJSON": false, + "key": "durationNano", + "type": "tag" + }, + { + "dataType": "string", + "id": "httpMethod--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "httpMethod", + "type": "tag" + }, + { + "dataType": "string", + "id": "responseStatusCode--string--tag--true", + "isColumn": true, + "isJSON": false, + "key": "responseStatusCode", + "type": "tag" + } + ], + "softMax": 0, + "softMin": 0, + "stackedBarChart": false, + "thresholds": [], + "timePreferance": "GLOBAL_TIME", + "title": "CPU Usage", + "yAxisUnit": "none" + }, + { + "description": "", + "id": "d6069134-5565-4a06-aac4-958fac14cf85", + "panelTypes": "row", + "title": "Resource Usage" + } + ] +}