Huawei Cloud DCS
Collect Huawei Cloud DCS Metrics
Configuration¶
Install Func¶
It is recommended to activate TrueWatch Integration - Extensions - DataFlux Func (Automata): All prerequisites are automatically installed, please proceed with the script installation.
If deploying Func manually, refer to Manual Deployment of Func
Install Script¶
Note: Please prepare the Huawei Cloud AK in advance (for simplicity, you can directly grant the global read-only permission
ReadOnlyAccess
)
To synchronize Huawei Cloud DCS monitoring data, we install the corresponding collection scripts:
- integration_huaweicloud_dcs: Collect Huawei Cloud DCS Metrics
- integration_huaweicloud_dcs_slowlog: Collect Huawei Cloud DCS Slow Log Data
After clicking [Install], enter the corresponding parameters: Huawei Cloud AK, Huawei Cloud account name.
Click [Deploy Startup Script], the system will automatically create the Startup
script set and automatically configure the corresponding startup script.
After the script is installed, find the script in Func under "Development" - "TrueWatch Integration (Huawei Cloud-DCS Collection)" / "TrueWatch Integration (Huawei Cloud-DCS Slow Query Log Collection)", expand and modify the script, find collector_configs and monitor_configs to edit the content in region_projects, change the region and Project ID to the actual region and Project ID, then click Save and Publish.
In addition, you can see the corresponding automatic trigger configuration under "Management / Automatic Trigger Configuration". Click [Execute] to execute it immediately without waiting for the scheduled time. After a while, you can view the execution task records and corresponding logs.
Verification¶
- Under "Management / Automatic Trigger Configuration", confirm whether the corresponding task has the corresponding automatic trigger configuration, and you can also view the corresponding task records and logs to check for any abnormalities
- In TrueWatch, under "Infrastructure - Resource Catalog", check if asset information exists
- In TrueWatch, under "Metrics", check if there is corresponding monitoring data
- In TrueWatch, under "Logs", check if there is corresponding log data
Metrics¶
Configure Huawei Cloud DCS monitoring metrics, you can collect more metrics through configuration Huawei Cloud DCS Metric Details
Redis 3.0 Instance Monitoring Metrics¶
- DCS Redis 3.0 has been discontinued and is no longer available for sale. It is recommended to use Redis 4.0 or later versions.
- For the dimensions of monitoring metrics, please refer to Dimensions.
Redis 4.0, Redis 5.0, and Redis 6.0 Instance Monitoring Metrics¶
- For the dimensions of monitoring metrics, please refer to Dimensions.
- Instance monitoring is the monitoring of data aggregated from the master node.
- Some instance monitoring metrics are aggregated from the master node and slave nodes. Please refer to the description in "Metric Description" in Table 3.
Redis Instance Data Node Monitoring Metrics¶
- Redis standby, read-write separation, and cluster instances support data node monitoring.
- For the dimensions of monitoring metrics, please refer to Dimensions.
Proxy Node Monitoring Metrics¶
- Proxy cluster and read-write separation instances support Proxy node monitoring metrics.
- For the dimensions of monitoring metrics, please refer to Dimensions.
Metric ID | Metric Name | Metric Description | Value Range | Measurement Object | Monitoring Cycle (Raw Metric) |
---|---|---|---|---|---|
cpu_usage | CPU Utilization | This metric samples the CPU usage of the measurement object multiple times within the statistical period, representing the highest value of multiple samples. Unit: %. | 0-100% | Redis 3.0 Proxy Cluster Instance Proxy Node | 1 minute |
memory_usage | Memory Utilization | This metric is used to count the memory utilization of the measurement object. Unit: %. | 0-100% | Redis 3.0 Proxy Cluster Instance Proxy Node | 1 minute |
p_connected_clients | Active Client Count | This metric is used to count the number of connected clients. | >=0 | Redis 3.0 Proxy Cluster Instance Proxy Node | 1 minute |
max_rxpck_per_sec | Network Packet Receive Maximum Rate | This metric is used to count the maximum number of packets received per second by the network card of the measurement object within the statistical period. Unit: packets/second | 0-10000000 packets/second | Redis 3.0 Proxy Cluster Instance Proxy Node | 1 minute |
max_txpck_per_sec | Network Packet Send Maximum Rate | This metric is used to count the maximum number of packets sent per second by the network card of the measurement object within the statistical period. Unit: packets/second | 0-10000000 packets/second | Redis 3.0 Proxy Cluster Instance Proxy Node | 1 minute |
max_rxkB_per_sec | Inbound Network Maximum Bandwidth | This metric is used to count the maximum amount of data received per second by the network card of the measurement object. Unit: KB/s. | >= 0KB/s | Redis 3.0 Proxy Cluster Instance Proxy Node | 1 minute |
max_txkB_per_sec | Outbound Network Maximum Bandwidth | This metric is used to count the maximum amount of data sent per second by the network card of the measurement object. Unit: KB/s. | >= 0KB/s | Redis 3.0 Proxy Cluster Instance Proxy Node | 1 minute |
avg_rxpck_per_sec | Network Packet Receive Average Rate | This metric is used to count the average number of packets received per second by the network card of the measurement object within the statistical period. Unit: packets/second | 0-10000000 packets/second | Redis 3.0 Proxy Cluster Instance Proxy Node | 1 minute |
avg_txpck_per_sec | Network Packet Send Average Rate | This metric is used to count the average number of packets sent per second by the network card of the measurement object within the statistical period. Unit: packets/second | 0-10000000 packets/second | Redis 3.0 Proxy Cluster Instance Proxy Node | 1 minute |
avg_rxkB_per_sec | Inbound Network Average Bandwidth | This metric is used to count the average amount of data received per second by the network card of the measurement object. Unit: KB/s. | >= 0KB/s | Redis 3.0 Proxy Cluster Instance Proxy Node | 1 minute |
avg_txkB_per_sec | Outbound Network Average Bandwidth | This metric is used to count the average amount of data sent per second by the network card of the measurement object. Unit: KB/s. | >= 0KB/s | Redis 3.0 Proxy Cluster Instance Proxy Node | 1 minute |
Metric ID | Metric Name | Metric Description | Value Range | Measurement Object | Monitoring Cycle (Raw Metric) |
---|---|---|---|---|---|
node_status |
Instance Node Status | Displays whether the Proxy node status is normal. | 0: Indicates normal1: Indicates abnormal | Proxy Cluster, Read-Write Separation Instance Proxy Node | 1 minute |
cpu_usage |
CPU Utilization | This metric samples the CPU usage of the measurement object multiple times within the statistical period, representing the highest value of multiple samples. Unit: %. | 0-100% | Proxy Cluster, Read-Write Separation Instance Proxy Node | 1 minute |
cpu_avg_usage |
CPU Average Utilization | This metric samples the CPU usage of the measurement object multiple times within the statistical period, representing the average value of multiple samples. Unit: %. | 0-100% | Proxy Cluster, Read-Write Separation Instance Proxy Node | 1 minute |
memory_usage |
Memory Utilization | This metric is used to count the memory utilization of the measurement object. Unit: %. | 0-100% | Proxy Cluster, Read-Write Separation Instance Proxy Node | 1 minute |
connected_clients |
Active Client Count | This metric is used to count the number of connected clients, including system monitoring, configuration synchronization, and business-related connections, excluding connections from slave nodes. | >=0 | Proxy Cluster, Read-Write Separation Instance Proxy Node | 1 minute |
instantaneous_ops |
Instantaneous Operations Per Second | This metric is used to count the number of commands processed per second. | >=0 | Proxy Cluster, Read-Write Separation Instance Proxy Node | 1 minute |
instantaneous_input_kbps |
Instantaneous Network Input Traffic | This metric is used to count the instantaneous input traffic. Unit: KB/s. | >=0KB/s | Proxy Cluster, Read-Write Separation Instance Proxy Node | 1 minute |
instantaneous_output_kbps |
Instantaneous Network Output Traffic | This metric is used to count the instantaneous output traffic. Unit: KB/s. | >=0KB/s | Proxy Cluster, Read-Write Separation Instance Proxy Node | 1 minute |
total_net_input_bytes |
Network Received Bytes Count | This metric is used to count the number of bytes received within the statistical period. Unit: Can be selected in the console, such as KB, MB, byte, etc. | >=0 | Proxy Cluster, Read-Write Separation Instance Proxy Node | 1 minute |
total_net_output_bytes |
Network Sent Bytes Count | This metric is used to count the number of bytes sent within the statistical period. Unit: Can be selected in the console, such as KB, MB, byte, etc. | >=0 | Proxy Cluster, Read-Write Separation Instance Proxy Node | 1 minute |
connections_usage |
Connection Utilization | This metric is used to calculate the percentage of current connections relative to the maximum connection limit. Unit: %. | 0-100% | Proxy Cluster, Read-Write Separation Instance Proxy Node | 1 minute |
command_max_rt |
Maximum Latency | This metric is used to count the maximum latency from receiving a command to sending a response for a node. Unit: us. | >=0us | Proxy Cluster, Read-Write Separation Instance Proxy Node | 1 minute |
command_avg_rt |
Average Latency | This metric is used to count the average latency from receiving a command to sending a response for a node. Unit: us. | >=0us | Proxy Cluster, Read-Write Separation Instance Proxy Node | 1 minute |
Memcached Instance Monitoring Metrics¶
For the dimensions of monitoring metrics, please refer to Dimensions.
Objects¶
The collected Huawei Cloud DCS object data structure can be seen in "Infrastructure - Resource Catalog"
{
"measurement": "huaweicloud_redis",
"tags": {
"RegionId" : "cn-north-4",
"project_id" : "c631f04625xxxxxxxxxxf253c62d48585",
"enterprise_project_id" : "71be0037-xxxx-xxxx-xxxx-b6b91f134066",
"instance_id" : "71be0037-xxxx-xxxx-xxxx-b6b91f134066",
"instance_name" : "dcs-iash",
"engine" : "Redis",
},
"fields": {
"engine_version" : "5.0",
"status" : "RUNNING",
"port" : "6379",
"ip" : "192.xxx.x.144",
"charging_mode" : "0",
"enable_publicip" : "False",
"spec_code" : "xxxx",
"az_codes" : "xxxxx",
"created_at" : "2022-07-12T07:29:56.875Z",
"max_memory" : "128",
"used_memory" : "2",
"capacity" : "0",
"description" : "",
}
}
Partial field descriptions are as follows:
Field | Type | Description |
---|---|---|
ip |
String | The IP address to connect to the cache instance. If it is a cluster instance, multiple IP addresses are returned, separated by commas. For example: 192.168.0.1, 192.168.0.2. |
charging_mode |
String | Billing mode, 0 indicates pay-as-you-go, 1 indicates subscription billing. |
no_password_access |
String | Whether password-free access to the cache instance is allowed: true: The instance can be accessed without a password. false: The instance must be accessed through password authentication. |
enable_publicip |
String | Whether the Redis cache instance has public network access enabled True: Enabled False: Not enabled |
max_memory |
Integer | Total memory, unit: MB. |
used_memory |
Integer | Used memory, unit: MB. |
capacity |
Integer | Cache capacity (G Byte). |
status |
String | CREATING : The state after applying for a cache instance, before the cache instance status enters the running state. CREATEFAILED: The cache instance is in a failed creation state. RUNNING: The cache instance is in normal operation. RESTARTING: The cache instance is in the process of restarting. FROZEN: The cache instance is in a frozen state, and users can renew the frozen cache instance in "My Orders". EXTENDING: The cache instance is in the process of scaling up. RESTORING: The cache instance is in the process of data recovery. FLUSHING: The cache instance is in the process of data clearing. |
Note: The fields in
tags
,fields
may change with subsequent updatesTip 1: The value of
tags.instance_id
is the instance ID, used as a unique identifierTip 2: The following fields are JSON serialized strings -
fields.message
-tags.az_codes