Files
java-ai-slop/grafana-dashboard-db.json
T
roma-dxunvrs 8d4b15dbcf Pizdec
2026-10-03 22:09:58 +03:00

188 lines
5.2 KiB
JSON

{
"dashboard": {
"title": "PostgreSQL & HikariCP Monitoring",
"tags": ["database", "postgres", "hikaricp"],
"timezone": "browser",
"panels": [
{
"id": 1,
"title": "Connection Pool Status",
"type": "stat",
"gridPos": {"x": 0, "y": 0, "w": 6, "h": 4},
"targets": [
{
"expr": "hikaricp_connections_active{application=\"todo\"}",
"legendFormat": "Active"
}
],
"options": {
"colorMode": "value",
"graphMode": "area"
}
},
{
"id": 2,
"title": "Idle Connections",
"type": "stat",
"gridPos": {"x": 6, "y": 0, "w": 6, "h": 4},
"targets": [
{
"expr": "hikaricp_connections_idle{application=\"todo\"}",
"legendFormat": "Idle"
}
],
"options": {
"colorMode": "value",
"graphMode": "area"
}
},
{
"id": 3,
"title": "Total Connections",
"type": "stat",
"gridPos": {"x": 12, "y": 0, "w": 6, "h": 4},
"targets": [
{
"expr": "hikaricp_connections{application=\"todo\"}",
"legendFormat": "Total"
}
],
"options": {
"colorMode": "value",
"graphMode": "area"
}
},
{
"id": 4,
"title": "Pending Threads",
"type": "stat",
"gridPos": {"x": 18, "y": 0, "w": 6, "h": 4},
"targets": [
{
"expr": "hikaricp_connections_pending{application=\"todo\"}",
"legendFormat": "Pending"
}
],
"options": {
"colorMode": "value",
"graphMode": "area"
}
},
{
"id": 5,
"title": "Connection Pool Utilization (%)",
"type": "graph",
"gridPos": {"x": 0, "y": 4, "w": 12, "h": 8},
"targets": [
{
"expr": "(hikaricp_connections_active{application=\"todo\"} / hikaricp_connections_max{application=\"todo\"}) * 100",
"legendFormat": "Active %"
},
{
"expr": "(hikaricp_connections{application=\"todo\"} / hikaricp_connections_max{application=\"todo\"}) * 100",
"legendFormat": "Total %"
}
],
"yaxes": [
{"format": "percent", "label": "Utilization", "min": 0, "max": 100},
{"format": "short"}
]
},
{
"id": 6,
"title": "Connection Acquire Time",
"type": "graph",
"gridPos": {"x": 12, "y": 4, "w": 12, "h": 8},
"targets": [
{
"expr": "histogram_quantile(0.5, rate(hikaricp_connections_acquire_seconds_bucket{application=\"todo\"}[1m]))",
"legendFormat": "p50"
},
{
"expr": "histogram_quantile(0.95, rate(hikaricp_connections_acquire_seconds_bucket{application=\"todo\"}[1m]))",
"legendFormat": "p95"
},
{
"expr": "histogram_quantile(0.99, rate(hikaricp_connections_acquire_seconds_bucket{application=\"todo\"}[1m]))",
"legendFormat": "p99"
}
],
"yaxes": [
{"format": "s", "label": "Time"},
{"format": "short"}
]
},
{
"id": 7,
"title": "Connection Timeout Count",
"type": "graph",
"gridPos": {"x": 0, "y": 12, "w": 12, "h": 8},
"targets": [
{
"expr": "rate(hikaricp_connections_timeout_total{application=\"todo\"}[1m])",
"legendFormat": "Timeouts/sec"
}
],
"yaxes": [
{"format": "short"},
{"format": "short"}
]
},
{
"id": 8,
"title": "Connection Creation Time",
"type": "graph",
"gridPos": {"x": 12, "y": 12, "w": 12, "h": 8},
"targets": [
{
"expr": "rate(hikaricp_connections_creation_seconds_sum{application=\"todo\"}[1m]) / rate(hikaricp_connections_creation_seconds_count{application=\"todo\"}[1m])",
"legendFormat": "Avg Creation Time"
}
],
"yaxes": [
{"format": "s"},
{"format": "short"}
]
},
{
"id": 9,
"title": "Connection Usage Time",
"type": "graph",
"gridPos": {"x": 0, "y": 20, "w": 12, "h": 8},
"targets": [
{
"expr": "rate(hikaricp_connections_usage_seconds_sum{application=\"todo\"}[1m]) / rate(hikaricp_connections_usage_seconds_count{application=\"todo\"}[1m])",
"legendFormat": "Avg Usage Time"
}
],
"yaxes": [
{"format": "s"},
{"format": "short"}
]
},
{
"id": 10,
"title": "JDBC Queries Rate",
"type": "graph",
"gridPos": {"x": 12, "y": 20, "w": 12, "h": 8},
"targets": [
{
"expr": "rate(jdbc_connections_active{application=\"todo\"}[1m])",
"legendFormat": "Active JDBC Connections"
}
],
"yaxes": [
{"format": "short"},
{"format": "short"}
]
}
],
"refresh": "5s",
"time": {
"from": "now-15m",
"to": "now"
}
},
"overwrite": true
}