Skip to content

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).

  1. Log in to the Func console, click 【Script Market】, and enter the TrueWatch Script Market. Search for ID: integration_huaweicloud_rds_sqlserver.

  2. Click 【Install】, then enter the corresponding parameters: Huawei Cloud AK, SK, and account name.

  3. Click 【Deploy Startup Script】, the system will automatically create the Startup script set and configure the corresponding startup script.

  4. 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

  1. 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.
  2. In TrueWatch, check if the asset information exists in 「Infrastructure - Resource Catalog」.
  3. 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 and fields 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.