---
name: alibabacloud-cms-alert-rule-create
description: |
Создание правил оповещений Alibaba Cloud CMS через CLI (навык записи). Поддерживает мониторинг облачных ресурсов CMS 1.0 для ВСЕХ облачных продуктов, интегрированных с CMS.
Этот навык выполняет операции записи: создание правил оповещений, контактов и групп контактов.
Используйте, когда: создаете оповещения мониторинга, настраиваете правила оповещений, конфигурируете политики оповещений CMS для любого облачного продукта или управляете уведомлениями облачного мониторинга.
Триггеры: "create alert", "setup monitoring", "configure alarm", "CMS alert",
"cloud monitor rule", "告警规则", "创建告警", "监控报警".
---
# Создание правила оповещения Alibaba Cloud
Этот навык создает правила оповещений CMS 1.0 для мониторинга облачных ресурсов с использованием метрик CloudMonitor. Поддерживает **все облачные продукты, интегрированные с CMS**, благодаря динамическому обнаружению метрик.
---
## Workflow
| Шаг | Описание | CMS 1.0 | Ссылка |
|------|-------------|---------|-----------|
| 1 | Блокировка контекста | namespace, region, instances | `step1-context-lock.md` |
| 2 | Генерация запроса | Вызов `describe-metric-meta-list` для обнаружения метрик для пространства имен, сопоставление с намерениями пользователя | `step2-query-generation.md` |
| 3 | Конфигурация обнаружения | порог, частота (по умолчанию 1 мин) | `step3-detection-config.md` |
| 4 | Уведомление | Запрос контактов → выбор или создание | `step4-notification.md` |
| 5 | Предварительный просмотр и выполнение | Отображение сводки → подтверждение → CLI | `step5-preview-execute.md` |
| 6 | Проверка | Проверка статуса | `step6-verification.md` |
---
## Контрольный список (ОБЯЗАТЕЛЬНО)
> **Перед созданием ЛЮБОГО оповещения выполните эти API-вызовы, чтобы обеспечить правильное выполнение рабочего процесса.**
| Шаг | Требуемый API-вызов | Команда CLI | Цель |
|------|-------------------|-------------|---------|
| 1 | `DescribeProjectMeta` | `aliyun cms describe-project-meta` | Перечисление пространств имен облачных продуктов (когда продукт неясен) |
| 2 | `DescribeMetricMetaList` | `aliyun cms describe-metric-meta-list --namespace <ns>` | Обнаружение метрик: получение доступных метрик (альтернатива: metrics.md) |
| 4 | `DescribeContactGroupList` | `aliyun cms describe-contact-group-list` | Запрос существующих групп контактов |
| 5 | `PutResourceMetricRule` | `aliyun cms put-resource-metric-rule ...` | Создание правила оповещения |
> **Эти API-вызовы требуются для создания каждого оповещения. Всегда запрашивайте контакты с помощью предназначенных инструментов, даже если значения кажутся известными.**
---
## Критические правила
### 1. Запрос контактов перед созданием (ОБЯЗАТЕЛЬНО)
> **Этот шаг ОБЯЗАТЕЛЕН и НЕ МОЖЕТ быть пропущен.**
1. **ОБЯЗАТЕЛЬНО вызывайте `describe-contact-group-list`** перед созданием любого оповещения CMS
2. Пользователь предоставил имя контакта → нечеткое сопоставление с существующими группами
3. Если нет совпадений → помогите пользователю создать новую группу контактов
### 2. Параметр ресурсов (ОБЯЗАТЕЛЬНО)
> **Параметр `--resources` ДОЛЖЕН всегда передаваться явно. Никогда не пропускайте этот параметр.**
- **Все ресурсы**: `--resources '[{"resource":"_ALL"}]'`
- **Конкретные экземпляры**: `--resources '[{"resource":"i-xxx"}]'` или `--resources '[{"resource":"i-xxx"},{"resource":"i-yyy"}]'`
Это относится ко **ВСЕМ продуктам** (ECS, RDS, SLB, OSS, MongoDB и т.д.).
### 3. Краткое описание необходимых API-вызовов
| Шаг 1 | Шаг 2 | Шаг 4 | Шаг 5 |
|--------|--------|--------|--------|
| `describe-project-meta` (когда продукт неясен) | `describe-metric-meta-list` (ОБЯЗАТЕЛЬНО) | `describe-contact-group-list` (ОБЯЗАТЕЛЬНО) | `put-resource-metric-rule` |
### 4. Нечеткое сопоставление групп контактов
Когда пользователь упоминает группу контактов, применяйте следующие правила сопоставления:
| Ввод пользователя | Стратегия сопоставления | Общие соответствия |
|------------|---------------|------------------|
| "运维组" / "ops" | Содержит/ключевое слово | → `运维组`, `ops-alert-group`, `SRE-Team` |
| "基础设施组" | Содержит/ключевое слово | → `infrastructure`, `infrastructure-team` |
| "DBA团队" | Содержит/ключевое слово | → `DBA-Alert-Group`, `dba-team` |
| "网络组" | Содержит/ключевое слово | → `network-ops`, `network-sre` |
| Точное имя | Прямое соответствие | Используйте точное имя, если оно найдено |
### 5. Время ожидания команды CLI
Все команды `aliyun` CLI ДОЛЖНЫ выполняться с тайм-аутом, чтобы избежать зависания:
- **Время ожидания по умолчанию**: 30 секунд для операций запроса (описание/список/получение)
- **Расширенное время ожидания**: 60 секунд для операций записи (создание/создание/обновление)
- Если команда не возвращает результат в течение времени ожидания, попробуйте повторить один раз, прежде чем сообщать об ошибке.
### 6. Предварительная проверка на дубликаты оповещений
Перед созданием правила оповещения проверьте, существует ли уже правило с той же конфигурацией:
- Вызовите `describe-metric-rule-list --namespace <ns> --metric-name <metric>` и проверьте наличие соответствующих правил
- Если существует дубликат, сообщите об этом пользователю и спросите, следует ли пропустить создание или создать с новым именем
### 7. Ограничение доступа к сети
Этот навык обращается только к конечным точкам Alibaba Cloud OpenAPI. Разрешенные домены:
- `cms.aliyuncs.com` — API CloudMonitor
- `ecs.aliyuncs.com` — запрос экземпляра ECS
- `rds.aliyuncs.com` — запрос экземпляра RDS
- `slb.aliyuncs.com` — запрос экземпляра SLB
Не требуется и не разрешен доступ к другим внешним сетевым ресурсам.
### 8. Динамическое обнаружение метрик
> **ОБЯЗАТЕЛЬНО вызывайте API `describe-metric-meta-list` для обнаружения метрик для целевого пространства имен. НЕ используйте жестко закодированные имена метрик. Используйте `metrics.md` только в качестве запасного варианта, когда API недоступен.**
1. Вызовите `describe-project-meta`, чтобы перечислить все доступные пространства имен (когда продукт неясен)
2. Вызовите `describe-metric-meta-list --namespace <ns>`, чтобы получить доступные метрики
3. Сопоставьте возвращенные метрики с намерениями пользователя (CPU, память, диск, сеть и т.д.)
4. Используйте `metrics.md` только в том случае, если вызов API не удался
### 9. Самостоятельное обнаружение CLI
Если вы не уверены в синтаксисе команды CLI, аргументах или доступных подкомандах, используйте `--help` для их обнаружения:
```bash
# Перечисление всех доступных команд CMS
aliyun cms --help
# Отображение подробного использования для конкретной команды
aliyun cms <команда> --help
# Пример:
aliyun cms describe-metric-meta-list --help
```
Это предпочтительный способ решения неопределенностей CLI, а не угадывание параметров.
### 10. Обязательное подтверждение перед выполнением
> **ОБЯЗАТЕЛЬНО отобразите сводку конфигурации и получите ЯВНОЕ подтверждение пользователя ПЕРЕД вызовом `PutResourceMetricRule`.**
Даже если все параметры ясны, НЕ выполняйте напрямую. Всегда показывайте сводку конфигурации, включая: Продукт, Метрика, Порог, Серьезность, Область ресурсов и Группа контактов. Дождитесь явного "Да" или подтверждения от пользователя, прежде чем продолжить.
---
## Уровни серьезности
| Уровень | Префикс параметра | Пример |
|-------|-----------------|---------|
| Критический | `--escalations-critical-*` | `--escalations-critical-threshold 85` |
| Предупреждение | `--escalations-warn-*` | `--escalations-warn-threshold 99.9` |
| Информационный | `--escalations-info-*` | `--escalations-info-threshold 50` |
---
## Справочные файлы
| Файл | Цель |
|------|---------|
| `related_apis.yaml` | Поиск API перед вызовами CLI |
| `references/step1-context-lock.md` | Блокировка контекста |
| `references/step2-query-generation.md` | Генерация запроса |
| `references/step3-detection-config.md` | Конфигурация обнаружения |
| `references/step4-notification.md` | Уведомление |
| `references/step5-preview-execute.md` | Предварительный просмотр и выполнение |
| `references/step6-verification.md` | Проверка |
| `references/metrics.md` | Быстрый справочник по общим метрикам (альтернатива) |
---
## Предварительные требования
```bash
# Проверьте, настроена ли CLI aliyun
aliyun configure get
# Установите User-Agent для всех вызовов CLI (ОБЯЗАТЕЛЬНО)
export ALIBABA_CLOUD_USER_AGENT="AlibabaCloud-Agent-Skills"
```
**Важно**: Все вызовы CLI `aliyun` в этом навыке ДОЛЖНЫ включать заголовок User-Agent. Установите переменную среды перед выполнением каких-либо команд.