Files
multitenetsaas/monitoring/grafana/dashboards/application-dashboard.json
AHMET YILMAZ b3fff546e9
Some checks failed
System Monitoring / Health Checks (push) Has been cancelled
System Monitoring / Performance Monitoring (push) Has been cancelled
System Monitoring / Database Monitoring (push) Has been cancelled
System Monitoring / Cache Monitoring (push) Has been cancelled
System Monitoring / Log Monitoring (push) Has been cancelled
System Monitoring / Resource Monitoring (push) Has been cancelled
System Monitoring / Uptime Monitoring (push) Has been cancelled
System Monitoring / Backup Monitoring (push) Has been cancelled
System Monitoring / Security Monitoring (push) Has been cancelled
System Monitoring / Monitoring Dashboard (push) Has been cancelled
System Monitoring / Alerting (push) Has been cancelled
Security Scanning / Dependency Scanning (push) Has been cancelled
Security Scanning / Code Security Scanning (push) Has been cancelled
Security Scanning / Secrets Scanning (push) Has been cancelled
Security Scanning / Container Security Scanning (push) Has been cancelled
Security Scanning / Compliance Checking (push) Has been cancelled
Security Scanning / Security Dashboard (push) Has been cancelled
Security Scanning / Security Remediation (push) Has been cancelled
project initialization
2025-10-05 02:37:33 +08:00

163 lines
4.4 KiB
JSON

{
"dashboard": {
"id": null,
"title": "Application Performance",
"tags": ["application", "performance"],
"timezone": "Asia/Kuala_Lumpur",
"panels": [
{
"id": 1,
"title": "HTTP Requests Rate",
"type": "graph",
"gridPos": {"h": 8, "w": 12, "x": 0, "y": 0},
"targets": [
{
"expr": "rate(http_requests_total[5m])",
"legendFormat": "{{method}} {{status}}"
}
],
"yaxes": [{"label": "Requests/sec"}]
},
{
"id": 2,
"title": "Response Time Percentiles",
"type": "graph",
"gridPos": {"h": 8, "w": 12, "x": 12, "y": 0},
"targets": [
{
"expr": "histogram_quantile(0.50, rate(http_request_duration_seconds_bucket[5m]))",
"legendFormat": "P50"
},
{
"expr": "histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m]))",
"legendFormat": "P95"
},
{
"expr": "histogram_quantile(0.99, rate(http_request_duration_seconds_bucket[5m]))",
"legendFormat": "P99"
}
],
"yaxes": [{"label": "Seconds"}]
},
{
"id": 3,
"title": "Error Rate",
"type": "graph",
"gridPos": {"h": 8, "w": 12, "x": 0, "y": 8},
"targets": [
{
"expr": "rate(http_requests_total{status=~\"4..\"}[5m])",
"legendFormat": "4xx"
},
{
"expr": "rate(http_requests_total{status=~\"5..\"}[5m])",
"legendFormat": "5xx"
}
],
"yaxes": [{"label": "Errors/sec"}]
},
{
"id": 4,
"title": "Application Memory Usage",
"type": "graph",
"gridPos": {"h": 8, "w": 12, "x": 12, "y": 8},
"targets": [
{
"expr": "process_resident_memory_bytes{job=\"backend\"}",
"legendFormat": "{{instance}}"
}
],
"yaxes": [{"label": "Bytes"}]
},
{
"id": 5,
"title": "Application CPU Usage",
"type": "graph",
"gridPos": {"h": 8, "w": 12, "x": 0, "y": 16},
"targets": [
{
"expr": "rate(process_cpu_seconds_total{job=\"backend\"}[5m]) * 100",
"legendFormat": "{{instance}}"
}
],
"yaxes": [{"label": "CPU %"}]
},
{
"id": 6,
"title": "Active Users",
"type": "stat",
"gridPos": {"h": 4, "w": 6, "x": 12, "y": 16},
"targets": [
{
"expr": "active_users",
"legendFormat": "Active Users"
}
]
},
{
"id": 7,
"title": "Database Connection Pool",
"type": "graph",
"gridPos": {"h": 8, "w": 12, "x": 0, "y": 24},
"targets": [
{
"expr": "database_connections_active",
"legendFormat": "Active"
},
{
"expr": "database_connections_idle",
"legendFormat": "Idle"
},
{
"expr": "database_connections_total",
"legendFormat": "Total"
}
],
"yaxes": [{"label": "Connections"}]
},
{
"id": 8,
"title": "Cache Hit Rate",
"type": "graph",
"gridPos": {"h": 8, "w": 12, "x": 12, "y": 24},
"targets": [
{
"expr": "rate(redis_keyspace_hits_total[5m]) / (rate(redis_keyspace_hits_total[5m]) + rate(redis_keyspace_misses_total[5m])) * 100",
"legendFormat": "Hit Rate %"
}
],
"yaxes": [{"label": "Hit Rate %"}]
},
{
"id": 9,
"title": "Error Budget Remaining",
"type": "gauge",
"gridPos": {"h": 4, "w": 6, "x": 18, "y": 16},
"targets": [
{
"expr": "error_budget_remaining_percentage",
"legendFormat": "Error Budget %"
}
],
"fieldConfig": {
"defaults": {
"min": 0,
"max": 100,
"thresholds": {
"steps": [
{"color": "green", "value": 0},
{"color": "yellow", "value": 50},
{"color": "red", "value": 10}
]
}
}
}
}
],
"time": {
"from": "now-1h",
"to": "now"
},
"refresh": "30s"
}
}