Database Autonomy Service (DAS) lets you create custom alert rules to monitor your database instances. When an instance triggers a rule, DAS automatically sends notifications through your configured channels.
How it works
Alert rules are the building blocks of the DAS alerting system:
Alert rule — defines what to monitor (a metric threshold or an autonomy event) and how to send notifications
Alert template — a collection of alert rules applied to one or more database instances
Alert — the notification sent when a rule triggers
Create alert rules first, then add them to an alert template and apply the template to your database instances. For instructions, see Configure alerts.
The alert types in DAS have been updated. Autonomy Events is now available, and Event Alerting is no longer supported. Existing rules are retained. When creating new rules, select either Threshold Alerting or Autonomy Events.
Prerequisites
Before you begin, ensure that you have:
A DAS-managed database instance (ApsaraDB or a directly connected self-managed database)
Access to the DAS console
Choose an alert type
Select an alert type before creating a rule:
| Alert type | Use when |
|---|---|
| Threshold Alerting | You want to monitor a specific metric (such as CPU utilization or disk usage) and receive alerts when it exceeds a defined value. Best for steady-state monitoring with predictable thresholds. |
| Autonomy Events | You want to be notified when DAS takes or detects an autonomous action, such as auto scaling, SQL optimization, or a throttling event. Best for tracking DAS-managed interventions. |
Create an alert rule
Log on to the DAS console.
In the left navigation pane, click Tools > Alert Service > Alert Rules.
On the Alert Rules page, click Add Rule in the upper-right corner.
In the Add Rule dialog box, configure the following parameters and click OK.
| Parameter | Required | Description |
|---|---|---|
| Rule name | Yes | A name for the alert rule. |
| Type | Yes | The alert type. Select Threshold Alerting to trigger alerts when a metric exceeds a specified threshold. Select Autonomy Events to trigger alerts when a specified autonomy event occurs. |
| Description | If Type is Threshold Alerting | The conditions that trigger the alert. Detection granularity is 1 minute. |
| Event type | If Type is Autonomy Events | The autonomy event type that triggers the alert. Supported types: Auto Scaling Event, Throttling Event, SQL Optimization, Storage Optimization, and Metric Exception. |
| Alert interval | Yes | How often alert notifications are sent after a rule triggers. |
| Effective time | Yes | The time window during which the alert rule is active. |
| Notification level | Yes | The severity level for the alert notification. |
| Notification method | Yes | How notifications are delivered: text message, webhook, or email. Webhooks are supported for DingTalk, WeCom, Lark, and Application Real-Time Monitoring Service (ARMS). |
After creating the rule, add it to an alert template and apply the template to your database instances. For more information, see Configure alerts.
Manage alert rules
Log on to the DAS console.
In the left navigation pane, click Tools > Alert Service > Alert Rules.
On the Alert Rules page, use the Actions column to manage existing rules.
| Action | Description |
|---|---|
| Search | View the details and alert history of the rule. |
| Edit | Modify the rule configuration. For parameter details, see Create an alert rule. |
| Disable | Temporarily disable the rule. |
| Delete | Permanently delete the rule. |
Modifying, disabling, or deleting an alert rule affects all alert templates that contain it. Proceed with caution.
Alert metrics
These alert metrics apply only to Alibaba Cloud database instances.
MySQL
| Alert metric | Unit | Description |
|---|---|---|
| MySQL disk usage | % | Disk usage. |
| MySQL CPU utilization | % | CPU utilization of the MySQL service process. The maximum value is 100% for ApsaraDB instances. |
| MySQL IOPS utilization | % | IOPS utilization. |
| MySQL memory usage | % | Memory usage of the MySQL instance as a percentage of total operating system memory. |
| MySQL active sessions | Count | Number of current active sessions. |
| MySQL transactions per second | Per second | Average number of transactions per second. |
| MySQL requests per second | Per second | Average number of requests per second. |
| MySQL DELETE statements per second | Per second | Average number of DELETE statements executed per second. |
| MySQL INSERT statements per second | Per second | Average number of INSERT statements executed per second. |
| MySQL INSERT_SELECT statements per second | Per second | Average number of INSERT_SELECT statements executed per second. |
| MySQL REPLACE statements per second | Per second | Average number of REPLACE statements executed per second. |
| MySQL REPLACE_SELECT statements per second | Per second | Average number of REPLACE_SELECT statements executed per second. |
| MySQL SELECT statements per second | Per second | Average number of SELECT statements executed per second. |
| MySQL UPDATE statements per second | Per second | Average number of UPDATE statements executed per second. |
| MySQL full table scans per second | Per second | Number of full table scan queries per second. |
| MySQL tables opened | Count | Number of opened tables. |
| MySQL files opened | Count | Number of opened files. |
| MySQL rows sorted per second | Per second | Number of rows sorted per second. |
| MySQL secondary node replication delay | Second | Replication delay of the secondary node. |
| MySQL InnoDB average rows deleted per second | Per second | Average number of rows deleted from InnoDB per second. |
| MySQL InnoDB average rows inserted per second | Per second | Average number of rows inserted into InnoDB per second. |
| MySQL InnoDB average rows read per second | Per second | Average number of rows read from InnoDB per second. |
| MySQL InnoDB average rows updated per second | Per second | Average number of rows updated in InnoDB per second. |
| MySQL InnoDB pages read from Buffer Pool per second | Per second | Average number of pages read from the InnoDB Buffer Pool per second (logical reads). |
| MySQL InnoDB pages written to Buffer Pool per second | Per second | Average number of pages written to the InnoDB Buffer Pool per second. |
| MySQL InnoDB Buffer Pool dirty page ratio | % | Ratio of dirty pages in the InnoDB Buffer Pool. Formula: Innodb_buffer_pool_pages_dirty / Innodb_buffer_pool_pages_data × 100%. |
| MySQL InnoDB Buffer Pool read cache hit ratio | % | Read cache hit ratio of the InnoDB Buffer Pool. Formula: (Innodb_buffer_pool_read_requests - Innodb_buffer_pool_reads) / Innodb_buffer_pool_read_requests × 100%. |
| MySQL InnoDB table average row lock waits | Count | Average number of row lock waits on the InnoDB table. |
| MySQL InnoDB table maximum row lock wait time | ms | Maximum row lock wait time on the InnoDB table. |
| MySQL instance total space usage | MB | Total space usage of the MySQL instance. |
PolarDB for MySQL
| Alert metric | Unit | Description |
|---|---|---|
| PolarDB for MySQL disk usage | % | Disk usage. |
| PolarDB for MySQL service process CPU utilization | % | CPU utilization of the service process. A value of 200% indicates that two CPU cores are in use. |
| PolarDB for MySQL IOPS utilization | % | IOPS utilization. |
| PolarDB for MySQL instance memory usage | % | Memory usage of the instance as a percentage of total operating system memory. |
| PolarDB for MySQL active sessions | Count | Number of current active sessions. |
| PolarDB for MySQL transactions per second | Per second | Formula: (Com_commit + Com_rollback) / Uptime. |
| PolarDB for MySQL requests per second | Per second | Formula: Queries / Uptime. |
| PolarDB for MySQL DELETE statements per second | Per second | Average number of DELETE statements executed per second. |
| PolarDB for MySQL INSERT statements per second | Per second | Average number of INSERT statements executed per second. |
| PolarDB for MySQL INSERT_SELECT statements per second | Per second | Average number of INSERT_SELECT statements executed per second. |
| PolarDB for MySQL REPLACE statements per second | Per second | Average number of REPLACE statements executed per second. |
| PolarDB for MySQL REPLACE_SELECT statements per second | Per second | Average number of REPLACE_SELECT statements executed per second. |
| PolarDB for MySQL SELECT statements per second | Per second | Average number of SELECT statements executed per second. |
| PolarDB for MySQL UPDATE statements per second | Per second | Average number of UPDATE statements executed per second. |
| PolarDB for MySQL Multi-DELETE statements per second | Per second | Average number of Multi-DELETE statements executed per second. |
| PolarDB for MySQL Multi-UPDATE statements per second | Per second | Average number of Multi-UPDATE statements executed per second. |
| PolarDB for MySQL InnoDB rows deleted per second | Per second | Average number of rows deleted from InnoDB per second. |
| PolarDB for MySQL InnoDB rows inserted per second | Per second | Average number of rows inserted into InnoDB per second. |
| PolarDB for MySQL InnoDB rows read per second | Per second | Average number of rows read from InnoDB per second. |
| PolarDB for MySQL InnoDB rows updated per second | Per second | Average number of rows updated in InnoDB per second. |
Redis
| Alert metric | Unit | Description |
|---|---|---|
| Redis memory utilization | % | Memory utilization. |
| Redis average response time | μs | Average response time. |
| Redis process CPU utilization | % | CPU utilization of the Redis process. |
| Redis network read rate per second | KB/s | Network read rate per second. |
| Redis network write rate per second | KB/s | Network write rate per second. |
| Redis network read utilization | % | Network read utilization. |
| Redis network write utilization | % | Network write utilization. |
PostgreSQL
| Alert metric | Unit | Description |
|---|---|---|
| PostgreSQL process CPU utilization | % | CPU utilization of the PostgreSQL process. |
| PostgreSQL active sessions | Count | Number of current active connections. |
| PostgreSQL IOPS usage | % | IOPS usage. |
| PostgreSQL disk usage | % | Disk usage. |
PolarDB for PostgreSQL
| Alert metric | Unit | Description |
|---|---|---|
| PolarDB for PostgreSQL CPU utilization | % | CPU utilization. |
| PolarDB for PostgreSQL memory usage | % | Memory usage. |
| PolarDB for PostgreSQL active sessions | Count | Number of current active connections. |
| PolarDB for PostgreSQL total IOPS | Per second | Total IOPS. |
Historical alert metrics
FAQ
Why am I receiving event alerts I didn't configure?
Your database instance likely has a legacy event subscription, which triggers alerts for all autonomy event types. To stop receiving unwanted alerts, configure the specific autonomy event alerts you need — the system automatically migrates the legacy subscription to the new version. After migration, alerts for unconfigured event types are no longer sent.
If you don't need any autonomy event alerts, first configure an autonomy event alert of any type to overwrite the legacy subscription. Wait 15 minutes, then disassociate the alert template from the database instance.
What's next
Configure alerts — apply alert rules to database instances using alert templates