Huawei Cloud RDS SQLServer
Collect Huawei Cloud RDS SQLServer Metrics
Configuration¶
Install Func¶
It is recommended to activate the TrueWatch Integration - Extensions - DataFlux Func (Automata): All prerequisites are automatically installed. Please proceed with the script installation.
If you are deploying Func yourself, refer to Self-deploying Func
Install Script¶
Note: Please prepare the Huawei Cloud AK in advance (for simplicity, you can directly grant the global read-only permission
ReadOnlyAccess
).
-
Log in to the Func console, click 【Script Market】, and enter the TrueWatch Script Market. Search for
ID: integration_huaweicloud_rds_sqlserver
. -
Click 【Install】, then enter the corresponding parameters: Huawei Cloud AK, SK, and account name.
-
Click 【Deploy Startup Script】, the system will automatically create the
Startup
script set and configure the corresponding startup script. -
After enabling, you can see the corresponding automatic trigger configuration in 「Manage / 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 「Manage / Automatic Trigger Configuration」, confirm whether the corresponding task has the automatic trigger configuration. You can also check the task records and logs for any exceptions.
- In TrueWatch, check if the asset information exists in 「Infrastructure - Resource Catalog」.
- In TrueWatch, check if there are corresponding monitoring data in 「Metrics」.
Metrics¶
Configure Huawei Cloud RDS SQLServer Metrics. You can collect more metrics by configuring Huawei Cloud RDS SQLServer Metrics Details
RDS for SQLServer instance performance monitoring metrics are shown in the table below.
Metric ID | Metric Name | Metric Description | Value Range | Monitoring Period (Raw Metric) |
---|---|---|---|---|
rds001_cpu_util |
CPU Utilization | This metric is used to measure the CPU utilization rate of the monitored object, in percentage. | 0-100% | 1 minute5 seconds1 second |
rds002_mem_util |
Memory Utilization Rate | This metric is used to measure the memory utilization rate of the monitored object. | 0~100% | 1 minute |
rds003_iops |
IOPS | This metric is used to measure the average number of I/O requests processed by the system per unit time for the current instance. | ≥ 0 counts/s | 1 minute |
rds004_bytes_in |
Network Input Throughput | This metric is used to measure the average input traffic per second from all network adapters of the monitored object, in bytes per second. | ≥ 0 bytes/s | 1 minute |
rds005_bytes_out |
Network Output Throughput | This metric is used to measure the average output traffic per second from all network adapters of the monitored object, in bytes per second. | ≥ 0 bytes/s | 1 minute |
rds039_disk_util |
Disk Utilization | This metric is used to measure the disk utilization rate of the monitored object. | 0~100% | 1 minute |
rds047_disk_total_size |
Total Disk Size | This metric is used to measure the total disk size of the monitored object. | 40GB~4000GB | 1 minute |
rds048_disk_used_size |
Disk Usage | This metric is used to measure the disk usage size of the monitored object. | 0GB~4000GB | 1 minute |
rds049_disk_read_throughput |
Disk Read Throughput | This metric is used to measure 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 measure 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 measure the number of processes waiting to write to the monitored object. | ≥0 | 1 minute |
rds054_db_connections_in_use |
Database Connections in Use | The number of connections users have to the database. | ≥0 counts | 1 minute |
rds055_transactions_per_sec |
Average Transactions Per Second | This metric is used to measure 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 measure 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 measure 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 measure the total number of logout operations started per second. | ≥ 0 counts/s | 1 minute |
rds059_cache_hit_ratio |
Cache Hit Rate | This metric is used to measure the percentage of pages found in the buffer cache without needing to read from disk. | 0~100% | 1 minute |
rds060_sql_compilations_per_sec |
Average SQL Compilations Per Second | This metric is used to measure 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 measure 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 measure 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 measure 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 measure 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 measure 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 measure 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 measure 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 measure 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 measure 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 measure 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 measure the replication delay between primary and standby instances. Since SQL Server instance replication delay is at the database level, each database is synchronized individually, so the instance-level replication delay is the value of the database with the largest replication delay (single instance is not involved, all are 0s). | ≥ 0s | 1 minute |
mssql_mem_grant_pending |
Pending Memory Grant Processes | This metric is used to measure the total number of processes waiting to receive memory grants for use, indicating memory pressure. | ≥0counts | 1 minute |
mssql_lazy_write_per_sec |
Lazy Writes Per Second | This metric is used to measure 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 measure the number of seconds a page remains in the buffer pool without being referenced. | ≥0s | 1 minute |
mssql_page_reads_per_sec |
Page Reads Per Second | This metric is used to measure 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 Thread 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
tags
andfields
may change with subsequent updates.Note 1: The value of
tags.instance_id
is the instance ID, used as a unique identifier.Note 2: The following fields are all JSON serialized strings.
fields.message
fields.private_ips
fields.public_ips
fields.volume
fields.nodes
fields.related_instance
fields.backup_strategy
Note 3: The value of
type
can be "Single", "Ha", "Replica", or "Enterprise", corresponding to single instance, primary-standby instance, read-only instance, and distributed instance (Enterprise Edition) respectively.