You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ma...@apache.org on 2023/03/17 05:51:34 UTC

[iotdb] branch seperate-io-dashboard updated (0dd1029434 -> ef52e894d9)

This is an automated email from the ASF dual-hosted git repository.

marklau99 pushed a change to branch seperate-io-dashboard
in repository https://gitbox.apache.org/repos/asf/iotdb.git


 discard 0dd1029434 seperate disk io dashboard apart
     add d14f37af86 [IOTDB-5682] Fix the update of nodeId in Metrics (#9344)
     add 81b365b9ce [IOTDB-5651] Fix compaction UT
     add 53d06b296b [IoTDB-5636] Add round as built-in scalar function
     add 637cd48803 [IOTDB-5683] Support aggregation function Mode for query
     add 8c4f80046b [IOTDB-5671] Fix inode cannot be released after deletion causing waste of disk space
     add b54a3ef136 [IOTDB-5684] Standardize log folder of ConfigNode's Simple consensus protocol
     add eae04ab624 Fix dispatch result collection logic (#9323) (#9347)
     add b167e06d85 fix erros of Community doc (#9355)
     add 387404d1e3 [IOTDB-5618] Add RatisConsensus metrics in dashboard (#9212)
     new ef52e894d9 seperate disk io dashboard apart

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (0dd1029434)
            \
             N -- N -- N   refs/heads/seperate-io-dashboard (ef52e894d9)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |    1 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |    1 +
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |    4 +
 .../confignode/conf/ConfigNodeDescriptor.java      |    2 +-
 .../manager/consensus/ConsensusManager.java        |    5 +-
 .../iotdb/confignode/service/ConfigNode.java       |   17 +-
 .../iotdb/consensus/config/ConsensusConfig.java    |   15 -
 .../ratis/ApplicationStateMachineProxy.java        |   30 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |   31 +-
 .../org/apache/iotdb/consensus/ratis/Utils.java    |   15 +
 .../ratis/metrics/IoTDBMetricRegistry.java         |   65 +-
 .../ratis/metrics/MetricRegistryManager.java       |   13 +-
 .../consensus/ratis/metrics/RatisMetricSet.java    |   79 +-
 .../ratis/metrics/RatisMetricsManager.java         |   84 +
 .../apache/iotdb/consensus/iot/ReplicateTest.java  |    2 -
 .../apache/iotdb/consensus/iot/StabilityTest.java  |    2 -
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |    2 -
 .../apache/iotdb/consensus/ratis/SnapshotTest.java |   11 +-
 .../iotdb/consensus/simple/RecoveryTest.java       |    2 -
 docs/Community/Materials.md                        |  265 +-
 .../Apache-IoTDB-ConfigNode-Dashboard.json         | 3310 +++++++++------
 .../Apache-IoTDB-DataNode-Dashboard.json           | 4285 +++++++++++++-------
 docs/UserGuide/Monitor-Alert/Metric-Tool.md        |   77 +-
 docs/UserGuide/Operators-Functions/Aggregation.md  |   28 +-
 docs/UserGuide/Operators-Functions/Mathematical.md |   65 +-
 docs/zh/UserGuide/Monitor-Alert/Metric-Tool.md     |   60 +-
 .../UserGuide/Operators-Functions/Aggregation.md   |    2 +-
 .../UserGuide/Operators-Functions/Mathematical.md  |   63 +-
 docs/zh/UserGuide/Operators-Functions/Overview.md  |   44 +-
 .../itbase/constant/BuiltinScalarFunctionEnum.java |    1 +
 .../BuiltinTimeSeriesGeneratingFunctionEnum.java   |    1 -
 .../apache/iotdb/itbase/constant/TestConstant.java |    4 +
 .../iotdb/db/it/aggregation/IoTDBModeIT.java       |  160 +
 .../scalar/IoTDBRoundFunctionIT.java               |  327 ++
 .../iotdb/libudf/it/dprofile/DProfileIT.java       |    3 +-
 library-udf/src/assembly/tools/register-UDF.bat    |    1 -
 library-udf/src/assembly/tools/register-UDF.sh     |    1 -
 .../apache/iotdb/library/dprofile/UDAFMode.java    |  178 -
 .../apache/iotdb/metrics/config/MetricConfig.java  |    7 +-
 .../resources/conf/iotdb-common.properties         |    4 +
 .../iotdb/commons/service/metric/enums/Metric.java |    2 +
 .../udf/builtin/BuiltinAggregationFunction.java    |    5 +-
 .../commons/udf/builtin/BuiltinScalarFunction.java |    1 +
 .../BuiltinTimeSeriesGeneratingFunction.java       |    1 -
 .../iotdb/commons/udf/builtin/UDTFRound.java       |   28 -
 server/src/main/codegen/dataModel/AllDataType.tdd  |   24 +-
 .../src/main/codegen/templates/ModeAccumulator.ftl |  179 +
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   10 +
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   11 +-
 .../db/consensus/DataRegionConsensusImpl.java      |    2 -
 .../db/consensus/SchemaRegionConsensusImpl.java    |    2 -
 .../org/apache/iotdb/db/constant/SqlConstant.java  |    5 +-
 .../execute/task/CrossSpaceCompactionTask.java     |    7 +-
 .../execute/task/InnerSpaceCompactionTask.java     |  264 +-
 .../readchunk/AlignedSeriesCompactionExecutor.java |    3 +-
 .../db/mpp/aggregation/AccumulatorFactory.java     |   21 +
 .../SlidingWindowAggregatorFactory.java            |    2 +
 .../execution/executor/RegionWriteExecutor.java    |  149 +-
 .../plan/expression/multi/FunctionExpression.java  |    2 +-
 .../multi/builtin/BuiltInScalarFunctionHelper.java |    4 +-
 .../BuiltInScalarFunctionHelperFactory.java        |    3 +
 ...unctionHelper.java => RoundFunctionHelper.java} |   51 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |   15 +
 .../metedata/write/CreateMultiTimeSeriesNode.java  |    6 +-
 .../plan/node/metedata/write/MeasurementGroup.java |   36 +-
 .../db/mpp/plan/scheduler/AsyncPlanNodeSender.java |   34 +
 .../scheduler/FragmentInstanceDispatcherImpl.java  |   32 +-
 ...er.java => RoundFunctionColumnTransformer.java} |   47 +-
 .../RoundFunctionTransformer.java}                 |   41 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |    7 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |    2 +
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |    3 +
 thrift-commons/src/main/thrift/common.thrift       |    3 +-
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |    7 +
 74 files changed, 6517 insertions(+), 3759 deletions(-)
 create mode 100644 consensus/src/main/java/org/apache/iotdb/consensus/ratis/metrics/RatisMetricsManager.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBModeIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/builtinfunction/scalar/IoTDBRoundFunctionIT.java
 delete mode 100644 library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFMode.java
 delete mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFRound.java
 create mode 100644 server/src/main/codegen/templates/ModeAccumulator.ftl
 copy server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/builtin/helper/{ReplaceFunctionHelper.java => RoundFunctionHelper.java} (62%)
 copy server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/unary/scalar/{ReplaceFunctionColumnTransformer.java => RoundFunctionColumnTransformer.java} (55%)
 copy server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/{ArithmeticNegationTransformer.java => scalar/RoundFunctionTransformer.java} (54%)


[iotdb] 01/01: seperate disk io dashboard apart

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

marklau99 pushed a commit to branch seperate-io-dashboard
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit ef52e894d9cd4d675dfee71fbfc120cf6966bc06
Author: Liu Xuxin <li...@outlook.com>
AuthorDate: Thu Mar 16 15:21:44 2023 +0800

    seperate disk io dashboard apart
---
 .../Apache-IoTDB-Disk-IO-Dashboard.json            | 920 +++++++++++++++++++++
 .../Apache-IoTDB-Network-Dashboard.json            |   7 +-
 .../iotdb/metrics/metricsets/disk/DiskMetrics.java |  29 +-
 3 files changed, 938 insertions(+), 18 deletions(-)

diff --git a/docs/UserGuide/Monitor-Alert/Apache-IoTDB-Disk-IO-Dashboard.json b/docs/UserGuide/Monitor-Alert/Apache-IoTDB-Disk-IO-Dashboard.json
new file mode 100644
index 0000000000..d7d64792ae
--- /dev/null
+++ b/docs/UserGuide/Monitor-Alert/Apache-IoTDB-Disk-IO-Dashboard.json
@@ -0,0 +1,920 @@
+{
+  "__inputs": [
+    {
+      "name": "DS_PROMETHEUS",
+      "label": "Prometheus",
+      "description": "",
+      "type": "datasource",
+      "pluginId": "prometheus",
+      "pluginName": "Prometheus"
+    }
+  ],
+  "__elements": {},
+  "__requires": [
+    {
+      "type": "grafana",
+      "id": "grafana",
+      "name": "Grafana",
+      "version": "9.3.6"
+    },
+    {
+      "type": "datasource",
+      "id": "prometheus",
+      "name": "Prometheus",
+      "version": "1.0.0"
+    },
+    {
+      "type": "panel",
+      "id": "timeseries",
+      "name": "Time series",
+      "version": ""
+    }
+  ],
+  "annotations": {
+    "list": [
+      {
+        "builtIn": 1,
+        "datasource": {
+          "type": "grafana",
+          "uid": "-- Grafana --"
+        },
+        "enable": true,
+        "hide": true,
+        "iconColor": "rgba(0, 211, 255, 1)",
+        "name": "Annotations & Alerts",
+        "target": {
+          "limit": 100,
+          "matchAny": false,
+          "tags": [],
+          "type": "dashboard"
+        },
+        "type": "dashboard"
+      }
+    ]
+  },
+  "editable": true,
+  "fiscalYearStartMonth": 0,
+  "graphTooltip": 0,
+  "id": null,
+  "links": [],
+  "liveNow": false,
+  "panels": [
+    {
+      "collapsed": true,
+      "gridPos": {
+        "h": 1,
+        "w": 24,
+        "x": 0,
+        "y": 0
+      },
+      "id": 18,
+      "panels": [
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "${DS_PROMETHEUS}"
+          },
+          "fieldConfig": {
+            "defaults": {
+              "color": {
+                "mode": "palette-classic"
+              },
+              "custom": {
+                "axisCenteredZero": false,
+                "axisColorMode": "text",
+                "axisLabel": "",
+                "axisPlacement": "auto",
+                "axisSoftMax": 1,
+                "axisSoftMin": 0,
+                "barAlignment": 0,
+                "drawStyle": "line",
+                "fillOpacity": 0,
+                "gradientMode": "none",
+                "hideFrom": {
+                  "legend": false,
+                  "tooltip": false,
+                  "viz": false
+                },
+                "lineInterpolation": "linear",
+                "lineWidth": 1,
+                "pointSize": 5,
+                "scaleDistribution": {
+                  "type": "linear"
+                },
+                "showPoints": "auto",
+                "spanNulls": false,
+                "stacking": {
+                  "group": "A",
+                  "mode": "none"
+                },
+                "thresholdsStyle": {
+                  "mode": "line+area"
+                }
+              },
+              "mappings": [],
+              "max": 1,
+              "min": 0,
+              "thresholds": {
+                "mode": "percentage",
+                "steps": [
+                  {
+                    "color": "green",
+                    "value": null
+                  },
+                  {
+                    "color": "red",
+                    "value": 80
+                  }
+                ]
+              },
+              "unit": "percentunit"
+            },
+            "overrides": []
+          },
+          "gridPos": {
+            "h": 8,
+            "w": 12,
+            "x": 0,
+            "y": 1
+          },
+          "id": 2,
+          "options": {
+            "legend": {
+              "calcs": [
+                "mean"
+              ],
+              "displayMode": "table",
+              "placement": "right",
+              "showLegend": true
+            },
+            "tooltip": {
+              "mode": "multi",
+              "sort": "asc"
+            }
+          },
+          "targets": [
+            {
+              "datasource": {
+                "type": "prometheus",
+                "uid": "${DS_PROMETHEUS}"
+              },
+              "editorMode": "code",
+              "expr": "disk_io_busy_percentage{instance=~\"$instance\", disk_id=~\"$disk\"}",
+              "legendFormat": "{{disk_id}}",
+              "range": true,
+              "refId": "A"
+            }
+          ],
+          "title": "Disk I/O Busy Rate",
+          "type": "timeseries"
+        },
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "${DS_PROMETHEUS}"
+          },
+          "fieldConfig": {
+            "defaults": {
+              "color": {
+                "mode": "palette-classic"
+              },
+              "custom": {
+                "axisCenteredZero": false,
+                "axisColorMode": "text",
+                "axisLabel": "",
+                "axisPlacement": "auto",
+                "barAlignment": 0,
+                "drawStyle": "line",
+                "fillOpacity": 0,
+                "gradientMode": "none",
+                "hideFrom": {
+                  "legend": false,
+                  "tooltip": false,
+                  "viz": false
+                },
+                "lineInterpolation": "linear",
+                "lineWidth": 1,
+                "pointSize": 5,
+                "scaleDistribution": {
+                  "type": "linear"
+                },
+                "showPoints": "auto",
+                "spanNulls": false,
+                "stacking": {
+                  "group": "A",
+                  "mode": "none"
+                },
+                "thresholdsStyle": {
+                  "mode": "off"
+                }
+              },
+              "mappings": [],
+              "thresholds": {
+                "mode": "absolute",
+                "steps": [
+                  {
+                    "color": "green",
+                    "value": null
+                  }
+                ]
+              },
+              "unit": "KBs"
+            },
+            "overrides": []
+          },
+          "gridPos": {
+            "h": 8,
+            "w": 12,
+            "x": 12,
+            "y": 1
+          },
+          "id": 4,
+          "options": {
+            "legend": {
+              "calcs": [
+                "mean"
+              ],
+              "displayMode": "list",
+              "placement": "right",
+              "showLegend": true
+            },
+            "tooltip": {
+              "mode": "multi",
+              "sort": "asc"
+            }
+          },
+          "targets": [
+            {
+              "datasource": {
+                "type": "prometheus",
+                "uid": "${DS_PROMETHEUS}"
+              },
+              "editorMode": "code",
+              "expr": "rate(disk_io_size{instance=~\"$instance\", disk_id=~\"$disk\"}[1m])",
+              "legendFormat": "{{disk_id}}-{{type}}",
+              "range": true,
+              "refId": "A"
+            }
+          ],
+          "title": "Disk I/O Throughput",
+          "type": "timeseries"
+        },
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "${DS_PROMETHEUS}"
+          },
+          "fieldConfig": {
+            "defaults": {
+              "color": {
+                "mode": "palette-classic"
+              },
+              "custom": {
+                "axisCenteredZero": false,
+                "axisColorMode": "text",
+                "axisLabel": "",
+                "axisPlacement": "auto",
+                "barAlignment": 0,
+                "drawStyle": "line",
+                "fillOpacity": 0,
+                "gradientMode": "none",
+                "hideFrom": {
+                  "legend": false,
+                  "tooltip": false,
+                  "viz": false
+                },
+                "lineInterpolation": "linear",
+                "lineWidth": 1,
+                "pointSize": 5,
+                "scaleDistribution": {
+                  "type": "linear"
+                },
+                "showPoints": "auto",
+                "spanNulls": false,
+                "stacking": {
+                  "group": "A",
+                  "mode": "none"
+                },
+                "thresholdsStyle": {
+                  "mode": "off"
+                }
+              },
+              "mappings": [],
+              "thresholds": {
+                "mode": "absolute",
+                "steps": [
+                  {
+                    "color": "green",
+                    "value": null
+                  }
+                ]
+              },
+              "unit": "iops"
+            },
+            "overrides": []
+          },
+          "gridPos": {
+            "h": 8,
+            "w": 12,
+            "x": 0,
+            "y": 9
+          },
+          "id": 6,
+          "options": {
+            "legend": {
+              "calcs": [
+                "mean"
+              ],
+              "displayMode": "table",
+              "placement": "right",
+              "showLegend": true
+            },
+            "tooltip": {
+              "mode": "multi",
+              "sort": "asc"
+            }
+          },
+          "targets": [
+            {
+              "datasource": {
+                "type": "prometheus",
+                "uid": "${DS_PROMETHEUS}"
+              },
+              "editorMode": "code",
+              "expr": "rate(disk_io_ops{instance=~\"$instance\", disk_id=~\"$disk\"}[1m])",
+              "legendFormat": "{{disk_id}}-{{type}}",
+              "range": true,
+              "refId": "A"
+            }
+          ],
+          "title": "Disk I/O Ops",
+          "type": "timeseries"
+        },
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "${DS_PROMETHEUS}"
+          },
+          "fieldConfig": {
+            "defaults": {
+              "color": {
+                "mode": "palette-classic"
+              },
+              "custom": {
+                "axisCenteredZero": false,
+                "axisColorMode": "text",
+                "axisLabel": "",
+                "axisPlacement": "auto",
+                "barAlignment": 0,
+                "drawStyle": "line",
+                "fillOpacity": 0,
+                "gradientMode": "none",
+                "hideFrom": {
+                  "legend": false,
+                  "tooltip": false,
+                  "viz": false
+                },
+                "lineInterpolation": "linear",
+                "lineWidth": 1,
+                "pointSize": 5,
+                "scaleDistribution": {
+                  "type": "linear"
+                },
+                "showPoints": "auto",
+                "spanNulls": false,
+                "stacking": {
+                  "group": "A",
+                  "mode": "none"
+                },
+                "thresholdsStyle": {
+                  "mode": "off"
+                }
+              },
+              "mappings": [],
+              "thresholds": {
+                "mode": "absolute",
+                "steps": [
+                  {
+                    "color": "green",
+                    "value": null
+                  }
+                ]
+              },
+              "unit": "ms"
+            },
+            "overrides": []
+          },
+          "gridPos": {
+            "h": 8,
+            "w": 12,
+            "x": 12,
+            "y": 9
+          },
+          "id": 10,
+          "options": {
+            "legend": {
+              "calcs": [
+                "mean"
+              ],
+              "displayMode": "table",
+              "placement": "right",
+              "showLegend": true
+            },
+            "tooltip": {
+              "mode": "multi",
+              "sort": "asc"
+            }
+          },
+          "targets": [
+            {
+              "datasource": {
+                "type": "prometheus",
+                "uid": "${DS_PROMETHEUS}"
+              },
+              "editorMode": "code",
+              "expr": "disk_io_avg_time{instance=~\"$instance\", disk_id=~\"$disk\"}",
+              "legendFormat": "{{disk_id}}-{{type}}",
+              "range": true,
+              "refId": "A"
+            }
+          ],
+          "title": "Disk Per I/O Avg Time",
+          "type": "timeseries"
+        },
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "${DS_PROMETHEUS}"
+          },
+          "fieldConfig": {
+            "defaults": {
+              "color": {
+                "mode": "palette-classic"
+              },
+              "custom": {
+                "axisCenteredZero": false,
+                "axisColorMode": "text",
+                "axisLabel": "",
+                "axisPlacement": "auto",
+                "barAlignment": 0,
+                "drawStyle": "line",
+                "fillOpacity": 0,
+                "gradientMode": "none",
+                "hideFrom": {
+                  "legend": false,
+                  "tooltip": false,
+                  "viz": false
+                },
+                "lineInterpolation": "linear",
+                "lineWidth": 1,
+                "pointSize": 5,
+                "scaleDistribution": {
+                  "type": "linear"
+                },
+                "showPoints": "auto",
+                "spanNulls": false,
+                "stacking": {
+                  "group": "A",
+                  "mode": "none"
+                },
+                "thresholdsStyle": {
+                  "mode": "off"
+                }
+              },
+              "mappings": [],
+              "thresholds": {
+                "mode": "absolute",
+                "steps": [
+                  {
+                    "color": "green",
+                    "value": null
+                  }
+                ]
+              },
+              "unit": "bytes"
+            },
+            "overrides": []
+          },
+          "gridPos": {
+            "h": 8,
+            "w": 12,
+            "x": 0,
+            "y": 17
+          },
+          "id": 12,
+          "options": {
+            "legend": {
+              "calcs": [
+                "mean"
+              ],
+              "displayMode": "table",
+              "placement": "right",
+              "showLegend": true
+            },
+            "tooltip": {
+              "mode": "multi",
+              "sort": "asc"
+            }
+          },
+          "targets": [
+            {
+              "datasource": {
+                "type": "prometheus",
+                "uid": "${DS_PROMETHEUS}"
+              },
+              "editorMode": "code",
+              "expr": "disk_io_avg_size{instance=~\"$instance\", disk_id=~\"$disk\"}",
+              "legendFormat": "{{disk_id}}-{{type}}",
+              "range": true,
+              "refId": "A"
+            }
+          ],
+          "title": "Disk I/O Avg Size",
+          "type": "timeseries"
+        },
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "${DS_PROMETHEUS}"
+          },
+          "fieldConfig": {
+            "defaults": {
+              "color": {
+                "mode": "palette-classic"
+              },
+              "custom": {
+                "axisCenteredZero": false,
+                "axisColorMode": "text",
+                "axisLabel": "",
+                "axisPlacement": "auto",
+                "barAlignment": 0,
+                "drawStyle": "line",
+                "fillOpacity": 0,
+                "gradientMode": "none",
+                "hideFrom": {
+                  "legend": false,
+                  "tooltip": false,
+                  "viz": false
+                },
+                "lineInterpolation": "linear",
+                "lineWidth": 1,
+                "pointSize": 5,
+                "scaleDistribution": {
+                  "type": "linear"
+                },
+                "showPoints": "auto",
+                "spanNulls": false,
+                "stacking": {
+                  "group": "A",
+                  "mode": "none"
+                },
+                "thresholdsStyle": {
+                  "mode": "off"
+                }
+              },
+              "mappings": [],
+              "thresholds": {
+                "mode": "absolute",
+                "steps": [
+                  {
+                    "color": "green",
+                    "value": null
+                  }
+                ]
+              }
+            },
+            "overrides": []
+          },
+          "gridPos": {
+            "h": 8,
+            "w": 12,
+            "x": 12,
+            "y": 17
+          },
+          "id": 8,
+          "options": {
+            "legend": {
+              "calcs": [
+                "mean"
+              ],
+              "displayMode": "list",
+              "placement": "right",
+              "showLegend": true
+            },
+            "tooltip": {
+              "mode": "multi",
+              "sort": "asc"
+            }
+          },
+          "targets": [
+            {
+              "datasource": {
+                "type": "prometheus",
+                "uid": "${DS_PROMETHEUS}"
+              },
+              "editorMode": "code",
+              "expr": "disk_io_avg_queue_size{instance=~\"$instance\", disk_id=~\"$disk\"}",
+              "legendFormat": "{{disk_id}}",
+              "range": true,
+              "refId": "A"
+            }
+          ],
+          "title": "Disk I/O Avg Queue Size",
+          "type": "timeseries"
+        }
+      ],
+      "title": "Disk Status",
+      "type": "row"
+    },
+    {
+      "collapsed": true,
+      "gridPos": {
+        "h": 1,
+        "w": 24,
+        "x": 0,
+        "y": 1
+      },
+      "id": 20,
+      "panels": [
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "${DS_PROMETHEUS}"
+          },
+          "fieldConfig": {
+            "defaults": {
+              "color": {
+                "mode": "palette-classic"
+              },
+              "custom": {
+                "axisCenteredZero": false,
+                "axisColorMode": "text",
+                "axisLabel": "",
+                "axisPlacement": "auto",
+                "barAlignment": 0,
+                "drawStyle": "line",
+                "fillOpacity": 0,
+                "gradientMode": "none",
+                "hideFrom": {
+                  "legend": false,
+                  "tooltip": false,
+                  "viz": false
+                },
+                "lineInterpolation": "linear",
+                "lineWidth": 1,
+                "pointSize": 5,
+                "scaleDistribution": {
+                  "type": "linear"
+                },
+                "showPoints": "auto",
+                "spanNulls": false,
+                "stacking": {
+                  "group": "A",
+                  "mode": "none"
+                },
+                "thresholdsStyle": {
+                  "mode": "off"
+                }
+              },
+              "mappings": [],
+              "thresholds": {
+                "mode": "absolute",
+                "steps": [
+                  {
+                    "color": "green",
+                    "value": null
+                  }
+                ]
+              },
+              "unit": "KBs"
+            },
+            "overrides": []
+          },
+          "gridPos": {
+            "h": 8,
+            "w": 12,
+            "x": 0,
+            "y": 1
+          },
+          "id": 16,
+          "options": {
+            "legend": {
+              "calcs": [
+                "mean"
+              ],
+              "displayMode": "table",
+              "placement": "right",
+              "showLegend": true
+            },
+            "tooltip": {
+              "mode": "multi",
+              "sort": "asc"
+            }
+          },
+          "targets": [
+            {
+              "datasource": {
+                "type": "prometheus",
+                "uid": "${DS_PROMETHEUS}"
+              },
+              "editorMode": "code",
+              "expr": "rate(process_io_size{instance=~\"$instance\"}[1m])",
+              "legendFormat": "{{from}}-{{name}}",
+              "range": true,
+              "refId": "A"
+            }
+          ],
+          "title": "Process I/O Throughput",
+          "type": "timeseries"
+        },
+        {
+          "datasource": {
+            "type": "prometheus",
+            "uid": "${DS_PROMETHEUS}"
+          },
+          "fieldConfig": {
+            "defaults": {
+              "color": {
+                "mode": "palette-classic"
+              },
+              "custom": {
+                "axisCenteredZero": false,
+                "axisColorMode": "text",
+                "axisLabel": "",
+                "axisPlacement": "auto",
+                "barAlignment": 0,
+                "drawStyle": "line",
+                "fillOpacity": 0,
+                "gradientMode": "none",
+                "hideFrom": {
+                  "legend": false,
+                  "tooltip": false,
+                  "viz": false
+                },
+                "lineInterpolation": "linear",
+                "lineWidth": 1,
+                "pointSize": 5,
+                "scaleDistribution": {
+                  "type": "linear"
+                },
+                "showPoints": "auto",
+                "spanNulls": false,
+                "stacking": {
+                  "group": "A",
+                  "mode": "none"
+                },
+                "thresholdsStyle": {
+                  "mode": "off"
+                }
+              },
+              "mappings": [],
+              "thresholds": {
+                "mode": "absolute",
+                "steps": [
+                  {
+                    "color": "green",
+                    "value": null
+                  }
+                ]
+              },
+              "unit": "ops"
+            },
+            "overrides": []
+          },
+          "gridPos": {
+            "h": 8,
+            "w": 12,
+            "x": 12,
+            "y": 1
+          },
+          "id": 14,
+          "options": {
+            "legend": {
+              "calcs": [
+                "mean"
+              ],
+              "displayMode": "table",
+              "placement": "right",
+              "showLegend": true
+            },
+            "tooltip": {
+              "mode": "multi",
+              "sort": "asc"
+            }
+          },
+          "targets": [
+            {
+              "datasource": {
+                "type": "prometheus",
+                "uid": "${DS_PROMETHEUS}"
+              },
+              "editorMode": "code",
+              "expr": "rate(process_io_ops{instance=~\"$instance\"}[1m])",
+              "legendFormat": "{{from}}-{{name}}",
+              "range": true,
+              "refId": "A"
+            }
+          ],
+          "title": "I/O System Call Rate",
+          "type": "timeseries"
+        }
+      ],
+      "title": "Process",
+      "type": "row"
+    }
+  ],
+  "refresh": "5s",
+  "schemaVersion": 37,
+  "style": "dark",
+  "tags": [],
+  "templating": {
+    "list": [
+      {
+        "current": {},
+        "datasource": {
+          "type": "prometheus",
+          "uid": "${DS_PROMETHEUS}"
+        },
+        "definition": "label_values(job)",
+        "hide": 0,
+        "includeAll": false,
+        "multi": false,
+        "name": "job",
+        "options": [],
+        "query": {
+          "query": "label_values(job)",
+          "refId": "StandardVariableQuery"
+        },
+        "refresh": 1,
+        "regex": "",
+        "skipUrlSync": false,
+        "sort": 0,
+        "type": "query"
+      },
+      {
+        "current": {},
+        "datasource": {
+          "type": "prometheus",
+          "uid": "${DS_PROMETHEUS}"
+        },
+        "definition": "label_values(up{job=~\"$job\"},instance)",
+        "description": "",
+        "hide": 0,
+        "includeAll": false,
+        "multi": false,
+        "name": "instance",
+        "options": [],
+        "query": {
+          "query": "label_values(up{job=~\"$job\"},instance)",
+          "refId": "StandardVariableQuery"
+        },
+        "refresh": 1,
+        "regex": "",
+        "skipUrlSync": false,
+        "sort": 0,
+        "type": "query"
+      },
+      {
+        "current": {},
+        "datasource": {
+          "type": "prometheus",
+          "uid": "${DS_PROMETHEUS}"
+        },
+        "definition": "label_values(disk_id)",
+        "hide": 0,
+        "includeAll": false,
+        "multi": true,
+        "name": "disk",
+        "options": [],
+        "query": {
+          "query": "label_values(disk_id)",
+          "refId": "StandardVariableQuery"
+        },
+        "refresh": 1,
+        "regex": "",
+        "skipUrlSync": false,
+        "sort": 0,
+        "type": "query"
+      }
+    ]
+  },
+  "time": {
+    "from": "now-5m",
+    "to": "now"
+  },
+  "timepicker": {
+    "refresh_intervals": [
+      "15s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m"
+    ]
+  },
+  "timezone": "",
+  "title": "Apache IoTDB Disk I/O Dashboard",
+  "uid": "TrJ0dsaVk",
+  "version": 12,
+  "weekStart": ""
+}
\ No newline at end of file
diff --git a/docs/UserGuide/Monitor-Alert/Apache-IoTDB-Network-Dashboard.json b/docs/UserGuide/Monitor-Alert/Apache-IoTDB-Network-Dashboard.json
index f63d532a7b..66899f7b21 100644
--- a/docs/UserGuide/Monitor-Alert/Apache-IoTDB-Network-Dashboard.json
+++ b/docs/UserGuide/Monitor-Alert/Apache-IoTDB-Network-Dashboard.json
@@ -415,8 +415,7 @@
             "mode": "absolute",
             "steps": [
               {
-                "color": "green",
-                "value": null
+                "color": "green"
               }
             ]
           }
