Files
sbbb/base/monitoring/dashboards-storage.yaml
Sienna Meridian Satterwhite eab91eb85d 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).
2026-03-25 17:58:51 +00:00

329 lines
13 KiB
YAML

# Grafana dashboard ConfigMaps — Storage
---
apiVersion: v1
kind: ConfigMap
metadata:
name: grafana-dashboard-seaweedfs
namespace: monitoring
labels:
grafana_dashboard: "1"
annotations:
grafana_folder: "Storage"
data:
seaweedfs.json: |
{
"annotations": { "list": [] },
"editable": true,
"graphTooltip": 1,
"panels": [
{
"title": "Cluster Overview",
"type": "row",
"gridPos": { "h": 1, "w": 24, "x": 0, "y": 0 },
"collapsed": false
},
{
"title": "Master Leader",
"type": "stat",
"gridPos": { "h": 4, "w": 6, "x": 0, "y": 1 },
"datasource": { "uid": "prometheus" },
"targets": [
{ "expr": "SeaweedFS_master_is_leader", "legendFormat": "", "instant": true }
],
"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",
"type": "row",
"gridPos": { "h": 1, "w": 24, "x": 0, "y": 5 },
"collapsed": false
},
{
"title": "Total Volumes",
"type": "stat",
"gridPos": { "h": 4, "w": 6, "x": 0, "y": 6 },
"datasource": { "uid": "prometheus" },
"targets": [
{ "expr": "sum(SeaweedFS_volumeServer_volumes)", "legendFormat": "", "instant": true }
]
},
{
"title": "Max Volumes",
"type": "stat",
"gridPos": { "h": 4, "w": 6, "x": 6, "y": 6 },
"datasource": { "uid": "prometheus" },
"targets": [
{ "expr": "sum(SeaweedFS_volumeServer_max_volumes)", "legendFormat": "", "instant": true }
]
},
{
"title": "Disk Size",
"type": "stat",
"gridPos": { "h": 4, "w": 6, "x": 12, "y": 6 },
"datasource": { "uid": "prometheus" },
"targets": [
{ "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": 26 },
"collapsed": false
},
{
"title": "Filer Request Rate",
"type": "timeseries",
"gridPos": { "h": 8, "w": 8, "x": 0, "y": 27 },
"datasource": { "uid": "prometheus" },
"targets": [
{ "expr": "sum(rate(SeaweedFS_filer_request_total[5m]))", "legendFormat": "requests/s" }
],
"fieldConfig": { "defaults": { "unit": "reqps" } }
},
{
"title": "Filer Latency (p95)",
"type": "timeseries",
"gridPos": { "h": 8, "w": 8, "x": 8, "y": 27 },
"datasource": { "uid": "prometheus" },
"targets": [
{ "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": 43 },
"collapsed": false
},
{
"title": "S3 Request Rate",
"type": "timeseries",
"gridPos": { "h": 8, "w": 8, "x": 0, "y": 44 },
"datasource": { "uid": "prometheus" },
"targets": [
{ "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"
}