Huawei Cloud RDS SQLServer
Collect Metrics data from Huawei Cloud RDS SQLServer
Configuration¶
Install Func¶
It is recommended to activate Guance Integration - Extensions - DataFlux Func (Automata): All prerequisites are automatically installed, please continue with the script installation.
If you want to deploy Func manually, refer to Manual Deployment of Func
Install Script¶
Note: Please prepare the Huawei Cloud AK with the required permissions in advance (for simplicity, you can directly grant the global read-only permission
Tenant Guest).
Script for Automata Activation¶
- Log in to the Guance console.
- Click the 【Integration】 menu, and select 【Cloud Account Management】.
- Click 【Add Cloud Account】, select 【Huawei Cloud】, and fill in the required information on the interface. If you have already configured the cloud account information before, you can skip this step.
- Click 【Test】, and after the test is successful, click 【Save】. If the test fails, please check whether the relevant configuration information is correct and retest.
- Click 【Cloud Account Management】, and you can see the added cloud account in the list. Click the corresponding cloud account to enter the details page.
- Click the 【Integration】 button on the cloud account details page. Under the
Not Installedlist, findHuawei Cloud RDS SQLServer, and click the 【Install】 button. The installation interface will pop up, and you can proceed with the installation.
Manual Activation Script¶
-
Log in to the Func console, click 【Script Market】, and enter the Guance script market. Search for
integration_huaweicloud_rds_sqlserver. -
Click 【Install】, and enter the corresponding parameters: Huawei Cloud AK, SK, and account name.
-
Click 【Deploy Startup Script】, and the system will automatically create the
Startupscript set and configure the corresponding startup script. -
After activation, you can see the corresponding automatic trigger configuration in 「Management / Automatic Trigger Configuration」. Click 【Execute】 to immediately execute it once without waiting for the scheduled time. After a while, you can check the execution task records and corresponding logs.
Verification¶
- In 「Management / Automatic Trigger Configuration」, confirm whether the corresponding task has the automatic trigger configuration. You can also check the corresponding task records and logs to see if there are any exceptions.
- In Guance, go to 「Infrastructure - Resource Catalog」 to see if there is asset information.
- In Guance, go to 「Metrics」 to see if there is corresponding monitoring data.
Metrics¶
Configure Huawei Cloud RDS SQLServer Metrics. You can collect more Metrics through configuration. Huawei Cloud RDS SQLServer Metrics Details
The performance monitoring Metrics for RDS for SQLServer instances are shown in the following table.
| Metric ID | Metric Name | Metric Description | Value Range | Monitoring Period (Raw Metric) |
|---|---|---|---|---|
rds001_cpu_util |
CPU Utilization | This Metric is used to count the CPU utilization of the measurement object, in percentage. | 0-100% | 1 minute 5 seconds 1 second |
rds002_mem_util |
Memory Utilization | This Metric is used to count the memory utilization of the measurement object. | 0~100% | 1 minute |
rds003_iops |
IOPS | This Metric is used to count the average number of I/O requests processed by the current instance per second. | ≥ 0 counts/s | 1 minute |
rds004_bytes_in |
Network Input Throughput | This Metric is used to count the average input traffic per second from all network adapters of the measurement object, in bytes per second. | ≥ 0 bytes/s | 1 minute |
rds005_bytes_out |
Network Output Throughput | This Metric is used to count the average output traffic per second from all network adapters of the measurement object, in bytes per second. | ≥ 0 bytes/s | 1 minute |
rds039_disk_util |
Disk Utilization | This Metric is used to count the disk utilization of the measurement object. | 0~100% | 1 minute |
rds047_disk_total_size |
Total Disk Size | This Metric is used to count the total disk size of the measurement object. | 40GB~4000GB | 1 minute |
rds048_disk_used_size |
Disk Used Size | This Metric is used to count the used disk size of the measurement object. | 0GB~4000GB | 1 minute |
rds049_disk_read_throughput |
Disk Read Throughput | This Metric is used to count the number of bytes read from the disk per second. | ≥0bytes/s | 1 minute |
rds050_disk_write_throughput |
Disk Write Throughput | This Metric is used to count the number of bytes written to the disk per second. | ≥0bytes/s | 1 minute |
rds053_avg_disk_queue_length |
Average Disk Queue Length | This Metric is used to count the number of processes waiting to write to the measurement object. | ≥0 | 1 minute |
rds054_db_connections_in_use |
Database Connections in Use | The number of connections from users to the database. | ≥0 counts | 1 minute |
rds055_transactions_per_sec |
Average Transactions per Second | This Metric is used to count the number of transactions started per second in the database. | ≥0counts/s | 1 minute |
rds056_batch_per_sec |
Average Batches per Second | This Metric is used to count the number of Transact-SQL command batches received per second. | ≥0counts/s | 1 minute |
rds057_logins_per_sec |
Logins per Second | This Metric is used to count the total number of logins started per second. | ≥ 0 counts/s | 1 minute |
rds058_logouts_per_sec |
Logouts per Second | This Metric is used to count the total number of logouts started per second. | ≥ 0 counts/s | 1 minute |
rds059_cache_hit_ratio |
Cache Hit Ratio | This Metric is used to count the percentage of pages found in the buffer cache without needing to read from the disk. | 0~100% | 1 minute |
rds060_sql_compilations_per_sec |
Average SQL Compilations per Second | This Metric is used to count the number of SQL compilations per second. | ≥ 0 counts/s | 1 minute |
rds061_sql_recompilations_per_sec |
Average SQL Recompilations per Second | This Metric is used to count the number of statement recompilations per second | ≥ 0 counts/s | 1 minute |
rds062_full_scans_per_sec |
Full Scans per Second | This Metric is used to count the number of unrestricted full scans per second. | ≥ 0 counts/s | 1 minute |
rds063_errors_per_sec |
User Errors per Second | This Metric is used to count the number of user errors per second. | ≥0counts/s | 1 minute |
rds064_latch_waits_per_sec |
Latch Waits per Second | This Metric is used to count the number of latch requests that were not immediately granted per second. | ≥0counts/s | 1 minute |
rds065_lock_waits_per_sec |
Lock Waits per Second | This Metric is used to count the number of lock requests that required the caller to wait per second. | ≥0counts/s | 1 minute |
rds066_lock_requests_per_sec |
Lock Requests per Second | This Metric is used to count the number of new locks and lock conversions requested by the lock manager per second. | ≥ 0 counts/s | 1 minute |
rds067_timeouts_per_sec |
Lock Timeouts per Second | This Metric is used to count the number of lock requests that timed out per second. | ≥ 0 counts/s | 1 minute |
rds068_avg_lock_wait_time |
Average Lock Wait Time | This Metric is used to count the average wait time (in milliseconds) for each lock request that caused a wait. | ≥0ms | 1 minute |
rds069_deadlocks_per_sec |
Deadlocks per Second | This Metric is used to count the number of pages flushed to disk per second by checkpoints or other operations that flush all dirty pages. | ≥ 0 counts/s | 1 minute |
rds070_checkpoint_pages_per_sec |
Checkpoint Pages Written per Second | This Metric is used to count the number of pages flushed to disk per second by checkpoints or other operations that flush all dirty pages. | ≥0counts/s | 1 minute |
rds077_replication_delay |
Replication Delay | This Metric is used to count the replication delay between the primary and standby instances. Since SQL Server instance replication delays are at the database level, each database is synchronized independently, so the instance-level replication delay is the value of the database with the largest replication delay (single-node instances are not involved, all are 0s). | ≥ 0s | 1 minute |
mssql_mem_grant_pending |
Pending Memory Grant Processes | This Metric is used to count the total number of processes waiting to receive a memory grant for use, indicating memory pressure. | ≥0counts | 1 minute |
mssql_lazy_write_per_sec |
Lazy Writes per Second | This Metric is used to count the number of buffers written by the Lazy Writer per second. | ≥0counts/s | 1 minute |
mssql_page_life_expectancy |
Page Life Expectancy | This Metric is used to count the number of seconds a page stays in the buffer pool without being referenced. | ≥0s | 1 minute |
mssql_page_reads_per_sec |
Page Reads per Second | This Metric is used to count the number of pages read per second. | ≥0counts/s | 1 minute |
mssql_tempdb_disk_size |
TempDB Disk Size | The current disk size occupied by the TempDB. | ≥ 0MB | 1 minute |
mssql_worker_threads_usage_rate |
Worker Threads Usage Rate | The ratio of the current actual number of worker threads to the max worker threads value. | 0~100% | 1 minute |
Object¶
The collected Huawei Cloud RDS SQLServer object data structure can be seen in 「Infrastructure - Resource Catalog」.
{
"measurement": "huaweicloud_rds_sqlserver",
"tags": {
"RegionId" : "cn-south-1",
"project_id" : "c631f046252dxxxxxxxf253c62d48585",
"enterprise_project_id" : "o78hhbss-xxxx-xxxx-xxxx-cba3d38cf2f9",
"instance_id" : "1d0c91561f4644dxxxxxx68304b0520din01",
"instance_name" : "rds-xxxx",
"engine" : "SQLServer",
"type" : "Ha",
"status" : "ACTIVE",
},
"fields": {
"port" : "3306",
"security_group_id" : "9e5bd45e-0564-445f-xxxx-2c8954e2d99c",
"switch_strategy" : "xxx",
"time_zone" : "China Standard Time",
"enable_ssl" : "True",
"charge_info.charge_mode": "postPaid",
"engine_version" : "2022_SE",
"created_time" : "2024-11-03T15:26:45+0000",
"updated_time" : "2024-11-05T09:58:26+0000",
"alias" : "xxx",
"private_ips" : "[\"192.x.x.35\"]",
"public_ips" : "[]",
"datastore" : "{Instance JSON Data}",
"cpu" : "4",
"mem" : "8",
"volume" : "{volume Information}",
"nodes" : "[{Primary and Standby Instance Information}]",
"related_instance" : "[]",
"backup_strategy" : "{Backup Strategy}",
"message" : "{Instance JSON Data}"
}
}
Note: The fields in
tagsandfieldsmay change with subsequent updates.Tip 1: The value of
tags.instance_idis the instance ID, which serves as a unique identifier.Tip 2: The following fields are all JSON serialized strings.
fields.messagefields.private_ipsfields.public_ipsfields.volumefields.nodesfields.related_instancefields.backup_strategyTip 3: The
typevalue can be "Single", "Ha", "Replica", or "Enterprise", corresponding to single-node instances, primary-standby instances, read-only instances, and distributed instances (Enterprise Edition), respectively.