alibabacloud-cms-alert-rule-create
Alibaba Cloud Alert Rule Creation
This skill creates CMS 1.0 alert rules for cloud resource monitoring using CloudMonitor metrics. Supports all CMS-integrated cloud products through dynamic metric discovery.
Workflow
| Step | Description | CMS 1.0 | Reference |
|---|---|---|---|
| 1 | Context Lock | namespace, region, instances | step1-context-lock.md |
| 2 | Query Generation | Call describe-metric-meta-list to discover metrics for namespace, match to user intent | step2-query-generation.md |
| 3 | Detection Config | threshold, frequency (default 1min) | step3-detection-config.md |
| 4 | Notification | Query contacts → select or create | step4-notification.md |
| 5 | Preview & Execute | Show summary → confirm → CLI | step5-preview-execute.md |
| 6 | Verification | Check status | step6-verification.md |
Pre-flight Checklist (MANDATORY)
Before creating ANY alert, complete these API calls to ensure correct workflow execution.
| Step | Required API Call | CLI Command | Purpose |
|---|---|---|---|
| 1 | DescribeProjectMeta |
aliyun cms describe-project-meta |
List cloud product namespaces (when product is unclear) |
| 2 | DescribeMetricMetaList |
aliyun cms describe-metric-meta-list --namespace <ns> |
Metric Discovery: Get available metrics (fallback: metrics.md) |
| 4 | DescribeContactGroupList |
aliyun cms describe-contact-group-list |
Query existing contact groups |
| 5 | PutResourceMetricRule |
aliyun cms put-resource-metric-rule ... |
Create the alert rule |
These API calls are required for every alert creation. Always query contacts via the designated tools, even if the values seem known.
Critical Rules
1. Contact Query Before Create (MANDATORY)
This step is REQUIRED and CANNOT be skipped.
- MUST call
describe-contact-group-listbefore creating any CMS alert - User provided contact name → Fuzzy match against existing groups
- If no match → Help user create new contact group
2. Resources Parameter (MANDATORY)
The
--resourcesparameter MUST always be explicitly passed. Never omit this parameter.
- All resources:
--resources '[{"resource":"_ALL"}]' - Specific instances:
--resources '[{"resource":"i-xxx"}]'or--resources '[{"resource":"i-xxx"},{"resource":"i-yyy"}]'
This applies to ALL products (ECS, RDS, SLB, OSS, MongoDB, etc.).
3. Required API Calls Summary
| Step 1 | Step 2 | Step 4 | Step 5 |
|---|---|---|---|
describe-project-meta (when product unclear) |
describe-metric-meta-list (MANDATORY) |
describe-contact-group-list (MANDATORY) |
put-resource-metric-rule |
4. Contact Group Fuzzy Matching
When user mentions a contact group, apply these matching rules:
| User Input | Match Strategy | Common Mappings |
|---|---|---|
| "运维组" / "ops" | Contains/keyword | → 运维组, ops-alert-group, SRE-Team |
| "基础设施组" | Contains/keyword | → infrastructure, infrastructure-team |
| "DBA团队" | Contains/keyword | → DBA-Alert-Group, dba-team |
| "网络组" | Contains/keyword | → network-ops, network-sre |
| Exact name | Direct match | Use exact name if found |
5. CLI Command Timeout
All aliyun CLI commands MUST be executed with a timeout to prevent hanging:
- Default timeout: 30 seconds for query operations (describe/list/get)
- Extended timeout: 60 seconds for write operations (put/create/update)
- If a command does not return within the timeout, retry once before reporting failure.
6. Duplicate Alert Pre-check
Before creating an alert rule, check if a rule with the same configuration already exists:
- Call
describe-metric-rule-list --namespace <ns> --metric-name <metric>and check for matching rules - If a duplicate exists, inform the user and ask whether to skip or create with a new name
7. Network Access Restriction
This skill only accesses Alibaba Cloud OpenAPI endpoints. Allowed domains:
cms.aliyuncs.com— CloudMonitor APIecs.aliyuncs.com— ECS instance queryrds.aliyuncs.com— RDS instance queryslb.aliyuncs.com— SLB instance query
No other external network access is required or permitted.
8. Dynamic Metric Discovery
MUST call
describe-metric-meta-listAPI to discover metrics for the target namespace. DO NOT hardcode metric names. Usemetrics.mdonly as fallback when API is unavailable.
- Call
describe-project-metato list all available namespaces (when product is unclear) - Call
describe-metric-meta-list --namespace <ns>to get available metrics - Match returned metrics to user's intent (CPU, memory, disk, network, etc.)
- Fall back to
metrics.mdonly when API call fails
9. CLI Self-Discovery
When unsure about CLI command syntax, arguments, or available subcommands, use --help to discover:
# List all available CMS commands
aliyun cms --help
# Show detailed usage for a specific command
aliyun cms <command> --help
# Example:
aliyun cms describe-metric-meta-list --help
This is the preferred way to resolve CLI uncertainties rather than guessing parameters.
10. Mandatory Confirmation Before Execution
MUST present configuration summary and get explicit user confirmation BEFORE calling
PutResourceMetricRule.
Even if all parameters are clear, DO NOT execute directly. Always show a configuration summary including: Product, Metric, Threshold, Severity, Resources scope, and Contact Group. Wait for user's explicit "Yes" or confirmation before proceeding.
Severity Levels
| Level | Parameter Prefix | Example |
|---|---|---|
| Critical | --escalations-critical-* |
--escalations-critical-threshold 85 |
| Warn | --escalations-warn-* |
--escalations-warn-threshold 99.9 |
| Info | --escalations-info-* |
--escalations-info-threshold 50 |
Reference Files
| File | Purpose |
|---|---|
related_apis.yaml |
API lookup before CLI calls |
references/step1-context-lock.md |
Context lock |
references/step2-query-generation.md |
Query generation |
references/step3-detection-config.md |
Detection config |
references/step4-notification.md |
Notification |
references/step5-preview-execute.md |
Preview & execute |
references/step6-verification.md |
Verification |
references/metrics.md |
Common metrics quick reference (fallback) |
Prerequisites
# Verify aliyun CLI is configured
aliyun configure get
# Set User-Agent for all CLI calls (REQUIRED)
export ALIBABA_CLOUD_USER_AGENT="AlibabaCloud-Agent-Skills"
Important: All aliyun CLI calls in this skill MUST include the User-Agent header. Set the environment variable before executing any commands.