@@ -497,7 +496,7 @@
         "description": "",
         "hide": 0,
         "includeAll": false,
-        "multi": false,
+        "multi": true,
         "name": "iface",
         "options": [],
         "query": {
@@ -529,6 +528,6 @@
   "timezone": "",
   "title": "Apache IoTDB Network Dashboard",
   "uid": "AXEPYc-Vz",
-  "version": 19,
+  "version": 2,
   "weekStart": ""
 }
\ No newline at end of file
diff --git a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/DiskMetrics.java b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/DiskMetrics.java
index 1236ce8367..8184672fb8 100644
--- a/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/DiskMetrics.java
+++ b/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/DiskMetrics.java
@@ -42,6 +42,7 @@ public class DiskMetrics implements IMetricSet {
   private static final String ACTUAL_WRITE = "actual_write";
   private static final String ACTUAL_READ = "actual_read";
   private static final String TYPE = "type";
+  private static final String DISK_ID = "disk_id";
   private static final String NAME = "name";
   private static final String FROM = "from";
   private static final String DISK_IO_SIZE = "disk_io_size";
@@ -71,7 +72,7 @@ public class DiskMetrics implements IMetricSet {
           x -> x.getReadDataSizeForDisk().getOrDefault(diskID, 0.0),
           TYPE,
           READ,
-          NAME,
+          DISK_ID,
           diskID);
       metricService.createAutoGauge(
           DISK_IO_SIZE,
@@ -80,7 +81,7 @@ public class DiskMetrics implements IMetricSet {
           x -> x.getWriteDataSizeForDisk().getOrDefault(diskID, 0.0),
           TYPE,
           WRITE,
-          NAME,
+          DISK_ID,
           diskID);
       metricService.createAutoGauge(
           DISK_IO_OPS,
@@ -89,7 +90,7 @@ public class DiskMetrics implements IMetricSet {
           x -> x.getReadOperationCountForDisk().getOrDefault(diskID, 0L),
           TYPE,
           READ,
-          NAME,
+          DISK_ID,
           diskID);
       metricService.createAutoGauge(
           DISK_IO_OPS,
@@ -98,7 +99,7 @@ public class DiskMetrics implements IMetricSet {
           x -> x.getWriteOperationCountForDisk().getOrDefault(diskID, 0L),
           TYPE,
           WRITE,
-          NAME,
+          DISK_ID,
           diskID);
       metricService.createAutoGauge(
           DISK_IO_OPS,
@@ -107,7 +108,7 @@ public class DiskMetrics implements IMetricSet {
           x -> x.getMergedReadOperationForDisk().getOrDefault(diskID, 0L),
           TYPE,
           MERGED_READ,
-          NAME,
+          DISK_ID,
           diskID);
       metricService.createAutoGauge(
           DISK_IO_OPS,
@@ -116,7 +117,7 @@ public class DiskMetrics implements IMetricSet {
           x -> x.getMergedWriteOperationForDisk().getOrDefault(diskID, 0L),
           TYPE,
           MERGED_WRITE,
-          NAME,
+          DISK_ID,
           diskID);
       metricService.createAutoGauge(
           DISK_IO_TIME,
@@ -125,7 +126,7 @@ public class DiskMetrics implements IMetricSet {
           x -> x.getReadCostTimeForDisk().getOrDefault(diskID, 0L),
           TYPE,
           READ,
-          NAME,
+          DISK_ID,
           diskID);
       metricService.createAutoGauge(
           DISK_IO_TIME,
@@ -134,7 +135,7 @@ public class DiskMetrics implements IMetricSet {
           x -> x.getWriteCostTimeForDisk().getOrDefault(diskID, 0L),
           TYPE,
           WRITE,
-          NAME,
+          DISK_ID,
           diskID);
       metricService.createAutoGauge(
           DISK_IO_AVG_TIME,
@@ -143,7 +144,7 @@ public class DiskMetrics implements IMetricSet {
           x -> x.getAvgReadCostTimeOfEachOpsForDisk().getOrDefault(diskID, 0.0),
           TYPE,
           READ,
-          NAME,
+          DISK_ID,
           diskID);
       metricService.createAutoGauge(
           DISK_IO_AVG_TIME,
@@ -152,7 +153,7 @@ public class DiskMetrics implements IMetricSet {
           x -> x.getAvgWriteCostTimeOfEachOpsForDisk().getOrDefault(diskID, 0.0),
           TYPE,
           WRITE,
-          NAME,
+          DISK_ID,
           diskID);
       metricService.createAutoGauge(
           DISK_IO_AVG_SIZE,
@@ -161,7 +162,7 @@ public class DiskMetrics implements IMetricSet {
           x -> x.getAvgSizeOfEachReadForDisk().getOrDefault(diskID, 0.0),
           TYPE,
           READ,
-          NAME,
+          DISK_ID,
           diskID);
       metricService.createAutoGauge(
           DISK_IO_AVG_SIZE,
@@ -170,21 +171,21 @@ public class DiskMetrics implements IMetricSet {
           x -> x.getAvgSizeOfEachWriteForDisk().getOrDefault(diskID, 0.0),
           TYPE,
           WRITE,
-          NAME,
+          DISK_ID,
           diskID);
       metricService.createAutoGauge(
           DISK_IO_BUSY_PERCENTAGE,
           MetricLevel.IMPORTANT,
           diskMetricsManager,
           x -> x.getIoUtilsPercentage().getOrDefault(diskID, 0.0),
-          NAME,
+          DISK_ID,
           diskID);
       metricService.createAutoGauge(
           DISK_IO_QUEUE_SIZE,
           MetricLevel.IMPORTANT,
           diskMetricsManager,
           x -> x.getQueueSizeForDisk().getOrDefault(diskID, 0.0),
-          NAME,
+          DISK_ID,
           diskID);
     }