Imporve monitoring 5
This commit is contained in:
@@ -1,102 +1,351 @@
|
||||
{
|
||||
"dashboard": {
|
||||
"title": "Bakery IA - API Performance",
|
||||
"description": "Comprehensive API performance monitoring for Bakery IA REST and GraphQL endpoints",
|
||||
"tags": ["api", "performance", "rest", "graphql"],
|
||||
"panels": [
|
||||
{
|
||||
"title": "Request Volume",
|
||||
"type": "timeseries",
|
||||
"query": {
|
||||
"metric": "http_server_requests_seconds_count",
|
||||
"aggregate": "sum",
|
||||
"groupBy": ["api"],
|
||||
"filters": [
|
||||
{
|
||||
"key": "api",
|
||||
"operator": "=",
|
||||
"value": "${api}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"unit": "req/s"
|
||||
},
|
||||
{
|
||||
"title": "Error Rate",
|
||||
"type": "timeseries",
|
||||
"query": {
|
||||
"metric": "http_server_requests_seconds_count",
|
||||
"aggregate": "sum",
|
||||
"groupBy": ["api", "status"],
|
||||
"filters": [
|
||||
{
|
||||
"key": "api",
|
||||
"operator": "=",
|
||||
"value": "${api}"
|
||||
},
|
||||
{
|
||||
"key": "status",
|
||||
"operator": "=~",
|
||||
"value": "5.."
|
||||
}
|
||||
]
|
||||
},
|
||||
"unit": "req/s"
|
||||
},
|
||||
{
|
||||
"title": "Average Response Time",
|
||||
"type": "timeseries",
|
||||
"query": {
|
||||
"metric": "http_server_requests_seconds_sum",
|
||||
"aggregate": "avg",
|
||||
"groupBy": ["api", "endpoint"],
|
||||
"filters": [
|
||||
{
|
||||
"key": "api",
|
||||
"operator": "=",
|
||||
"value": "${api}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"unit": "seconds"
|
||||
},
|
||||
{
|
||||
"title": "P95 Latency",
|
||||
"type": "timeseries",
|
||||
"query": {
|
||||
"metric": "http_server_requests_seconds_bucket",
|
||||
"aggregate": "histogram_quantile",
|
||||
"quantile": 0.95,
|
||||
"groupBy": ["api", "endpoint"],
|
||||
"filters": [
|
||||
{
|
||||
"key": "api",
|
||||
"operator": "=",
|
||||
"value": "${api}"
|
||||
}
|
||||
]
|
||||
},
|
||||
"unit": "seconds"
|
||||
}
|
||||
],
|
||||
"variables": [
|
||||
{
|
||||
"name": "api",
|
||||
"label": "API Service",
|
||||
"type": "dropdown",
|
||||
"default": "*",
|
||||
"values": ["*", "gateway-api", "auth-api", "inventory-api", "production-api", "forecasting-api", "procurement-api"]
|
||||
}
|
||||
],
|
||||
"layout": {
|
||||
"type": "grid",
|
||||
"columns": 12,
|
||||
"gap": [16, 16]
|
||||
"description": "Comprehensive API performance monitoring for Bakery IA REST and GraphQL endpoints",
|
||||
"tags": ["api", "performance", "rest", "graphql"],
|
||||
"name": "bakery-ia-api-performance",
|
||||
"title": "Bakery IA - API Performance",
|
||||
"uploadedGrafana": false,
|
||||
"uuid": "bakery-ia-api-01",
|
||||
"version": "v4",
|
||||
"collapsableRowsMigrated": true,
|
||||
"layout": [
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"w": 6,
|
||||
"h": 3,
|
||||
"i": "request-volume",
|
||||
"moved": false,
|
||||
"static": false
|
||||
},
|
||||
"refresh": "15s",
|
||||
"time": {
|
||||
"from": "now-1h",
|
||||
"to": "now"
|
||||
{
|
||||
"x": 6,
|
||||
"y": 0,
|
||||
"w": 6,
|
||||
"h": 3,
|
||||
"i": "error-rate",
|
||||
"moved": false,
|
||||
"static": false
|
||||
},
|
||||
{
|
||||
"x": 0,
|
||||
"y": 3,
|
||||
"w": 6,
|
||||
"h": 3,
|
||||
"i": "avg-response-time",
|
||||
"moved": false,
|
||||
"static": false
|
||||
},
|
||||
{
|
||||
"x": 6,
|
||||
"y": 3,
|
||||
"w": 6,
|
||||
"h": 3,
|
||||
"i": "p95-latency",
|
||||
"moved": false,
|
||||
"static": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"variables": {
|
||||
"service": {
|
||||
"id": "service-var",
|
||||
"name": "service",
|
||||
"description": "Filter by API service",
|
||||
"type": "QUERY",
|
||||
"queryValue": "SELECT DISTINCT(resource_attrs['service.name']) as value FROM signoz_metrics.distributed_time_series_v4_1day WHERE metric_name = 'http_server_requests_seconds_count' AND value != '' ORDER BY value",
|
||||
"customValue": "",
|
||||
"textboxValue": "",
|
||||
"showALLOption": true,
|
||||
"multiSelect": false,
|
||||
"order": 1,
|
||||
"modificationUUID": "",
|
||||
"sort": "ASC",
|
||||
"selectedValue": null
|
||||
}
|
||||
},
|
||||
"widgets": [
|
||||
{
|
||||
"id": "request-volume",
|
||||
"title": "Request Volume",
|
||||
"description": "API request volume by service",
|
||||
"isStacked": false,
|
||||
"nullZeroValues": "zero",
|
||||
"opacity": "1",
|
||||
"panelTypes": "graph",
|
||||
"query": {
|
||||
"builder": {
|
||||
"queryData": [
|
||||
{
|
||||
"dataSource": "metrics",
|
||||
"queryName": "A",
|
||||
"aggregateOperator": "sum",
|
||||
"aggregateAttribute": {
|
||||
"key": "http_server_requests_seconds_count",
|
||||
"dataType": "int64",
|
||||
"type": "Counter",
|
||||
"isColumn": false
|
||||
},
|
||||
"timeAggregation": "rate",
|
||||
"spaceAggregation": "sum",
|
||||
"functions": [],
|
||||
"filters": {
|
||||
"items": [
|
||||
{
|
||||
"key": {
|
||||
"key": "service.name",
|
||||
"dataType": "string",
|
||||
"type": "resource",
|
||||
"isColumn": false
|
||||
},
|
||||
"op": "=",
|
||||
"value": "{{.service}}"
|
||||
}
|
||||
],
|
||||
"op": "AND"
|
||||
},
|
||||
"expression": "A",
|
||||
"disabled": false,
|
||||
"having": [],
|
||||
"stepInterval": 60,
|
||||
"limit": null,
|
||||
"orderBy": [],
|
||||
"groupBy": [
|
||||
{
|
||||
"key": "api.name",
|
||||
"dataType": "string",
|
||||
"type": "resource",
|
||||
"isColumn": false
|
||||
}
|
||||
],
|
||||
"legend": "{{api.name}}",
|
||||
"reduceTo": "sum"
|
||||
}
|
||||
],
|
||||
"queryFormulas": []
|
||||
},
|
||||
"queryType": "builder"
|
||||
},
|
||||
"fillSpans": false,
|
||||
"yAxisUnit": "req/s"
|
||||
},
|
||||
{
|
||||
"id": "error-rate",
|
||||
"title": "Error Rate",
|
||||
"description": "API error rate by service",
|
||||
"isStacked": false,
|
||||
"nullZeroValues": "zero",
|
||||
"opacity": "1",
|
||||
"panelTypes": "graph",
|
||||
"query": {
|
||||
"builder": {
|
||||
"queryData": [
|
||||
{
|
||||
"dataSource": "metrics",
|
||||
"queryName": "A",
|
||||
"aggregateOperator": "sum",
|
||||
"aggregateAttribute": {
|
||||
"key": "http_server_requests_seconds_count",
|
||||
"dataType": "int64",
|
||||
"type": "Counter",
|
||||
"isColumn": false
|
||||
},
|
||||
"timeAggregation": "rate",
|
||||
"spaceAggregation": "sum",
|
||||
"functions": [],
|
||||
"filters": {
|
||||
"items": [
|
||||
{
|
||||
"key": {
|
||||
"key": "api.name",
|
||||
"dataType": "string",
|
||||
"type": "resource",
|
||||
"isColumn": false
|
||||
},
|
||||
"op": "=",
|
||||
"value": "{{.api}}"
|
||||
},
|
||||
{
|
||||
"key": {
|
||||
"key": "status_code",
|
||||
"dataType": "string",
|
||||
"type": "tag",
|
||||
"isColumn": false
|
||||
},
|
||||
"op": "=~",
|
||||
"value": "5.."
|
||||
}
|
||||
],
|
||||
"op": "AND"
|
||||
},
|
||||
"expression": "A",
|
||||
"disabled": false,
|
||||
"having": [],
|
||||
"stepInterval": 60,
|
||||
"limit": null,
|
||||
"orderBy": [],
|
||||
"groupBy": [
|
||||
{
|
||||
"key": "api.name",
|
||||
"dataType": "string",
|
||||
"type": "resource",
|
||||
"isColumn": false
|
||||
},
|
||||
{
|
||||
"key": "status_code",
|
||||
"dataType": "string",
|
||||
"type": "tag",
|
||||
"isColumn": false
|
||||
}
|
||||
],
|
||||
"legend": "{{api.name}} - {{status_code}}",
|
||||
"reduceTo": "sum"
|
||||
}
|
||||
],
|
||||
"queryFormulas": []
|
||||
},
|
||||
"queryType": "builder"
|
||||
},
|
||||
"fillSpans": false,
|
||||
"yAxisUnit": "req/s"
|
||||
},
|
||||
{
|
||||
"id": "avg-response-time",
|
||||
"title": "Average Response Time",
|
||||
"description": "Average API response time by endpoint",
|
||||
"isStacked": false,
|
||||
"nullZeroValues": "zero",
|
||||
"opacity": "1",
|
||||
"panelTypes": "graph",
|
||||
"query": {
|
||||
"builder": {
|
||||
"queryData": [
|
||||
{
|
||||
"dataSource": "metrics",
|
||||
"queryName": "A",
|
||||
"aggregateOperator": "avg",
|
||||
"aggregateAttribute": {
|
||||
"key": "http_server_requests_seconds_sum",
|
||||
"dataType": "float64",
|
||||
"type": "Counter",
|
||||
"isColumn": false
|
||||
},
|
||||
"timeAggregation": "avg",
|
||||
"spaceAggregation": "avg",
|
||||
"functions": [],
|
||||
"filters": {
|
||||
"items": [
|
||||
{
|
||||
"key": {
|
||||
"key": "api.name",
|
||||
"dataType": "string",
|
||||
"type": "resource",
|
||||
"isColumn": false
|
||||
},
|
||||
"op": "=",
|
||||
"value": "{{.api}}"
|
||||
}
|
||||
],
|
||||
"op": "AND"
|
||||
},
|
||||
"expression": "A",
|
||||
"disabled": false,
|
||||
"having": [],
|
||||
"stepInterval": 60,
|
||||
"limit": null,
|
||||
"orderBy": [],
|
||||
"groupBy": [
|
||||
{
|
||||
"key": "api.name",
|
||||
"dataType": "string",
|
||||
"type": "resource",
|
||||
"isColumn": false
|
||||
},
|
||||
{
|
||||
"key": "endpoint",
|
||||
"dataType": "string",
|
||||
"type": "tag",
|
||||
"isColumn": false
|
||||
}
|
||||
],
|
||||
"legend": "{{api.name}} - {{endpoint}}",
|
||||
"reduceTo": "avg"
|
||||
}
|
||||
],
|
||||
"queryFormulas": []
|
||||
},
|
||||
"queryType": "builder"
|
||||
},
|
||||
"fillSpans": false,
|
||||
"yAxisUnit": "seconds"
|
||||
},
|
||||
{
|
||||
"id": "p95-latency",
|
||||
"title": "P95 Latency",
|
||||
"description": "95th percentile latency by endpoint",
|
||||
"isStacked": false,
|
||||
"nullZeroValues": "zero",
|
||||
"opacity": "1",
|
||||
"panelTypes": "graph",
|
||||
"query": {
|
||||
"builder": {
|
||||
"queryData": [
|
||||
{
|
||||
"dataSource": "metrics",
|
||||
"queryName": "A",
|
||||
"aggregateOperator": "histogram_quantile",
|
||||
"aggregateAttribute": {
|
||||
"key": "http_server_requests_seconds_bucket",
|
||||
"dataType": "float64",
|
||||
"type": "Histogram",
|
||||
"isColumn": false
|
||||
},
|
||||
"timeAggregation": "avg",
|
||||
"spaceAggregation": "avg",
|
||||
"functions": [],
|
||||
"filters": {
|
||||
"items": [
|
||||
{
|
||||
"key": {
|
||||
"key": "api.name",
|
||||
"dataType": "string",
|
||||
"type": "resource",
|
||||
"isColumn": false
|
||||
},
|
||||
"op": "=",
|
||||
"value": "{{.api}}"
|
||||
}
|
||||
],
|
||||
"op": "AND"
|
||||
},
|
||||
"expression": "A",
|
||||
"disabled": false,
|
||||
"having": [],
|
||||
"stepInterval": 60,
|
||||
"limit": null,
|
||||
"orderBy": [],
|
||||
"groupBy": [
|
||||
{
|
||||
"key": "api.name",
|
||||
"dataType": "string",
|
||||
"type": "resource",
|
||||
"isColumn": false
|
||||
},
|
||||
{
|
||||
"key": "endpoint",
|
||||
"dataType": "string",
|
||||
"type": "tag",
|
||||
"isColumn": false
|
||||
}
|
||||
],
|
||||
"legend": "{{api.name}} - {{endpoint}}",
|
||||
"reduceTo": "avg"
|
||||
}
|
||||
],
|
||||
"queryFormulas": []
|
||||
},
|
||||
"queryType": "builder"
|
||||
},
|
||||
"fillSpans": false,
|
||||
"yAxisUnit": "seconds"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user