feat(monitoring): expanded dashboards for all services
Enriched dashboards for DevTools (Gitea), Identity (Hydra/Kratos), Infrastructure (Longhorn, PostgreSQL, cert-manager, OpenBao), Ingress (Pingora), and Storage (SeaweedFS).
This commit is contained in:
@@ -14,6 +14,7 @@ data:
|
||||
{
|
||||
"annotations": { "list": [] },
|
||||
"editable": true,
|
||||
"graphTooltip": 1,
|
||||
"panels": [
|
||||
{
|
||||
"title": "Cluster Overview",
|
||||
@@ -22,41 +23,50 @@ data:
|
||||
"collapsed": false
|
||||
},
|
||||
{
|
||||
"title": "Data Nodes",
|
||||
"title": "Master Leader",
|
||||
"type": "stat",
|
||||
"gridPos": { "h": 4, "w": 8, "x": 0, "y": 1 },
|
||||
"gridPos": { "h": 4, "w": 6, "x": 0, "y": 1 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{
|
||||
"expr": "seaweedfs_master_data_nodes or count(up{job=~\".*seaweedfs-volume.*\"})",
|
||||
"legendFormat": "nodes"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Total Volume Count",
|
||||
"type": "stat",
|
||||
"gridPos": { "h": 4, "w": 8, "x": 8, "y": 1 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{
|
||||
"expr": "seaweedfs_master_volumes_count or sum(seaweedfs_volume_count)",
|
||||
"legendFormat": "volumes"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Total Disk Free",
|
||||
"type": "stat",
|
||||
"gridPos": { "h": 4, "w": 8, "x": 16, "y": 1 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sum(seaweedfs_disk_free_bytes)",
|
||||
"legendFormat": "free"
|
||||
}
|
||||
{ "expr": "SeaweedFS_master_is_leader", "legendFormat": "", "instant": true }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "bytes" } }
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"mappings": [
|
||||
{ "type": "value", "options": { "1": { "text": "Leader", "color": "green" }, "0": { "text": "Follower", "color": "red" } } }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"title": "Writable Volumes",
|
||||
"type": "stat",
|
||||
"gridPos": { "h": 4, "w": 6, "x": 6, "y": 1 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "SeaweedFS_master_volume_layout_writable", "legendFormat": "", "instant": true }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "thresholds": { "steps": [{"color":"red","value":null},{"color":"yellow","value":1},{"color":"green","value":3}] } } }
|
||||
},
|
||||
{
|
||||
"title": "Crowded Volumes",
|
||||
"type": "stat",
|
||||
"gridPos": { "h": 4, "w": 6, "x": 12, "y": 1 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "SeaweedFS_master_volume_layout_crowded", "legendFormat": "", "instant": true }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "thresholds": { "steps": [{"color":"green","value":null},{"color":"yellow","value":1},{"color":"red","value":5}] } } }
|
||||
},
|
||||
{
|
||||
"title": "Leader Changes",
|
||||
"type": "stat",
|
||||
"gridPos": { "h": 4, "w": 6, "x": 18, "y": 1 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "increase(SeaweedFS_master_leader_changes[1h])", "legendFormat": "", "instant": true }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "thresholds": { "steps": [{"color":"green","value":null},{"color":"yellow","value":1},{"color":"red","value":3}] } } }
|
||||
},
|
||||
{
|
||||
"title": "Volume Server",
|
||||
@@ -65,98 +75,253 @@ data:
|
||||
"collapsed": false
|
||||
},
|
||||
{
|
||||
"title": "Read Rate",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 0, "y": 6 },
|
||||
"title": "Total Volumes",
|
||||
"type": "stat",
|
||||
"gridPos": { "h": 4, "w": 6, "x": 0, "y": 6 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sum(rate(seaweedfs_volume_read_total[5m]))",
|
||||
"legendFormat": "reads"
|
||||
}
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "ops" } }
|
||||
{ "expr": "sum(SeaweedFS_volumeServer_volumes)", "legendFormat": "", "instant": true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Write Rate",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 8, "y": 6 },
|
||||
"title": "Max Volumes",
|
||||
"type": "stat",
|
||||
"gridPos": { "h": 4, "w": 6, "x": 6, "y": 6 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sum(rate(seaweedfs_volume_write_total[5m]))",
|
||||
"legendFormat": "writes"
|
||||
}
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "ops" } }
|
||||
{ "expr": "sum(SeaweedFS_volumeServer_max_volumes)", "legendFormat": "", "instant": true }
|
||||
]
|
||||
},
|
||||
{
|
||||
"title": "Disk Usage",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 16, "y": 6 },
|
||||
"title": "Disk Size",
|
||||
"type": "stat",
|
||||
"gridPos": { "h": 4, "w": 6, "x": 12, "y": 6 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{
|
||||
"expr": "seaweedfs_disk_used_bytes",
|
||||
"legendFormat": "{{instance}}"
|
||||
}
|
||||
{ "expr": "sum(SeaweedFS_volumeServer_total_disk_size)", "legendFormat": "", "instant": true }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "bytes" } }
|
||||
},
|
||||
{
|
||||
"title": "Read-Only Volumes",
|
||||
"type": "stat",
|
||||
"gridPos": { "h": 4, "w": 6, "x": 18, "y": 6 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "sum(SeaweedFS_volumeServer_read_only_volumes)", "legendFormat": "", "instant": true }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "thresholds": { "steps": [{"color":"green","value":null},{"color":"yellow","value":1},{"color":"red","value":5}] } } }
|
||||
},
|
||||
{
|
||||
"title": "Volume Request Rate",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 0, "y": 10 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "sum(rate(SeaweedFS_volumeServer_request_total[5m]))", "legendFormat": "requests/s" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "reqps" } }
|
||||
},
|
||||
{
|
||||
"title": "Volume Latency (p95)",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 8, "y": 10 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "histogram_quantile(0.95, sum(rate(SeaweedFS_volumeServer_request_seconds_bucket[5m])) by (le))", "legendFormat": "p95" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "s" } }
|
||||
},
|
||||
{
|
||||
"title": "Volume In-Flight Requests",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 16, "y": 10 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "sum(SeaweedFS_volumeServer_in_flight_requests)", "legendFormat": "in-flight" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "short" } }
|
||||
},
|
||||
{
|
||||
"title": "Master Heartbeats & Errors",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 18 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "rate(SeaweedFS_master_received_heartbeats[5m])", "legendFormat": "heartbeats/s" },
|
||||
{ "expr": "rate(SeaweedFS_master_pick_for_write_error[5m])", "legendFormat": "write errors/s" },
|
||||
{ "expr": "rate(SeaweedFS_master_broadcast_to_full[5m])", "legendFormat": "broadcast full/s" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "ops" } }
|
||||
},
|
||||
{
|
||||
"title": "Vacuuming Activity",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 18 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "SeaweedFS_volumeServer_resource{type=\"vacuuming\"}", "legendFormat": "{{instance}}" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "short" } }
|
||||
},
|
||||
{
|
||||
"title": "Filer",
|
||||
"type": "row",
|
||||
"gridPos": { "h": 1, "w": 24, "x": 0, "y": 14 },
|
||||
"gridPos": { "h": 1, "w": 24, "x": 0, "y": 26 },
|
||||
"collapsed": false
|
||||
},
|
||||
{
|
||||
"title": "Filer Request Rate",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 15 },
|
||||
"gridPos": { "h": 8, "w": 8, "x": 0, "y": 27 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sum(rate(seaweedfs_filer_request_total[5m])) by (type)",
|
||||
"legendFormat": "{{type}}"
|
||||
}
|
||||
{ "expr": "sum(rate(SeaweedFS_filer_request_total[5m]))", "legendFormat": "requests/s" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "reqps" } }
|
||||
},
|
||||
{
|
||||
"title": "Filer Latency p95",
|
||||
"title": "Filer Latency (p95)",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 15 },
|
||||
"gridPos": { "h": 8, "w": 8, "x": 8, "y": 27 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{
|
||||
"expr": "histogram_quantile(0.95, sum(rate(seaweedfs_filer_request_duration_seconds_bucket[5m])) by (le))",
|
||||
"legendFormat": "p95"
|
||||
}
|
||||
{ "expr": "histogram_quantile(0.95, sum(rate(SeaweedFS_filer_request_seconds_bucket[5m])) by (le))", "legendFormat": "p95" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "s" } }
|
||||
},
|
||||
{
|
||||
"title": "Filer In-Flight Requests",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 16, "y": 27 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "sum(SeaweedFS_filer_in_flight_requests)", "legendFormat": "in-flight" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "short" } }
|
||||
},
|
||||
{
|
||||
"title": "Filer Handler Ops",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 12, "x": 0, "y": 35 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "sum(rate(SeaweedFS_filer_handler_total[5m])) by (type)", "legendFormat": "{{type}}" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "ops" } }
|
||||
},
|
||||
{
|
||||
"title": "Filer Store Ops",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 12, "x": 12, "y": 35 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "sum(rate(SeaweedFS_filerStore_request_total[5m])) by (type)", "legendFormat": "{{type}}" },
|
||||
{ "expr": "histogram_quantile(0.95, sum(rate(SeaweedFS_filerStore_request_seconds_bucket[5m])) by (le))", "legendFormat": "store p95 latency" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "ops" } }
|
||||
},
|
||||
{
|
||||
"title": "S3 API",
|
||||
"type": "row",
|
||||
"gridPos": { "h": 1, "w": 24, "x": 0, "y": 23 },
|
||||
"gridPos": { "h": 1, "w": 24, "x": 0, "y": 43 },
|
||||
"collapsed": false
|
||||
},
|
||||
{
|
||||
"title": "S3 Requests",
|
||||
"title": "S3 Request Rate",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 24, "x": 0, "y": 24 },
|
||||
"gridPos": { "h": 8, "w": 8, "x": 0, "y": 44 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sum(rate(seaweedfs_s3_request_total[5m])) by (bucket, method)",
|
||||
"legendFormat": "{{bucket}} {{method}}"
|
||||
}
|
||||
{ "expr": "sum(rate(SeaweedFS_s3_request_total[5m])) by (bucket)", "legendFormat": "{{bucket}}" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "reqps" } }
|
||||
},
|
||||
{
|
||||
"title": "S3 Latency (p95)",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 8, "y": 44 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "histogram_quantile(0.95, sum(rate(SeaweedFS_s3_request_seconds_bucket[5m])) by (le))", "legendFormat": "p95" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "s" } }
|
||||
},
|
||||
{
|
||||
"title": "S3 Time to First Byte (p95)",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 16, "y": 44 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "histogram_quantile(0.95, sum(rate(SeaweedFS_s3_time_to_first_byte_millisecond_bucket[5m])) by (le))", "legendFormat": "p95" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "ms" } }
|
||||
},
|
||||
{
|
||||
"title": "S3 Bucket Sizes",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 0, "y": 52 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "SeaweedFS_s3_bucket_size_bytes", "legendFormat": "{{bucket}}" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "bytes" } }
|
||||
},
|
||||
{
|
||||
"title": "S3 Bucket Physical Sizes",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 8, "y": 52 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "SeaweedFS_s3_bucket_physical_size_bytes", "legendFormat": "{{bucket}}" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "bytes" } }
|
||||
},
|
||||
{
|
||||
"title": "S3 Object Count per Bucket",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 16, "y": 52 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "SeaweedFS_s3_bucket_object_count", "legendFormat": "{{bucket}}" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "short" } }
|
||||
},
|
||||
{
|
||||
"title": "S3 Traffic Received",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 0, "y": 60 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "sum(rate(SeaweedFS_s3_bucket_traffic_received_bytes_total[5m])) by (bucket)", "legendFormat": "{{bucket}}" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "Bps" } }
|
||||
},
|
||||
{
|
||||
"title": "S3 Traffic Sent",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 8, "y": 60 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "sum(rate(SeaweedFS_s3_bucket_traffic_sent_bytes_total[5m])) by (bucket)", "legendFormat": "{{bucket}}" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "Bps" } }
|
||||
},
|
||||
{
|
||||
"title": "S3 Object Uploads / Deletes",
|
||||
"type": "timeseries",
|
||||
"gridPos": { "h": 8, "w": 8, "x": 16, "y": 60 },
|
||||
"datasource": { "uid": "prometheus" },
|
||||
"targets": [
|
||||
{ "expr": "sum(rate(SeaweedFS_s3_uploaded_objects[5m]))", "legendFormat": "uploads/s" },
|
||||
{ "expr": "sum(rate(SeaweedFS_s3_deleted_objects[5m]))", "legendFormat": "deletes/s" }
|
||||
],
|
||||
"fieldConfig": { "defaults": { "unit": "ops" } }
|
||||
}
|
||||
],
|
||||
"schemaVersion": 39,
|
||||
"tags": ["seaweedfs", "storage", "s3"],
|
||||
"templating": { "list": [] },
|
||||
"time": { "from": "now-1h", "to": "now" },
|
||||
"title": "SeaweedFS",
|
||||
"uid": "seaweedfs"
|
||||
|
||||
Reference in New Issue
Block a user