Files
aitbc/infra/monitoring/aitbc-dashboard.json
aitbc a266b3b70e ci: replace artifact upload with Gitea release API and add structured logging with rate limiting
- Replaced actions/upload-artifact with Gitea API release creation in build-miner-binary.yml
- Added separate steps for uploading binary, package, and checksums to Gitea release
- Added StructuredFormatter class for JSON log output in aitbc_logging.py
- Added structured logging support with log_context() context manager and LogContext class
- Added structured parameter to setup_logger() and configure_logging()
2026-05-12 21:33:20 +02:00

261 lines
6.3 KiB
JSON

{
"dashboard": {
"title": "AITBC System Dashboard",
"tags": ["aitbc", "blockchain", "ai"],
"timezone": "browser",
"schemaVersion": 16,
"version": 0,
"refresh": "10s",
"panels": [
{
"id": 1,
"title": "Block Processing Duration",
"type": "graph",
"gridPos": {"h": 8, "w": 12, "x": 0, "y": 0},
"targets": [
{
"expr": "histogram_quantile(0.95, rate(block_processing_duration_seconds_bucket[5m]))",
"legendFormat": "95th percentile",
"refId": "A"
},
{
"expr": "histogram_quantile(0.50, rate(block_processing_duration_seconds_bucket[5m]))",
"legendFormat": "50th percentile",
"refId": "B"
}
],
"yaxes": [
{
"format": "s",
"label": "Duration"
},
{
"format": "short"
}
],
"xaxis": {
"mode": "time",
"name": "Time",
"show": true
}
},
{
"id": 2,
"title": "Block Height",
"type": "graph",
"gridPos": {"h": 8, "w": 12, "x": 12, "y": 0},
"targets": [
{
"expr": "block_height",
"legendFormat": "Block Height",
"refId": "A"
}
],
"yaxes": [
{
"format": "short",
"label": "Block Number"
},
{
"format": "short"
}
]
},
{
"id": 3,
"title": "Job Processing Duration",
"type": "graph",
"gridPos": {"h": 8, "w": 12, "x": 0, "y": 8},
"targets": [
{
"expr": "histogram_quantile(0.95, rate(job_processing_duration_seconds_bucket[5m]))",
"legendFormat": "95th percentile",
"refId": "A"
},
{
"expr": "histogram_quantile(0.50, rate(job_processing_duration_seconds_bucket[5m]))",
"legendFormat": "50th percentile",
"refId": "B"
}
],
"yaxes": [
{
"format": "s",
"label": "Duration"
},
{
"format": "short"
}
]
},
{
"id": 4,
"title": "Jobs in Queue",
"type": "graph",
"gridPos": {"h": 8, "w": 12, "x": 12, "y": 8},
"targets": [
{
"expr": "jobs_in_queue",
"legendFormat": "Queued Jobs",
"refId": "A"
}
],
"yaxes": [
{
"format": "short",
"label": "Job Count"
},
{
"format": "short"
}
]
},
{
"id": 5,
"title": "HTTP Request Duration",
"type": "graph",
"gridPos": {"h": 8, "w": 12, "x": 0, "y": 16},
"targets": [
{
"expr": "histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m]))",
"legendFormat": "95th percentile",
"refId": "A"
},
{
"expr": "histogram_quantile(0.50, rate(http_request_duration_seconds_bucket[5m]))",
"legendFormat": "50th percentile",
"refId": "B"
}
],
"yaxes": [
{
"format": "s",
"label": "Duration"
},
{
"format": "short"
}
]
},
{
"id": 6,
"title": "HTTP Requests by Status",
"type": "graph",
"gridPos": {"h": 8, "w": 12, "x": 12, "y": 16},
"targets": [
{
"expr": "rate(http_requests_total[5m])",
"legendFormat": "{{method}} {{endpoint}} {{status}}",
"refId": "A"
}
],
"yaxes": [
{
"format": "reqps",
"label": "Requests/sec"
},
{
"format": "short"
}
]
},
{
"id": 7,
"title": "Job Success Rate",
"type": "stat",
"gridPos": {"h": 4, "w": 6, "x": 0, "y": 24},
"targets": [
{
"expr": "rate(jobs_total{status=\"completed\"}[5m]) / rate(jobs_total[5m]) * 100",
"legendFormat": "Success Rate",
"refId": "A"
}
],
"options": {
"colorMode": "value",
"graphMode": "area",
"orientation": "auto"
},
"fieldConfig": {
"defaults": {
"unit": "percent",
"min": 0,
"max": 100
}
}
},
{
"id": 8,
"title": "Job Failure Rate",
"type": "stat",
"gridPos": {"h": 4, "w": 6, "x": 6, "y": 24},
"targets": [
{
"expr": "rate(jobs_total{status=\"failed\"}[5m]) / rate(jobs_total[5m]) * 100",
"legendFormat": "Failure Rate",
"refId": "A"
}
],
"options": {
"colorMode": "value",
"graphMode": "area",
"orientation": "auto"
},
"fieldConfig": {
"defaults": {
"unit": "percent",
"min": 0,
"max": 100
}
}
},
{
"id": 9,
"title": "Service Uptime",
"type": "stat",
"gridPos": {"h": 4, "w": 6, "x": 12, "y": 24},
"targets": [
{
"expr": "service_uptime_seconds",
"legendFormat": "Uptime",
"refId": "A"
}
],
"options": {
"colorMode": "value",
"graphMode": "area",
"orientation": "auto"
},
"fieldConfig": {
"defaults": {
"unit": "s"
}
}
},
{
"id": 10,
"title": "Service Restarts",
"type": "stat",
"gridPos": {"h": 4, "w": 6, "x": 18, "y": 24},
"targets": [
{
"expr": "service_restart_count",
"legendFormat": "Restarts",
"refId": "A"
}
],
"options": {
"colorMode": "value",
"graphMode": "area",
"orientation": "auto"
},
"fieldConfig": {
"defaults": {
"unit": "short"
}
}
}
]
}
}