26Z12j

Young-Kyoo Kim·3일 전
{
  "annotations": {
    "list": []
  },
  "editable": true,
  "fiscalYearStartMonth": 0,
  "graphTooltip": 1,
  "id": null,
  "links": [],
  "liveNow": false,
  "panels": [
    {
      "title": "Cluster TPS & Inflight Requests",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 0, "y": 0 },
      "targets": [
        {
          "expr": "sum(rate(minio_api_requests_total[1m]))",
          "legendFormat": "Total TPS",
          "refId": "A"
        },
        {
          "expr": "sum(minio_api_requests_inflight_total)",
          "legendFormat": "Inflight Requests",
          "refId": "B"
        }
      ],
      "fieldConfig": {
        "defaults": {
          "custom": { "drawStyle": "line", "lineInterpolation": "smooth" },
          "unit": "reqps"
        }
      }
    },
    {
      "title": "Cluster Drive IOPS (Read / Write)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 12, "y": 0 },
      "targets": [
        {
          "expr": "sum(minio_system_drive_reads_per_sec)",
          "legendFormat": "Read IOPS",
          "refId": "A"
        },
        {
          "expr": "sum(minio_system_drive_writes_per_sec)",
          "legendFormat": "Write IOPS",
          "refId": "B"
        }
      ],
      "fieldConfig": {
        "defaults": {
          "custom": { "drawStyle": "line", "lineInterpolation": "smooth" },
          "unit": "iops"
        }
      }
    },
    {
      "title": "API Latency (Overall & Major APIs)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 0, "y": 8 },
      "targets": [
        {
          "expr": "sum(rate(minio_api_requests_duration_total[1m])) / sum(rate(minio_api_requests_total[1m]))",
          "legendFormat": "Overall Avg Latency",
          "refId": "A"
        },
        {
          "expr": "sum(rate(minio_api_requests_duration_total[1m])) by (name) / sum(rate(minio_api_requests_total[1m])) by (name)",
          "legendFormat": "API: {{name}}",
          "refId": "B"
        }
      ],
      "fieldConfig": {
        "defaults": {
          "custom": { "drawStyle": "line" },
          "unit": "ms"
        }
      }
    },
    {
      "title": "Read TTFB Percentiles (GetObject p95 / p99)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 12, "y": 8 },
      "targets": [
        {
          "expr": "histogram_quantile(0.95, sum(rate(minio_api_requests_ttfb_seconds_distribution{name=\"GetObject\"}[1m])) by (le))",
          "legendFormat": "Read TTFB p95",
          "refId": "A"
        },
        {
          "expr": "histogram_quantile(0.99, sum(rate(minio_api_requests_ttfb_seconds_distribution{name=\"GetObject\"}[1m])) by (le))",
          "legendFormat": "Read TTFB p99",
          "refId": "B"
        }
      ],
      "fieldConfig": {
        "defaults": {
          "custom": { "drawStyle": "line" },
          "unit": "s"
        }
      }
    },
    {
      "title": "Goroutine Count per Node",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 0, "y": 16 },
      "targets": [
        {
          "expr": "minio_system_process_go_routine_total",
          "legendFormat": "Node: {{server}}",
          "refId": "A"
        }
      ],
      "fieldConfig": {
        "defaults": {
          "custom": { "drawStyle": "line" },
          "unit": "short"
        }
      }
    },
    {
      "title": "Cluster Network Total Throughput (Send / Receive)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 12, "y": 16 },
      "targets": [
        {
          "expr": "sum(rate(minio_api_requests_traffic_sent_bytes[1m]))",
          "legendFormat": "Network Sent",
          "refId": "A"
        },
        {
          "expr": "sum(rate(minio_api_requests_traffic_received_bytes[1m]))",
          "legendFormat": "Network Received",
          "refId": "B"
        }
      ],
      "fieldConfig": {
        "defaults": {
          "custom": { "drawStyle": "line" },
          "unit": "Bps"
        }
      }
    },
    {
      "title": "Disk Read Latency TopK / BottomK (Await ms)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 0, "y": 24 },
      "targets": [
        {
          "expr": "topk(5, minio_system_drive_reads_await)",
          "legendFormat": "Top 5 Slowest: {{server}} - {{drive}}",
          "refId": "A"
        },
        {
          "expr": "bottomk(5, minio_system_drive_reads_await)",
          "legendFormat": "Bottom 5 Fastest: {{server}} - {{drive}}",
          "refId": "B"
        }
      ],
      "fieldConfig": {
        "defaults": {
          "custom": { "drawStyle": "line" },
          "unit": "ms"
        }
      }
    },
    {
      "title": "Network Usage per Interface (bond0, bond1)",
      "type": "timeseries",
      "gridPos": { "h": 8, "w": 12, "x": 12, "y": 24 },
      "targets": [
        {
          "expr": "sum(rate(minio_system_network_interface_bytes_received{interface=~\"bond0|bond1\"}[1m])) by (interface, server)",
          "legendFormat": "Rx - {{server}} ({{interface}})",
          "refId": "A"
        },
        {
          "expr": "sum(rate(minio_system_network_interface_bytes_sent{interface=~\"bond0|bond1\"}[1m])) by (interface, server)",
          "legendFormat": "Tx - {{server}} ({{interface}})",
          "refId": "B"
        }
      ],
      "fieldConfig": {
        "defaults": {
          "custom": { "drawStyle": "line" },
          "unit": "Bps"
        }
      }
    }
  ],
  "refresh": "10s",
  "schemaVersion": 38,
  "style": "dark",
  "tags": ["minio", "aistor", "prometheus-v3"],
  "time": {
    "from": "now-1h",
    "to": "now"
  },
  "title": "MinIO AIStor V3 Cluster Performance Dashboard",
  "uid": "minio-aistor-v3"
}

0개의 댓글