멀티 클러스터 및 Thanos/Federation 환경에서 데이터 생명주기 관리 엔진의 상태만 오롯이 추적할 수 있도록 최상단에 $cluster 선택 단추와 연동(Cascading) 필터를 완전히 내장한 3. Tiering (ILM) 전용 독립형 대시보드의 Metrics v3 리빌딩 스펙입니다.
이 대시보드는 글로벌 인프라 내에서 데이터 만료(Expiry) 및 원격 콜드 티어(Cold Tier)로의 이관(Transition) 과정 중 발생하는 워커 노드별 처리 병목과 백로그 적체 상태를 완벽하게 격리하여 관제합니다.
그라파나(Grafana)의 Import Dashboard 캔버스에 붙여넣어 즉시 운영 뷰를 확보할 수 있습니다. 각 패널의 PromQL 인덱스에 {cluster="$cluster", namespace="$namespace"} 교차 검증 필터가 탑재되어 있어 리전 간 지표 혼선을 원천 차단합니다.
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "datasource",
"uid": "grafana"
},
"enable": true,
"hide": true,
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 1,
"id": null,
"links": [],
"liveNow": false,
"panels": [
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 300,
"title": "🕒 1. TARGET CLUSTER ILM ENGINE BACKLOG & ACTIVE QUEUES",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "orange",
"value": 400
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 0,
"y": 1
},
"id": 301,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "center",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "value"
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(minio_cluster_ilm_transition_active_tasks{cluster=\"$cluster\", namespace=\"$namespace\"})",
"legendFormat": "Active Transitions",
"refId": "A"
}
],
"title": "Active Transition Tasks",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "blue",
"value": null
},
{
"color": "red",
"value": 10000
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 6,
"y": 1
},
"id": 302,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "value"
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(minio_cluster_ilm_transition_pending_tasks{cluster=\"$cluster\", namespace=\"$namespace\"})",
"legendFormat": "Pending Transitions",
"refId": "A"
}
],
"title": "Pending Transition Backlog Queue",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 12,
"y": 1
},
"id": 303,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "center",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "value"
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(minio_cluster_ilm_expiry_active_tasks{cluster=\"$cluster\", namespace=\"$namespace\"})",
"legendFormat": "Active Expiries",
"refId": "A"
}
],
"title": "Active Expiry Tasks",
"type": "stat"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "blue",
"value": null
},
{
"color": "orange",
"value": 50000
}
]
},
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 4,
"w": 6,
"x": 18,
"y": 1
},
"id": 304,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "center",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"textMode": "value"
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(minio_cluster_ilm_expiry_pending_tasks{cluster=\"$cluster\", namespace=\"$namespace\"})",
"legendFormat": "Pending Expiries",
"refId": "A"
}
],
"title": "Pending Expiry Backlog Queue",
"type": "stat"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 5
},
"id": 400,
"title": "📉 2. ISOLATED WORKER CONCURRENCY TRENDS & STALL DETECTION",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisPlacement": "auto",
"drawStyle": "line",
"fillOpacity": 5,
"lineInterpolation": "smooth",
"lineWidth": 2,
"showPoints": "none"
},
"mappings": [],
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 12,
"x": 0,
"y": 6
},
"id": 401,
"options": {
"legend": {
"calcs": [
"mean",
"max"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(minio_cluster_ilm_transition_active_tasks{cluster=\"$cluster\", namespace=\"$namespace\"}) by (server)",
"legendFormat": "Active: {{server}}",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(minio_cluster_ilm_transition_pending_tasks{cluster=\"$cluster\", namespace=\"$namespace\"}) by (server)",
"legendFormat": "Backlog: {{server}}",
"refId": "B"
}
],
"title": "Transition Worker Load Balance per Node Server",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisPlacement": "auto",
"drawStyle": "line",
"fillOpacity": 5,
"lineInterpolation": "smooth",
"lineWidth": 2,
"showPoints": "none"
},
"mappings": [],
"unit": "short"
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 12,
"x": 12,
"y": 6
},
"id": 402,
"options": {
"legend": {
"calcs": [
"mean",
"max"
],
"displayMode": "table",
"placement": "bottom",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(minio_cluster_ilm_expiry_active_tasks{cluster=\"$cluster\", namespace=\"$namespace\"}) by (server)",
"legendFormat": "Active Expiry: {{server}}",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(minio_cluster_ilm_expiry_pending_tasks{cluster=\"$cluster\", namespace=\"$namespace\"}) by (server)",
"legendFormat": "Backlog Expiry: {{server}}",
"refId": "B"
}
],
"title": "Expiry Worker Load Balance per Node Server",
"type": "timeseries"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 13
},
"id": 500,
"title": "🚀 3. TARGET TIMELINE THROUGHPUT VELOCITY",
"type": "row"
},
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisBorderShow": false,
"axisPlacement": "auto",
"drawStyle": "line",
"fillOpacity": 10,
"lineInterpolation": "smooth",
"lineWidth": 2,
"showPoints": "none"
},
"mappings": [],
"unit": "ops"
},
"overrides": []
},
"gridPos": {
"h": 7,
"w": 24,
"x": 0,
"y": 14
},
"id": 501,
"options": {
"legend": {
"calcs": [
"sum",
"max"
],
"displayMode": "table",
"placement": "right",
"showLegend": true
},
"tooltip": {
"mode": "multi",
"sort": "desc"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"editorMode": "code",
"expr": "sum(rate(minio_cluster_ilm_transition_tasks_total{cluster=\"$cluster\", namespace=\"$namespace\"}[5m])) by (server)",
"legendFormat": "Node Completed: {{server}}",
"refId": "A"
}
],
"title": "ILM Transition Action Execution Rate (Completed Tasks/sec)",
"type": "timeseries"
}
],
"refresh": "10s",
"schemaVersion": 38,
"style": "dark",
"tags": [
"AIStor",
"Metrics-V3",
"ILM-Engine",
"Multi-Cluster-Tiering"
],
"templating": {
"list": [
{
"current": {},
"hide": 0,
"includeAll": false,
"label": "Data Source",
"name": "datasource",
"options": [],
"query": "prometheus",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"type": "datasource"
},
{
"current": {},
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"definition": "label_values(minio_cluster_ilm_transition_active_tasks, cluster)",
"hide": 0,
"includeAll": true,
"multi": false,
"label": "AIStor Cluster",
"name": "cluster",
"options": [],
"query": {
"query": "label_values(minio_cluster_ilm_transition_active_tasks, cluster)",
"refId": "ClusterVariableQuery"
},
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 1,
"type": "query"
},
{
"current": {},
"datasource": {
"type": "prometheus",
"uid": "${datasource}"
},
"definition": "label_values(minio_cluster_ilm_transition_active_tasks{cluster=\"$cluster\"}, namespace)",
"hide": 0,
"includeAll": false,
"label": "Namespace",
"name": "namespace",
"options": [],
"query": {
"query": "label_values(minio_cluster_ilm_transition_active_tasks{cluster=\"$cluster\"}, namespace)",
"refId": "NamespaceVariableQuery"
},
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 1,
"type": "query"
}
]
},
"time": {
"from": "now-1h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s"
]
},
"timezone": "browser",
"title": "AIStor Operations - 3. Tiering (Multi-Cluster v3)",
"version": 2
}
prod-us-east)를 상단 셀렉터에서 선택했을 때만 Pending Transition Backlog Queue 수치가 해제되지 않고 지속해서 우상향하는 현상입니다.Completed Tasks/sec) 그래프가 모든 서버 노드에서 균일하게 0에 수렴하고 있다면 리전 전체와 원격 스토리지(Warm Tier S3 Endpoint) 간의 전용회선 라우팅이 단절되었거나 자격 증명(Credential)이 만료되어 ILM 서브시스템 전체가 멈췄음을 즉시 판정할 수 있습니다.cluster="$cluster" 제약이 강제 인젝션되어 렌더링되므로, 타 클러스터의 메트릭 데이터가 섞여 들어와 백로그 큐를 오탐하는 현상이 발생하지 않습니다. 수백 대 규모의 하드웨어 노드가 페더레이션된 환경에서도 대시보드 오픈 속도를 수 초 이내로 보장합니다.