navinko commented on code in PR #10609:
URL: https://github.com/apache/ozone/pull/10609#discussion_r3608806335
##########
hadoop-ozone/dist/src/main/compose/common/grafana/dashboards/Ozone - Disk
Balancer.json:
##########
@@ -0,0 +1,358 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": true,
+ "enable": true,
+ "hide": true,
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": null,
+ "links": [],
+ "liveNow": false,
+ "panels": [
+ {
+ "id": 2,
+ "title": "Disk Space Convergence Profile (Historical Before vs After)",
+ "type": "timeseries",
+ "description": "Shows how full each disk is over time. When the balancer
is running, you should see these lines slowly move closer together until they
meet in the middle.",
+ "gridPos": { "x": 0, "y": 0, "w": 12, "h": 7 },
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
+ "targets": [
+ {
+ "expr": "sum({__name__=~\"volume_info_metrics_.*_ozone_used\",
instance=~\"$datanode.*\"}) by (instance, storagedirectory)",
+ "legendFormat": "{{storagedirectory}}",
+ "refId": "A"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "decbytes",
+ "color": { "mode": "palette-classic" },
+ "custom": {
+ "drawStyle": "line",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2
+ }
+ }
+ }
+ },
+ {
+ "id": 3,
+ "title": "Current Disk Space Allocation Skew (Max - Min Volume Gap)",
+ "type": "bargauge",
+ "description": "The exact size of the data gap between your most full
disk and your emptiest disk right now. The balancer's goal is to shrink this
number down to zero.",
+ "gridPos": { "x": 12, "y": 0, "w": 12, "h": 7 },
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
+ "targets": [
+ {
+ "expr": "max(sum({__name__=~\"volume_info_metrics_.*_ozone_used\",
instance=~\"$datanode.*\"}) by (instance, storagedirectory)) by (instance) -
min(sum({__name__=~\"volume_info_metrics_.*_ozone_used\",
instance=~\"$datanode.*\"}) by (instance, storagedirectory)) by (instance)",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "decbytes",
+ "max": 5368709120
+ }
+ },
+ "options": {
+ "displayMode": "lcd",
+ "orientation": "horizontal",
+ "reduceOptions": { "calcs": ["lastNotNull"] }
+ }
+ },
+ {
+ "id": 5,
+ "title": "Active Balancing Throughput Speed",
+ "type": "stat",
+ "description": "The live speedometer. This shows exactly how fast data
is physically copying from one disk to another across the node.",
+ "gridPos": { "x": 0, "y": 7, "w": 6, "h": 7 },
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
+ "targets": [
+ {
+ "expr":
"rate(disk_balancer_service_metrics_success_bytes{instance=~\"$datanode.*\"}[1m])",
+ "refId": "A"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "Bps"
+ }
+ },
+ "options": {
+ "graphMode": "area",
+ "textMode": "value",
+ "reduceOptions": { "calcs": ["lastNotNull"] }
+ }
+ },
+ {
+ "id": 7,
+ "title": "Unscheduled Target Backlog",
+ "type": "stat",
+ "description": "The remaining amount of data the balancer still needs to
queue up to reach perfect balance.",
+ "gridPos": { "x": 6, "y": 7, "w": 8, "h": 7 },
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
+ "targets": [
+ {
+ "expr":
"max({__name__=~\"volume_info_metrics_data_disk[0-9]+_ozone_used\",
instance=~\"$datanode.*\"}) by (instance) -
avg({__name__=~\"volume_info_metrics_data_disk[0-9]+_ozone_used\",
instance=~\"$datanode.*\"}) by (instance)",
Review Comment:
done
##########
hadoop-ozone/dist/src/main/compose/common/grafana/dashboards/Ozone - Disk
Balancer.json:
##########
@@ -0,0 +1,358 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": true,
+ "enable": true,
+ "hide": true,
+ "name": "Annotations & Alerts",
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": null,
+ "links": [],
+ "liveNow": false,
+ "panels": [
+ {
+ "id": 2,
+ "title": "Disk Space Convergence Profile (Historical Before vs After)",
+ "type": "timeseries",
+ "description": "Shows how full each disk is over time. When the balancer
is running, you should see these lines slowly move closer together until they
meet in the middle.",
+ "gridPos": { "x": 0, "y": 0, "w": 12, "h": 7 },
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
+ "targets": [
+ {
+ "expr": "sum({__name__=~\"volume_info_metrics_.*_ozone_used\",
instance=~\"$datanode.*\"}) by (instance, storagedirectory)",
+ "legendFormat": "{{storagedirectory}}",
+ "refId": "A"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "decbytes",
+ "color": { "mode": "palette-classic" },
+ "custom": {
+ "drawStyle": "line",
+ "lineInterpolation": "smooth",
+ "lineWidth": 2
+ }
+ }
+ }
+ },
+ {
+ "id": 3,
+ "title": "Current Disk Space Allocation Skew (Max - Min Volume Gap)",
+ "type": "bargauge",
+ "description": "The exact size of the data gap between your most full
disk and your emptiest disk right now. The balancer's goal is to shrink this
number down to zero.",
+ "gridPos": { "x": 12, "y": 0, "w": 12, "h": 7 },
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
+ "targets": [
+ {
+ "expr": "max(sum({__name__=~\"volume_info_metrics_.*_ozone_used\",
instance=~\"$datanode.*\"}) by (instance, storagedirectory)) by (instance) -
min(sum({__name__=~\"volume_info_metrics_.*_ozone_used\",
instance=~\"$datanode.*\"}) by (instance, storagedirectory)) by (instance)",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "decbytes",
+ "max": 5368709120
+ }
+ },
+ "options": {
+ "displayMode": "lcd",
+ "orientation": "horizontal",
+ "reduceOptions": { "calcs": ["lastNotNull"] }
+ }
+ },
+ {
+ "id": 5,
+ "title": "Active Balancing Throughput Speed",
+ "type": "stat",
+ "description": "The live speedometer. This shows exactly how fast data
is physically copying from one disk to another across the node.",
+ "gridPos": { "x": 0, "y": 7, "w": 6, "h": 7 },
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
+ "targets": [
+ {
+ "expr":
"rate(disk_balancer_service_metrics_success_bytes{instance=~\"$datanode.*\"}[1m])",
+ "refId": "A"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "Bps"
+ }
+ },
+ "options": {
+ "graphMode": "area",
+ "textMode": "value",
+ "reduceOptions": { "calcs": ["lastNotNull"] }
+ }
+ },
+ {
+ "id": 7,
+ "title": "Unscheduled Target Backlog",
+ "type": "stat",
+ "description": "The remaining amount of data the balancer still needs to
queue up to reach perfect balance.",
+ "gridPos": { "x": 6, "y": 7, "w": 8, "h": 7 },
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
+ "targets": [
+ {
+ "expr":
"max({__name__=~\"volume_info_metrics_data_disk[0-9]+_ozone_used\",
instance=~\"$datanode.*\"}) by (instance) -
avg({__name__=~\"volume_info_metrics_data_disk[0-9]+_ozone_used\",
instance=~\"$datanode.*\"}) by (instance)",
+ "instant": true,
+ "refId": "A"
+ }
+ ],
+ "fieldConfig": {
+ "defaults": {
+ "unit": "decbytes"
+ }
+ },
+ "options": {
+ "graphMode": "none",
+ "textMode": "value",
+ "reduceOptions": { "calcs": ["lastNotNull"] }
+ }
+ },
+ {
+ "id": 8,
+ "title": "Est. Time for Unscheduled Backlog",
+ "type": "stat",
+ "description": "A rough estimate of how many minutes are left before the
balancer finishes balancing.",
+ "gridPos": { "x": 14, "y": 7, "w": 10, "h": 7 },
+ "datasource": { "type": "prometheus", "uid": "${datasource}" },
+ "targets": [
+ {
+ "expr":
"((sum(max({__name__=~\"volume_info_metrics_data_disk[0-9]+_ozone_used\",
instance=~\"$datanode.*\"}) by (instance) -
avg({__name__=~\"volume_info_metrics_data_disk[0-9]+_ozone_used\",
instance=~\"$datanode.*\"}) by (instance)) /
(sum(rate(disk_balancer_service_metrics_success_bytes{instance=~\"$datanode.*\"}[1m]))
> 0)) / 60) or vector(0)",
Review Comment:
done
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]