From 5d6635e414a71127b84e7ced85b1aa762b707839 Mon Sep 17 00:00:00 2001 From: OpenTelekomCloud Proposal Bot <52695153+otcbot@users.noreply.github.com> Date: Fri, 10 Oct 2025 12:33:15 +0000 Subject: [PATCH] Update content --- .../images/en-us_image_0000002454002032.png | Bin 0 -> 111915 bytes .../creating_an_account.rst | 48 ++-- umn/source/account_management/index.rst | 2 + .../account_permissions.rst | 14 ++ .../account_requirements.rst | 24 ++ .../managing_permissions/index.rst | 18 ++ .../managing_permissions.rst | 220 ++++++++++++++++++ .../restoring_metadata.rst | 50 ++-- ...tions_on_rds_for_mysql_will_affect_ddm.rst | 2 +- .../step_3_create_a_ddm_account.rst | 2 +- .../ddm_instance_metrics.rst | 66 +++--- 11 files changed, 367 insertions(+), 79 deletions(-) create mode 100644 umn/source/_static/images/en-us_image_0000002454002032.png create mode 100644 umn/source/account_management/managing_permissions/account_permissions.rst create mode 100644 umn/source/account_management/managing_permissions/account_requirements.rst create mode 100644 umn/source/account_management/managing_permissions/index.rst create mode 100644 umn/source/account_management/managing_permissions/managing_permissions.rst diff --git a/umn/source/_static/images/en-us_image_0000002454002032.png b/umn/source/_static/images/en-us_image_0000002454002032.png new file mode 100644 index 0000000000000000000000000000000000000000..617abe2bbcf86408d4207060681c14fc46b425b8 GIT binary patch literal 111915 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

