mirror of
https://github.com/hanzoai/o11y.git
synced 2026-10-15 12:58:33 +00:00
1169 lines
46 KiB
JSON
1169 lines
46 KiB
JSON
{
|
|
"description": "This dashboard provides a high-level overview of your PostgreSQL databases. It includes replication, locks, and throughput etc...",
|
|
"id": "overview",
|
|
"layout": [
|
|
{
|
|
"h": 3,
|
|
"i": "9552123d-6265-48a7-8624-3f4a3fc3c9c0",
|
|
"moved": false,
|
|
"static": false,
|
|
"w": 6,
|
|
"x": 0,
|
|
"y": 18
|
|
},
|
|
{
|
|
"h": 3,
|
|
"i": "d7838815-4f5b-4454-86fd-f658b201f3a9",
|
|
"moved": false,
|
|
"static": false,
|
|
"w": 6,
|
|
"x": 6,
|
|
"y": 15
|
|
},
|
|
{
|
|
"h": 3,
|
|
"i": "f9a6f683-7455-4643-acc8-467cc5ea52cf",
|
|
"moved": false,
|
|
"static": false,
|
|
"w": 6,
|
|
"x": 0,
|
|
"y": 15
|
|
},
|
|
{
|
|
"h": 3,
|
|
"i": "8638a199-20a0-4255-b0a2-3b1ba06c485b",
|
|
"moved": false,
|
|
"static": false,
|
|
"w": 6,
|
|
"x": 3,
|
|
"y": 12
|
|
},
|
|
{
|
|
"h": 3,
|
|
"i": "e9341e70-ccb3-47fc-af95-56ba8942c4f2",
|
|
"moved": false,
|
|
"static": false,
|
|
"w": 6,
|
|
"x": 6,
|
|
"y": 9
|
|
},
|
|
{
|
|
"h": 3,
|
|
"i": "6b700035-e3c2-4c48-99fa-ebfd6202eed3",
|
|
"moved": false,
|
|
"static": false,
|
|
"w": 6,
|
|
"x": 0,
|
|
"y": 9
|
|
},
|
|
{
|
|
"h": 3,
|
|
"i": "bada7864-1d23-4d49-a868-c6b8a93c738f",
|
|
"moved": false,
|
|
"static": false,
|
|
"w": 6,
|
|
"x": 3,
|
|
"y": 6
|
|
},
|
|
{
|
|
"h": 3,
|
|
"i": "191d09a6-40b0-4de8-a5b0-aa4254454b99",
|
|
"moved": false,
|
|
"static": false,
|
|
"w": 6,
|
|
"x": 0,
|
|
"y": 0
|
|
},
|
|
{
|
|
"h": 3,
|
|
"i": "fa941c00-ce19-49cc-baf2-c38598767dee",
|
|
"moved": false,
|
|
"static": false,
|
|
"w": 6,
|
|
"x": 6,
|
|
"y": 0
|
|
},
|
|
{
|
|
"h": 3,
|
|
"i": "114fcf80-e1de-4716-b1aa-0e0738dba10e",
|
|
"moved": false,
|
|
"static": false,
|
|
"w": 6,
|
|
"x": 0,
|
|
"y": 3
|
|
},
|
|
{
|
|
"h": 3,
|
|
"i": "667428ef-9b9a-4e91-bd1e-938e0dc1ff32",
|
|
"moved": false,
|
|
"static": false,
|
|
"w": 6,
|
|
"x": 6,
|
|
"y": 3
|
|
}
|
|
],
|
|
"name": "",
|
|
"tags": [
|
|
"postgres",
|
|
"database"
|
|
],
|
|
"title": "Postgres overview",
|
|
"variables": {
|
|
"4250ef7b-8f42-4a24-902a-a764d070b92d": {
|
|
"allSelected": true,
|
|
"customValue": "",
|
|
"description": "List of hosts sending Postgres metrics",
|
|
"id": "4250ef7b-8f42-4a24-902a-a764d070b92d",
|
|
"key": "4250ef7b-8f42-4a24-902a-a764d070b92d",
|
|
"modificationUUID": "4427b655-c8d2-40ce-84ed-7cb058bd3041",
|
|
"multiSelect": true,
|
|
"name": "host.name",
|
|
"order": 0,
|
|
"queryValue": "SELECT JSONExtractString(labels, 'host.name') AS `host.name`\nFROM o11y_metrics.distributed_time_series_v4_1day\nWHERE metric_name = 'postgresql.operations'\nGROUP BY `host.name`",
|
|
"selectedValue": [
|
|
"Srikanths-MacBook-Pro.local"
|
|
],
|
|
"showALLOption": true,
|
|
"sort": "ASC",
|
|
"textboxValue": "",
|
|
"type": "QUERY"
|
|
},
|
|
"8ecaee70-640f-46fd-83d9-a4fd18bc66e6": {
|
|
"allSelected": true,
|
|
"customValue": "",
|
|
"description": "List of tables",
|
|
"id": "8ecaee70-640f-46fd-83d9-a4fd18bc66e6",
|
|
"modificationUUID": "a51321cd-47a2-470a-8df4-372e5bb36f2c",
|
|
"multiSelect": true,
|
|
"name": "table.name",
|
|
"order": 0,
|
|
"queryValue": "SELECT JSONExtractString(labels, 'postgresql.table.name') AS `table.name`\nFROM o11y_metrics.distributed_time_series_v4_1day\nWHERE metric_name = 'postgresql.operations' AND JSONExtractString(labels, 'postgresql.database.name') IN {{.db.name}}\nGROUP BY `table.name`",
|
|
"selectedValue": [
|
|
"public.activations",
|
|
"public.licenses",
|
|
"public.plans",
|
|
"public.subscription_items",
|
|
"public.subscriptions",
|
|
"public.trials",
|
|
"public.usage"
|
|
],
|
|
"showALLOption": true,
|
|
"sort": "ASC",
|
|
"textboxValue": "",
|
|
"type": "QUERY"
|
|
},
|
|
"c66d1581-e5e1-440d-8ff6-ebcf078ab6dd": {
|
|
"allSelected": true,
|
|
"customValue": "",
|
|
"description": "List of databases",
|
|
"id": "c66d1581-e5e1-440d-8ff6-ebcf078ab6dd",
|
|
"key": "c66d1581-e5e1-440d-8ff6-ebcf078ab6dd",
|
|
"modificationUUID": "564a3f43-98f8-4189-b5e4-dcb518d73852",
|
|
"multiSelect": true,
|
|
"name": "db.name",
|
|
"order": 0,
|
|
"queryValue": "SELECT JSONExtractString(labels, 'postgresql.database.name') AS `db.name`\nFROM o11y_metrics.distributed_time_series_v4_1day\nWHERE metric_name = 'postgresql.operations'\nGROUP BY `db.name`",
|
|
"selectedValue": [
|
|
"postgres"
|
|
],
|
|
"showALLOption": true,
|
|
"sort": "DISABLED",
|
|
"textboxValue": "",
|
|
"type": "QUERY"
|
|
}
|
|
},
|
|
"version": "v5",
|
|
"widgets": [
|
|
{
|
|
"description": "The average number of db insert operations.",
|
|
"fillSpans": false,
|
|
"id": "191d09a6-40b0-4de8-a5b0-aa4254454b99",
|
|
"isStacked": false,
|
|
"nullZeroValues": "zero",
|
|
"opacity": "1",
|
|
"panelTypes": "graph",
|
|
"query": {
|
|
"builder": {
|
|
"queryData": [
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.operations",
|
|
"reduceTo": "sum",
|
|
"spaceAggregation": "avg",
|
|
"temporality": null,
|
|
"timeAggregation": "avg"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "A",
|
|
"filter": {
|
|
"expression": "(operation = 'ins' AND host.name IN $host.name AND postgresql.database.name IN $db.name)"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "postgresql.database.name--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "postgresql.database.name",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "{{postgresql.database.name}}",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "A",
|
|
"stepInterval": 60
|
|
}
|
|
],
|
|
"queryFormulas": []
|
|
},
|
|
"datastore_sql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"id": "bf48ac4c-bc0c-41a0-87f4-6f8ae7888d1f",
|
|
"promql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"queryType": "builder"
|
|
},
|
|
"softMax": null,
|
|
"softMin": null,
|
|
"thresholds": [],
|
|
"timePreferance": "GLOBAL_TIME",
|
|
"title": "Inserts",
|
|
"yAxisUnit": "none"
|
|
},
|
|
{
|
|
"description": "The average number of db update operations.",
|
|
"fillSpans": false,
|
|
"id": "fa941c00-ce19-49cc-baf2-c38598767dee",
|
|
"isStacked": false,
|
|
"nullZeroValues": "zero",
|
|
"opacity": "1",
|
|
"panelTypes": "graph",
|
|
"query": {
|
|
"builder": {
|
|
"queryData": [
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.operations",
|
|
"reduceTo": "sum",
|
|
"spaceAggregation": "avg",
|
|
"temporality": null,
|
|
"timeAggregation": "avg"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "A",
|
|
"filter": {
|
|
"expression": "(operation = 'upd' AND host.name IN $host.name AND postgresql.database.name IN $db.name)"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "postgresql.database.name--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "postgresql.database.name",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "{{postgresql.database.name}}",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "A",
|
|
"stepInterval": 60
|
|
}
|
|
],
|
|
"queryFormulas": []
|
|
},
|
|
"datastore_sql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"id": "34a6ac3a-b7f6-4b5f-a084-a44378033d82",
|
|
"promql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"queryType": "builder"
|
|
},
|
|
"softMax": null,
|
|
"softMin": null,
|
|
"thresholds": [],
|
|
"timePreferance": "GLOBAL_TIME",
|
|
"title": "Updates",
|
|
"yAxisUnit": "none"
|
|
},
|
|
{
|
|
"description": "The average number of db delete operations.",
|
|
"fillSpans": false,
|
|
"id": "114fcf80-e1de-4716-b1aa-0e0738dba10e",
|
|
"isStacked": false,
|
|
"nullZeroValues": "zero",
|
|
"opacity": "1",
|
|
"panelTypes": "graph",
|
|
"query": {
|
|
"builder": {
|
|
"queryData": [
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.operations",
|
|
"reduceTo": "sum",
|
|
"spaceAggregation": "avg",
|
|
"temporality": null,
|
|
"timeAggregation": "avg"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "A",
|
|
"filter": {
|
|
"expression": "(operation = 'del' AND host.name IN $host.name AND postgresql.database.name IN $db.name)"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "postgresql.database.name--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "postgresql.database.name",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "{{postgresql.database.name}}",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "A",
|
|
"stepInterval": 60
|
|
}
|
|
],
|
|
"queryFormulas": []
|
|
},
|
|
"datastore_sql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"id": "734393d1-76ed-4f4f-bef8-0a91d27ebec4",
|
|
"promql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"queryType": "builder"
|
|
},
|
|
"softMax": null,
|
|
"softMin": null,
|
|
"thresholds": [],
|
|
"timePreferance": "GLOBAL_TIME",
|
|
"title": "Deleted",
|
|
"yAxisUnit": "none"
|
|
},
|
|
{
|
|
"description": "The average number of db heap-only update operations.",
|
|
"fillSpans": false,
|
|
"id": "667428ef-9b9a-4e91-bd1e-938e0dc1ff32",
|
|
"isStacked": false,
|
|
"nullZeroValues": "zero",
|
|
"opacity": "1",
|
|
"panelTypes": "graph",
|
|
"query": {
|
|
"builder": {
|
|
"queryData": [
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.operations",
|
|
"reduceTo": "sum",
|
|
"spaceAggregation": "avg",
|
|
"temporality": null,
|
|
"timeAggregation": "avg"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "A",
|
|
"filter": {
|
|
"expression": "(operation = 'hot_upd' AND host.name IN $host.name AND postgresql.database.name IN $db.name)"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "postgresql.database.name--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "postgresql.database.name",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "{{postgresql.database.name}}",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "A",
|
|
"stepInterval": 60
|
|
}
|
|
],
|
|
"queryFormulas": []
|
|
},
|
|
"datastore_sql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"id": "f43c2d19-4abc-4f5e-881b-db7add4a870a",
|
|
"promql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"queryType": "builder"
|
|
},
|
|
"softMax": null,
|
|
"softMin": null,
|
|
"thresholds": [],
|
|
"timePreferance": "GLOBAL_TIME",
|
|
"title": "Heap updates",
|
|
"yAxisUnit": "none"
|
|
},
|
|
{
|
|
"description": "",
|
|
"fillSpans": false,
|
|
"id": "bada7864-1d23-4d49-a868-c6b8a93c738f",
|
|
"isStacked": false,
|
|
"nullZeroValues": "zero",
|
|
"opacity": "1",
|
|
"panelTypes": "table",
|
|
"query": {
|
|
"builder": {
|
|
"queryData": [
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.operations",
|
|
"reduceTo": "avg",
|
|
"spaceAggregation": "avg",
|
|
"temporality": null,
|
|
"timeAggregation": "avg"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "A",
|
|
"filter": {
|
|
"expression": "(operation = 'ins' AND host.name IN $host.name AND postgresql.database.name IN $db.name)"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "postgresql.database.name--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "postgresql.database.name",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "Inserted",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "A",
|
|
"stepInterval": 60
|
|
},
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.operations",
|
|
"reduceTo": "avg",
|
|
"spaceAggregation": "avg",
|
|
"temporality": null,
|
|
"timeAggregation": "avg"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "B",
|
|
"filter": {
|
|
"expression": "(operation = 'upd' AND host.name IN $host.name AND postgresql.database.name IN $db.name)"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "postgresql.database.name--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "postgresql.database.name",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "Updated",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "B",
|
|
"stepInterval": 60
|
|
},
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.operations",
|
|
"reduceTo": "avg",
|
|
"spaceAggregation": "avg",
|
|
"temporality": null,
|
|
"timeAggregation": "avg"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "C",
|
|
"filter": {
|
|
"expression": "(operation = 'del' AND host.name IN $host.name AND postgresql.database.name IN $db.name)"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "postgresql.database.name--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "postgresql.database.name",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "Deleted",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "C",
|
|
"stepInterval": 60
|
|
}
|
|
],
|
|
"queryFormulas": []
|
|
},
|
|
"datastore_sql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"id": "5056105b-1c30-4d27-8187-64457f2a1ec6",
|
|
"promql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"queryType": "builder"
|
|
},
|
|
"softMax": null,
|
|
"softMin": null,
|
|
"thresholds": [],
|
|
"timePreferance": "GLOBAL_TIME",
|
|
"title": "Operation by database",
|
|
"yAxisUnit": "none"
|
|
},
|
|
{
|
|
"description": "The number of database locks.",
|
|
"fillSpans": false,
|
|
"id": "6b700035-e3c2-4c48-99fa-ebfd6202eed3",
|
|
"isStacked": false,
|
|
"nullZeroValues": "zero",
|
|
"opacity": "1",
|
|
"panelTypes": "graph",
|
|
"query": {
|
|
"builder": {
|
|
"queryData": [
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.database.locks",
|
|
"reduceTo": "sum",
|
|
"spaceAggregation": "sum",
|
|
"temporality": null,
|
|
"timeAggregation": "sum"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "A",
|
|
"filter": {
|
|
"expression": "host.name IN $host.name"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "mode--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "mode",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "{{mode}}",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "A",
|
|
"stepInterval": 60
|
|
}
|
|
],
|
|
"queryFormulas": []
|
|
},
|
|
"datastore_sql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"id": "877b0df3-9ae3-455e-ad27-bc3aa40b3f4c",
|
|
"promql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"queryType": "builder"
|
|
},
|
|
"softMax": null,
|
|
"softMin": null,
|
|
"thresholds": [],
|
|
"timePreferance": "GLOBAL_TIME",
|
|
"title": "Locks by lock mode",
|
|
"yAxisUnit": "none"
|
|
},
|
|
{
|
|
"description": "",
|
|
"fillSpans": false,
|
|
"id": "e9341e70-ccb3-47fc-af95-56ba8942c4f2",
|
|
"isStacked": false,
|
|
"nullZeroValues": "zero",
|
|
"opacity": "1",
|
|
"panelTypes": "graph",
|
|
"query": {
|
|
"builder": {
|
|
"queryData": [
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.deadlocks",
|
|
"reduceTo": "sum",
|
|
"spaceAggregation": "sum",
|
|
"temporality": null,
|
|
"timeAggregation": "rate"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "A",
|
|
"filter": {
|
|
"expression": "(host.name IN $host.name AND postgresql.database.name IN $db.name)"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "postgresql.database.name--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "postgresql.database.name",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "{{postgresql.database.name}}",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "A",
|
|
"stepInterval": 60
|
|
}
|
|
],
|
|
"queryFormulas": []
|
|
},
|
|
"datastore_sql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"id": "5056105b-1c30-4d27-8187-64457f2a1ec6",
|
|
"promql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"queryType": "builder"
|
|
},
|
|
"softMax": null,
|
|
"softMin": null,
|
|
"thresholds": [],
|
|
"timePreferance": "GLOBAL_TIME",
|
|
"title": "Deadlocks count",
|
|
"yAxisUnit": "none"
|
|
},
|
|
{
|
|
"description": "",
|
|
"fillSpans": false,
|
|
"id": "8638a199-20a0-4255-b0a2-3b1ba06c485b",
|
|
"isStacked": false,
|
|
"nullZeroValues": "zero",
|
|
"opacity": "1",
|
|
"panelTypes": "graph",
|
|
"query": {
|
|
"builder": {
|
|
"queryData": [
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.backends",
|
|
"reduceTo": "sum",
|
|
"spaceAggregation": "avg",
|
|
"temporality": null,
|
|
"timeAggregation": "avg"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "A",
|
|
"filter": {
|
|
"expression": "(host.name IN $host.name AND postgresql.database.name IN $db.name)"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "postgresql.database.name--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "postgresql.database.name",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "{{postgresql.database.name}}",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "A",
|
|
"stepInterval": 60
|
|
}
|
|
],
|
|
"queryFormulas": []
|
|
},
|
|
"datastore_sql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"id": "205b99a0-2f1c-4bd2-9ba0-cc2da6ef247a",
|
|
"promql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"queryType": "builder"
|
|
},
|
|
"softMax": null,
|
|
"softMin": null,
|
|
"thresholds": [],
|
|
"timePreferance": "GLOBAL_TIME",
|
|
"title": "Connections per db",
|
|
"yAxisUnit": "none"
|
|
},
|
|
{
|
|
"description": "",
|
|
"fillSpans": false,
|
|
"id": "f9a6f683-7455-4643-acc8-467cc5ea52cf",
|
|
"isStacked": false,
|
|
"nullZeroValues": "zero",
|
|
"opacity": "1",
|
|
"panelTypes": "graph",
|
|
"query": {
|
|
"builder": {
|
|
"queryData": [
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.rows",
|
|
"reduceTo": "sum",
|
|
"spaceAggregation": "sum",
|
|
"temporality": null,
|
|
"timeAggregation": "sum"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "A",
|
|
"filter": {
|
|
"expression": "(state = 'dead' AND host.name IN $host.name AND postgresql.database.name IN $db.name AND postgresql.table.name IN $table.name)"
|
|
},
|
|
"groupBy": [],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "Dead rows",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "A",
|
|
"stepInterval": 60
|
|
}
|
|
],
|
|
"queryFormulas": []
|
|
},
|
|
"datastore_sql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"id": "cc7452c8-118b-4676-959e-7062bafc41ee",
|
|
"promql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"queryType": "builder"
|
|
},
|
|
"softMax": null,
|
|
"softMin": null,
|
|
"thresholds": [],
|
|
"timePreferance": "GLOBAL_TIME",
|
|
"title": "Dead rows",
|
|
"yAxisUnit": "none"
|
|
},
|
|
{
|
|
"description": "",
|
|
"fillSpans": false,
|
|
"id": "d7838815-4f5b-4454-86fd-f658b201f3a9",
|
|
"isStacked": false,
|
|
"nullZeroValues": "zero",
|
|
"opacity": "1",
|
|
"panelTypes": "graph",
|
|
"query": {
|
|
"builder": {
|
|
"queryData": [
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.index.scans",
|
|
"reduceTo": "sum",
|
|
"spaceAggregation": "sum",
|
|
"temporality": null,
|
|
"timeAggregation": "rate"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "A",
|
|
"filter": {
|
|
"expression": "(host.name IN $host.name AND postgresql.database.name IN $db.name AND postgresql.table.name IN $table.name)"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "postgresql.index.name--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "postgresql.index.name",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "{{postgresql.index.name}}",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "A",
|
|
"stepInterval": 60
|
|
}
|
|
],
|
|
"queryFormulas": []
|
|
},
|
|
"datastore_sql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"id": "2c6b630b-8bd9-4001-815b-f2b1f439a9dd",
|
|
"promql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"queryType": "builder"
|
|
},
|
|
"softMax": null,
|
|
"softMin": null,
|
|
"thresholds": [],
|
|
"timePreferance": "GLOBAL_TIME",
|
|
"title": "Index scans by index",
|
|
"yAxisUnit": "none"
|
|
},
|
|
{
|
|
"description": "",
|
|
"fillSpans": false,
|
|
"id": "9552123d-6265-48a7-8624-3f4a3fc3c9c0",
|
|
"isStacked": false,
|
|
"nullZeroValues": "zero",
|
|
"opacity": "1",
|
|
"panelTypes": "table",
|
|
"query": {
|
|
"builder": {
|
|
"queryData": [
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.rows",
|
|
"reduceTo": "avg",
|
|
"spaceAggregation": "avg",
|
|
"temporality": null,
|
|
"timeAggregation": "avg"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "A",
|
|
"filter": {
|
|
"expression": "(state = 'dead' AND host.name IN $host.name AND postgresql.database.name IN $db.name AND postgresql.table.name IN $table.name)"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "postgresql.table.name--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "postgresql.table.name",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "Dead rows",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "A",
|
|
"stepInterval": 60
|
|
},
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.rows",
|
|
"reduceTo": "avg",
|
|
"spaceAggregation": "avg",
|
|
"temporality": null,
|
|
"timeAggregation": "avg"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "B",
|
|
"filter": {
|
|
"expression": "(state = 'live' AND host.name IN $host.name AND postgresql.database.name IN $db.name AND postgresql.table.name IN $table.name)"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "postgresql.table.name--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "postgresql.table.name",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "Live rows",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "B",
|
|
"stepInterval": 60
|
|
},
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.index.scans",
|
|
"reduceTo": "sum",
|
|
"spaceAggregation": "sum",
|
|
"temporality": null,
|
|
"timeAggregation": "rate"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "C",
|
|
"filter": {
|
|
"expression": "(host.name IN $host.name AND postgresql.database.name IN $db.name AND postgresql.table.name IN $table.name)"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "postgresql.table.name--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "postgresql.table.name",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "Index scans",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "C",
|
|
"stepInterval": 60
|
|
},
|
|
{
|
|
"aggregations": [
|
|
{
|
|
"metricName": "postgresql.table.size",
|
|
"reduceTo": "avg",
|
|
"spaceAggregation": "avg",
|
|
"temporality": null,
|
|
"timeAggregation": "avg"
|
|
}
|
|
],
|
|
"dataSource": "metrics",
|
|
"disabled": false,
|
|
"expression": "D",
|
|
"filter": {
|
|
"expression": "(host.name IN $host.name AND postgresql.database.name IN $db.name AND postgresql.table.name IN $table.name)"
|
|
},
|
|
"groupBy": [
|
|
{
|
|
"dataType": "string",
|
|
"id": "postgresql.table.name--string--tag--false",
|
|
"isColumn": false,
|
|
"isJSON": false,
|
|
"key": "postgresql.table.name",
|
|
"type": "tag"
|
|
}
|
|
],
|
|
"having": {
|
|
"expression": ""
|
|
},
|
|
"legend": "Table size",
|
|
"limit": null,
|
|
"orderBy": [],
|
|
"queryName": "D",
|
|
"stepInterval": 60
|
|
}
|
|
],
|
|
"queryFormulas": []
|
|
},
|
|
"datastore_sql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"id": "26a9dcbf-4fc7-4ddd-b786-2078def1f462",
|
|
"promql": [
|
|
{
|
|
"disabled": false,
|
|
"legend": "",
|
|
"name": "A",
|
|
"query": ""
|
|
}
|
|
],
|
|
"queryType": "builder"
|
|
},
|
|
"softMax": null,
|
|
"softMin": null,
|
|
"thresholds": [],
|
|
"timePreferance": "GLOBAL_TIME",
|
|
"title": "Table stats",
|
|
"yAxisUnit": "none"
|
|
}
|
|
]
|
|
} |