rdANdrwG`dWt+ET+8o+2iT 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 literal 0 HcmV?d00001 diff --git a/umn/source/account_management/creating_an_account.rst b/umn/source/account_management/creating_an_account.rst index 3231db6..e4aa3ef 100644 --- a/umn/source/account_management/creating_an_account.rst +++ b/umn/source/account_management/creating_an_account.rst @@ -20,29 +20,29 @@ Procedure .. table:: **Table 1** Required parameters - +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Parameter | Description | - +===================================+========================================================================================================================================================+ - | Username | Username of the account. | - | | | - | | The username can consist of 1 to 32 characters and must start with a letter. Only letters, digits, and underscores (_) are allowed. | - +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Password | Password of the account. The password: | - | | | - | | - Can include 8 to 32 characters. | - | | - Must contain at least three of the following character types: lowercase letters, uppercase letters, digits, and special characters ``~!@#%^*-_=+?`` | - | | - Cannot be a weak password. It cannot be overly simple and easily guessed. | - | | - Cannot be the username or the username spelled backwards. | - +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Confirm Password | The confirm password must be the same as the entered password. | - +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Schema | Schema to be associated with the account. You can select an existing schema from the drop-down list. | - | | | - | | The account can be used to access only the associated schemas. | - +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Permissions | Options: **CREATE**, **DROP**, **ALTER**, **INDEX**, **INSERT**, **DELETE**, **UPDATE**, and **SELECT**. You can select any or a combination of them. | - +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Description | Description of the account, which cannot exceed 256 characters. | - +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Description | + +===================================+=======================================================================================================================================================+ + | Username | Username of the account. | + | | | + | | The username can consist of 1 to 32 characters and must start with a letter. Only letters, digits, and underscores (_) are allowed. | + +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Password | Password of the account. The password: | + | | | + | | - Can include 8 to 32 characters. | + | | - Must contain at least three of the following character types: lowercase letters, uppercase letters, digits, and special characters ``~!@#%^*-_+?`` | + | | - Cannot be a weak password. It cannot be overly simple and easily guessed. | + | | - Cannot be the username or the username spelled backwards. | + +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Confirm Password | The confirm password must be the same as the entered password. | + +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Schema | Schema to be associated with the account. You can select an existing schema from the drop-down list. | + | | | + | | The account can be used to access only the associated schemas. | + +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Permissions | Options: **CREATE**, **DROP**, **ALTER**, **INDEX**, **INSERT**, **DELETE**, **UPDATE**, and **SELECT**. You can select any or a combination of them. | + +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Description | Description of the account, which cannot exceed 256 characters. | + +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ #. Confirm the settings and click **OK**. diff --git a/umn/source/account_management/index.rst b/umn/source/account_management/index.rst index 8c984b8..1ab21ba 100644 --- a/umn/source/account_management/index.rst +++ b/umn/source/account_management/index.rst @@ -9,6 +9,7 @@ Account Management - :ref:`Modifying an Account ` - :ref:`Deleting an Account ` - :ref:`Resetting the Password of an Account ` +- :ref:`Managing Permissions ` .. toctree:: :maxdepth: 1 @@ -18,3 +19,4 @@ Account Management modifying_an_account deleting_an_account resetting_the_password_of_an_account + managing_permissions/index diff --git a/umn/source/account_management/managing_permissions/account_permissions.rst b/umn/source/account_management/managing_permissions/account_permissions.rst new file mode 100644 index 0000000..172709a --- /dev/null +++ b/umn/source/account_management/managing_permissions/account_permissions.rst @@ -0,0 +1,14 @@ +:original_name: ddm_12_0002.html + +.. _ddm_12_0002: + +Account Permissions +=================== + +DDM permissions management is based on MySQL permissions management. DDM supports most of MySQL syntax and permissions. For more information about MySQL accounts and permissions, see `MySQL documentation `__. + +This document describes DDM account rules, permission levels, permission items, and permission operations. + +.. note:: + + DDM Accounts created by CREATE USER or GRANT have nothing to do with accounts in associated RDS instances, and will not be synchronized to RDS instances either. diff --git a/umn/source/account_management/managing_permissions/account_requirements.rst b/umn/source/account_management/managing_permissions/account_requirements.rst new file mode 100644 index 0000000..709c9a9 --- /dev/null +++ b/umn/source/account_management/managing_permissions/account_requirements.rst @@ -0,0 +1,24 @@ +:original_name: ddm_12_0003.html + +.. _ddm_12_0003: + +Account Requirements +==================== + +Account +------- + +Different from MySQL, DDM identifies an account by username, not by username@host. + +Username +-------- + +- Must be case-sensitive. +- Contains 1 to 32 characters and must start with a letter. Only letters, digits, and underscores (_) are allowed. + +Password +-------- + +- Contains 8 to 32 characters. +- Must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters ``~!@#%^*-_+?`` +- Cannot be a weak password that is easily guessed. diff --git a/umn/source/account_management/managing_permissions/index.rst b/umn/source/account_management/managing_permissions/index.rst new file mode 100644 index 0000000..6f2851c --- /dev/null +++ b/umn/source/account_management/managing_permissions/index.rst @@ -0,0 +1,18 @@ +:original_name: ddm_05_0020.html + +.. _ddm_05_0020: + +Managing Permissions +==================== + +- :ref:`Account Permissions ` +- :ref:`Account Requirements ` +- :ref:`Managing Permissions ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + account_permissions + account_requirements + managing_permissions diff --git a/umn/source/account_management/managing_permissions/managing_permissions.rst b/umn/source/account_management/managing_permissions/managing_permissions.rst new file mode 100644 index 0000000..547ca11 --- /dev/null +++ b/umn/source/account_management/managing_permissions/managing_permissions.rst @@ -0,0 +1,220 @@ +:original_name: ddm_12_0004.html + +.. _ddm_12_0004: + +Managing Permissions +==================== + +Permission Levels +----------------- + +- User level (supported) +- Database level (supported) +- Table level (supported) +- Column level (not supported) +- Subprogram level (not supported) +- Global level (not supported) + +Permission Types +---------------- + +DDM supports different permission types by using the GRANT statement. + +=============== ========================================== +Permission Type Description +=============== ========================================== +ALL All permissions +DROP Deleting a table +INDEX Creating/Deleting an index +ALTER Executing ALTER statements +CREATE Creating a table +SELECT Reading table data +INSERT Inserting data to a table +UPDATE Updating data in a table +GRANT Granting permissions to users +REVOKE Deleting a user permission +SET Setting user's passwords +FILE Uploading database permissions from a file +CREATE USER Creating a user +=============== ========================================== + +Precautions +----------- + +- Basic permissions of a DDM account can only be modified on the DDM console. +- If a DDM account has table or database permissions on a schema, the schema will be displayed in the row where the account is located. +- Users created by the CREATE USER statement support only user-level permissions. +- If a DDM account has been associated with a schema, deleting this schema or tables in it does not affect the permissions assigned to the account. +- Permissions cannot be assigned to a DDM account created on the management and control plane unless the account is associated with a schema. + +Permission Operations +--------------------- + +.. important:: + + SHOW GRANTS is supported in versions in 3.0.2 or later. Other functions are available in versions 2.4.1.4 or later. + +**CREATE USER** + +Syntax: + +.. code-block:: + + CREATE USER username IDENTIFIED BY 'password'; + +Example: **Creating an account (whose name is Jenny and whose password is changed from xxxxxx to a custom one)** + +.. code-block:: + + CREATE USER Jenny IDENTIFIED BY 'xxxxxx'; + +.. note:: + + Each username and password must meet the corresponding requirements. + +**DROP USER** + +Syntax: + +.. code-block:: + + DROP USER username + +Example: **Removing user1** + +.. code-block:: + + DROP USER user1; + +**SET PASSWORD** + +Syntax: + +.. code-block:: + + SET PASSWORD FOR 'username'@'%' = 'password' + +.. note:: + + To be compatible with the MySQL syntax, the username must be in the format of 'username'@'%'. + +Example: **Changing the password of Jenny** + +.. code-block:: + + SET PASSWORD FOR 'Jenny'@'%' = 'new_password' + +**GRANT** + +Syntax: + +.. code-block:: + + GRANT + priv_type[, priv_type] ... + ON priv_level + TO user [auth_option] + priv_level: { + | *.* + | db_name.* + | db_name.tbl_name + | tbl_name} + auth_option: { + IDENTIFIED BY 'password' + } + +.. note:: + + If a GRANT statement provides no accounts and does not specify **IDENTIFIED BY**, a message **No account found** will be returned. If **IDENTIFIED BY** is specified, an account will be created accordingly and permissions will be granted to it. + + GRANT ALL [PRIVILEGES] can be used to assign table-, user-, and database-level permissions. + +Example 1: Create a user-level account with all permissions. The username is **user2**. + +Method 1: Create an account and then grant permissions to it. + +.. code-block:: + + CREATE USER user2 IDENTIFIED BY 'password'; + GRANT SELECT, INSERT ON *.* to user2; + +Method 2: Use one SQL statement to create an account and grant it permissions. + +.. code-block:: + + GRANT SELECT, INSERT ON *.* to user2 IDENTIFIED BY 'password'; + +Example 2: Create a database-level account with all permissions. Create account **user3** in database **testdb** and grant the SELECT permissions of database **testdb** to the account. + +Method 1: Create an account and then grant permissions to it. + +.. code-block:: + + CREATE USER user3 IDENTIFIED BY 'password'; + GRANT SELECT ON testdb.* to user3; + +Method 2: Use one SQL statement to create an account and grant it permissions. + +.. code-block:: + + GRANT SELECT ON testdb.* to user3 IDENTIFIED BY 'password'; + +Example 3: Create a table-level account with all permissions. Create account **user4** in database **testdb** and grant all permissions of table **testdb.employees** to the account. + +.. code-block:: + + GRANT ALL PRIVILEGES ON testdb.employees to user4 IDENTIFIED BY 'password'; + +**REVOKE** + +Syntax: + +.. code-block:: + + REVOKE + priv_type [, priv_type] ... + ON priv_level FROM user; + +Example: Deleting CREATE, DROP, and INDEX permissions of user **user4** on table **testdb.emp**. + +.. code-block:: + + REVOKE CREATE,DROP,INDEX ON testdb.emp FROM user4; + +.. note:: + + REVOKE can delete actions at each permission level of an account. The permission level is specified by **priv_level**. + +**SHOW GRANTS** + +Syntax: + +.. code-block:: + + SHOW GRANTS FOR username; + +Example 1: Querying user permissions with any of the following statements: + +.. code-block:: + + SHOW GRANTS; + SHOW GRANTS FOR CURRENT_USER; + SHOW GRANTS FOR CURRENT_USER(); + + +.. figure:: /_static/images/en-us_image_0000002454002032.png + :alt: **Figure 1** Viewing the permissions of the current user + + **Figure 1** Viewing the permissions of the current user + +Example 2: Querying other permissions. This operation can be performed only when the current user can grant user-level permissions. + +.. code-block:: + + mysql> show grants for user4; + +-----------------------------+ + |Grants for user4 | + +-----------------------------+ + |GRANT USAGE ON *.* TO user4 | + +-----------------------------+ + 1 row in set (0.00 sec) diff --git a/umn/source/backups_and_restorations/restoring_metadata.rst b/umn/source/backups_and_restorations/restoring_metadata.rst index 4dcfbc7..ad16d0d 100644 --- a/umn/source/backups_and_restorations/restoring_metadata.rst +++ b/umn/source/backups_and_restorations/restoring_metadata.rst @@ -17,15 +17,17 @@ Prerequisites ------------- - There is a source DDM instance available and associated with an RDS for MySQL instance. This DB instance is the source data node. -- The source data node has been restored to a specified time point. +- The data from the source data node has been restored to the destination data node as it existed at a specified point in time. +- The destination RDS for MySQL instance and the destination DDM instance must be deployed in the same VPC and subnet and have the same security group rules. Constraints ----------- -- The destination DDM instance is not associated with any RDS for MySQL instance and has no schemas or accounts. +- The destination DDM instance is not associated with any RDS for MySQL instance and has no schemas and accounts. - Restoration is not supported if the destination DDM instance is in the primary network and its associated RDS for MySQL instance is in the extended network. - The source DDM instance must be of the version 2.3.2.11 or later, and the destination DDM instance must be of the version 3.0.8 or later. - Time points that data can be restored to depend on the backup policy set on original data nodes. +- The time point to which metadata is restored must be the same as that to which an RDS for MySQL instance is restored. .. _ddm_06_0017__section128315484524: @@ -36,7 +38,7 @@ Restoring Metadata to a Point in Time #. .. _ddm_06_0017__li4793191882712: - :ref:`Create a new DDM instance ` and use it as the destination DDM instance. For details, see\ :ref:`Creating a DDM Instance `. + :ref:`Create a new DDM instance ` and use it as the destination DDM instance. For details, see :ref:`Creating a DDM Instance `. #. In the DDM instance list, locate the source instance and click its name. @@ -48,15 +50,17 @@ Restoring Metadata to a Point in Time .. table:: **Table 1** Parameter description - +--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Parameter | Description | - +==========================+=============================================================================================================================================================+ - | Restore To | Specify a point in time. DDM will restore metadata to this point in time using the most recent backup. | - +--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Destination DDM Instance | Select the DDM instance created in :ref:`2 `. | - +--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Destination Data Nodes | Select the RDS for MySQL instances that have completed PITR. DDM will match the selected data nodes with shard information in the selected metadata backup. | - +--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Description | + +===================================+============================================================================================================================================================================================================================================================================================+ + | Restore To | Specify a point in time. DDM will restore metadata to this point in time using the most recent backup. | + +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Destination DDM Instance | Select the DDM instance created in :ref:`2 `. | + +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Destination Data Nodes | Select the RDS for MySQL instances that have completed PITR. DDM will match the selected data nodes with shard information in the selected metadata backup. | + | | | + | | For details about how to perform PITR on RDS for MySQL instances, see `Restoring a DB Instance to a Point in Time `__. | + +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ #. Click **OK**. If a message is displayed indicating that the metadata is restored successfully, the restoration is complete. @@ -69,7 +73,7 @@ Restoring Metadata Using Backups #. .. _ddm_06_0017__li881143742017: - :ref:`Create a new DDM instance ` and use it as the destination DDM instance. For details, see\ :ref:`Creating a DDM Instance `. + :ref:`Create a new DDM instance ` and use it as the destination DDM instance. For details, see :ref:`Creating a DDM Instance `. #. In the DDM instance list, locate the source instance and click its name. @@ -81,14 +85,16 @@ Restoring Metadata Using Backups .. table:: **Table 2** Parameter description - +--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Parameter | Description | - +==========================+=============================================================================================================================================================+ - | Backup Name | Name of the backup to be restored. | - +--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Destination DDM Instance | Select the DDM instance created in :ref:`2 `. | - +--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | Destination Data Nodes | Select the RDS for MySQL instances that have completed PITR. DDM will match the selected data nodes with shard information in the selected metadata backup. | - +--------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Parameter | Description | + +===================================+============================================================================================================================================================================================================================================================================================+ + | Backup Name | Name of the backup to be restored. | + +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Destination DDM Instance | Select the DDM instance created in :ref:`2 `. | + +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | Destination Data Nodes | Select the RDS for MySQL instances that have completed PITR. DDM will match the selected data nodes with shard information in the selected metadata backup. | + | | | + | | For details about how to perform PITR on RDS for MySQL instances, see `Restoring a DB Instance to a Point in Time `__. | + +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ #. Click **OK**. If a message is displayed indicating that the metadata is restored successfully, the restoration is complete. diff --git a/umn/source/faqs/rds-related_questions/what_risky_operations_on_rds_for_mysql_will_affect_ddm.rst b/umn/source/faqs/rds-related_questions/what_risky_operations_on_rds_for_mysql_will_affect_ddm.rst index 3a0c1fa..9ada64b 100644 --- a/umn/source/faqs/rds-related_questions/what_risky_operations_on_rds_for_mysql_will_affect_ddm.rst +++ b/umn/source/faqs/rds-related_questions/what_risky_operations_on_rds_for_mysql_will_affect_ddm.rst @@ -44,7 +44,7 @@ What Risky Operations on RDS for MySQL Will Affect DDM? +--------------------------------------------+------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | Deleting a physical table created on DDM | After a physical table is deleted, data stored on DDM will be lost. The corresponding logical table becomes unavailable on DDM. | +--------------------------------------------+------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | | Modifying the name of a physical table created on DDM | DDM cannot obtain data of the corresponding logical table, and the logical table becomes unavailable on DDM. | + | | Changing the name of a physical table created on DDM | DDM cannot obtain data of the corresponding logical table, and the logical table becomes unavailable on DDM. | +--------------------------------------------+------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | | Changing a record | Changing a record in a broadcast table will affect the data consistency of shards. | +--------------------------------------------+------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/umn/source/getting_started/step_3_create_a_ddm_account.rst b/umn/source/getting_started/step_3_create_a_ddm_account.rst index 307a234..be4db37 100644 --- a/umn/source/getting_started/step_3_create_a_ddm_account.rst +++ b/umn/source/getting_started/step_3_create_a_ddm_account.rst @@ -31,7 +31,7 @@ Procedure +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ | Schema | Schema to be associated with the DDM account. You can select an existing schema from the drop-down list. | | | | - | | Only the associated schemas can be accessed using the account. | + | | The account can be used to access only the associated schemas. | +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ | Permissions | Options: **CREATE**, **DROP**, **ALTER**, **INDEX**, **INSERT**, **DELETE**, **UPDATE**, and **SELECT**. You can select any or a combination of them. | +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/umn/source/monitoring_management/supported_metrics/ddm_instance_metrics.rst b/umn/source/monitoring_management/supported_metrics/ddm_instance_metrics.rst index bf8fbf3..c150826 100644 --- a/umn/source/monitoring_management/supported_metrics/ddm_instance_metrics.rst +++ b/umn/source/monitoring_management/supported_metrics/ddm_instance_metrics.rst @@ -28,37 +28,41 @@ Metrics .. table:: **Table 1** DDM metrics - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ - | Metric ID | Metric Name | Description | Value Range | Monitored Object | Monitoring Interval (Raw Data) | - +==============================+==================================+================================================================================================================================================================================+=============+==================+================================+ - | ddm_cpu_util | CPU Usage | CPU usage of the DDM instance node | 0—100 | DDM nodes | 1 minute | - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ - | ddm_mem_util | Memory Usage | Memory usage of the DDM instance node. | 0—100 | DDM nodes | 1 minute | - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ - | ddm_bytes_in | Network Input Throughput | Incoming traffic per second of the DDM instance node | >= 0 | DDM nodes | 1 minute | - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ - | ddm_bytes_out | Network Output Throughput | Outgoing traffic per second of the DDM instance node | >= 0 | DDM nodes | 1 minute | - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ - | ddm_qps | QPS | Requests per second of the DDM instance node | >= 0 | DDM nodes | 1 minute | - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ - | ddm_read_count | Reads | Read operations of the DDM instance node within each monitoring period | >= 0 | DDM nodes | 1 minute | - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ - | ddm_write_count | Writes | Write operations of the DDM instance node within a monitoring period | >= 0 | DDM nodes | 1 minute | - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ - | ddm_slow_log | Slow SQL Logs | Slow SQL logs of DDM-Core | >= 0 | DDM nodes | 1 minute | - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ - | ddm_rt_avg | Average Response Latency | Average response latency of DDM-Core | >= 0 | DDM nodes | 1 minute | - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ - | ddm_connections | Connections | Connections of DDM-Core | >= 0 | DDM nodes | 1 minute | - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ - | ddm_backend_connection_ratio | Percentage of Active Connections | Percentage of active connections (from a DDM node to the target RDS instance) | 0—100 | DDM nodes | 1 minute | - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ - | ddm_active_connections | Active connections | Active connections of each DDM instance node | >= 0 | DDM nodes | 1 minute | - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ - | ddm_connection_util | Connection Usage | Percentage of active connections to each DDM instance node | 0—100 | DDM nodes | 1 minute | - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ - | ddm_node_status_alarm_code | DDM Node Connectivity | Whether each DDM instance node is unavailable. The value can be **0** and **1**. **0** indicates that the node is available, and **1** indicates that the node is unavailable. | 0 or 1 | DDM nodes | 1 minute | - +------------------------------+----------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | Metric ID | Metric Name | Description | Value Range | Monitored Object | Monitoring Interval (Raw Data) | + +==============================================+=============================================+========================================================================================================================================================================================================================================================+=============+==================+================================+ + | ddm_cpu_util | CPU Usage | CPU usage of the DDM instance node | 0—100 | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_mem_util | Memory Usage | Memory usage of the DDM instance node. | 0—100 | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_bytes_in | Network Input Throughput | Incoming traffic per second of the DDM instance node | >= 0 | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_bytes_out | Network Output Throughput | Outgoing traffic per second of the DDM instance node | >= 0 | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_qps | QPS | Requests per second of the DDM instance node | >= 0 | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_read_count | Reads | Read operations of the DDM instance node within each monitoring period | >= 0 | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_write_count | Writes | Write operations of the DDM instance node within a monitoring period | >= 0 | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_slow_log | Slow SQL Logs | Slow SQL logs of DDM-Core | >= 0 | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_rt_avg | Average Response Latency | Average response latency of DDM-Core | >= 0 | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_connections | Connections | Connections of DDM-Core | >= 0 | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_backend_connection_ratio | Percentage of Active Connections | Percentage of active connections (from a DDM node to the target RDS instance) | 0—100 | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_active_connections | Active connections | Active connections of each DDM instance node | >= 0 | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_connection_util | Connection Usage | Percentage of active connections to each DDM instance node | 0—100 | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_kernel_fgc_cnt | Kernel Full GC Times | Full GC times of each DDM node per minute | >= 0 counts | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_node_status_alarm_code | DDM Node Connectivity | Whether each DDM instance node is unavailable. The value can be **0** and **1**. **0** indicates that the node is available, and **1** indicates that the node is unavailable. | 0 or 1 | DDM nodes | 1 minute | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ + | ddm_global_sequence_threshold_exceeded_count | Global Secondary Sequences Beyond Threshold | Number of global sequences whose usage exceeds 75%. Usage = Current value/Maximum value. The default threshold is 75%. The maximum value of a global sequence depends on the global sequence type. For example, the maximum value of BIGINT is 2^63-1. | >= 0 counts | DDM instances | 10 minutes | + +----------------------------------------------+---------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+------------------+--------------------------------+ Dimensions ----------