Создание оповещений для Azure Cosmos DB с помощью Azure Monitor
Область применения: Nosql Mongodb Кассандра Гремлин Таблица
Оповещения используются для настройки повторяющихся тестов, чтобы отслеживать доступность и скорость реагирования ресурсов Azure Cosmos DB. Оповещения могут быть отправлены в форме уведомлений по электронной почте или выполнять Функцию Azure, когда одна из метрик достигает порогового значения или в журнале действий регистрируется определенное событие.
Вы можете получить оповещение на основе метрик, событий журнала действий или журналов Log Analytics в учетной записи Azure Cosmos DB:
Метрики. Оповещение активируется, когда значение указанной метрики выходит за рамки заданного порога. Например, если общее количество потребляемых единиц запроса превышает 1000 ЕЗ/с. Сначала это оповещение активируется, когда условие выполняется, а затем — когда условие перестает выполняться. Различные метрики, доступные в Azure Cosmos DB, см. в разделе статьи Справочник по данным мониторинга.
События журнала действий. Это оповещение активируется, когда выполняется определенное событие. Например, при доступе или обновлении ключей учетной записи Azure Cosmos DB.
Log Analytics — это оповещение активируется, когда значение указанного свойства в результатах запроса Log Analytics выходит за рамки заданного порога. Например, можно написать запрос Log Analytics для отслеживания того, приближается ли размер хранилища для ключа логической секции к пределу в 20 ГБ в Azure Cosmos DB.
Оповещения можно настроить в области Azure Cosmos DB или через службу Azure Monitor на портале Azure. Оба интерфейса предлагают одинаковые параметры. В этой статье описано, как настроить оповещения для Azure Cosmos DB с помощью Azure Monitor.
Создать правило генерации оповещений
В этом разделе описано, как создать оповещение при получении кода состояния HTTP 429, который принимается, если запросы ограничены по частоте. Например, может потребоваться получить оповещение, если имеется 100 или более ограниченных запросов. В этой статье показано, как настроить оповещение для такого сценария с помощью кода состояния HTTP. Аналогичные действия можно предпринять также для настройки других типов оповещений. Вам нужно просто выбрать другое условие в зависимости от ваших требований.
Совет
Сценарий создания оповещений на основе числа кодов состояния 429, превышающего пороговое значение, используется здесь для иллюстрации. Это не означает, что наличие кодов 429 для базы данных или контейнере безоговорочно свидетельствует о проблеме. В общем случае, если 1–5 % запросов в рабочей нагрузке рабочей среды имеют коды состояния 429 и общая задержка приложения находится в пределах ваших требований, это обычный и нормальный признак того, что вы полностью используете подготовленную пропускную способность (ЕЗ в секунду). Узнайте больше об интерпретации и отладке исключений 429.
Войдите на портал Azure.
На панели навигации слева выберите пункт Монитор, а затем — Оповещения.
Нажмите кнопку "Новое правило генерации оповещений", чтобы открыть область "Создать правило генерации оповещений".
Заполните раздел Область:
Откройте область Выбор ресурса и настройте следующие параметры:
Выберите свою подписку.
Для типа ресурса выберите учетные записи Azure Cosmos DB.
Расположение учетной записи Azure Cosmos DB.
После заполнения сведений отобразится список учетных записей Azure Cosmos DB в выбранной области. Выберите ту, для которой нужно настроить оповещения, а затем нажмите кнопку Готово.
Заполните раздел Условие:
Откройте панель Выбрать условие, чтобы перейти на страницу Выбор сигнала и настроить следующие параметры:
Выберите сигнал. Тип сигнала может быть метрикой, журналом действий или журналом (Log Analytics). Для этого сценария выберите Метрики, так как вы хотите получать оповещение, когда возникает ограничение скорости для общей метрики единиц запросов.
Выберите Все для Службы мониторинга.
Выберите Название сигнала. Чтобы получить оповещение для кодов состояния HTTP, выберите сигнал Total Request Units (Общее количество единиц запросов).
Теперь можно определить логику активации оповещения и использовать диаграмму для просмотра тенденций учетной записи Azure Cosmos DB. Метрика Total Request Units (Общее количество единиц запросов) поддерживает измерения. Эти измерения позволяют фильтровать по метрике. Например, с помощью измерений можно отфильтровать определенную базу данных или определенный контейнер, которые необходимо отслеживать. Если вы не выбрали ни одно измерение, это значение игнорируется.
Выберите StatusCode в качестве имени измерения. Выберите Добавить пользовательское значение и задайте 429 для кода состояния.
В разделе Логика оповещений установите для параметра Порог значение Статический. В статическом пороге для вычисления правила используется заданное пользователем пороговое значение, тогда как в динамических порогах используются встроенные алгоритмы машинного обучения для непрерывного изучения шаблона поведения метрики и автоматического вычисления порогов.
Задайте для параметра Оператор значение Больше, для параметра Тип агрегирования — Итог, а для параметра Пороговое значение — 100. Согласно этой логике, если клиент видит более 100 запросов, имеющих код состояния 429, то активируется оповещение. Можно также настроить тип агрегирования, степень детализации агрегирования и частоту вычислений в соответствии с требованиями.
После заполнения формы нажмите кнопку Готово. На следующем снимке экрана показаны подробные сведения о логике оповещения.
Заполните раздел Группа действий:
В области Создание правила выберите имеющуюся группу действий или создайте новую. Группа действий позволяет задать действие, выполняемое при возникновении условия оповещения. Для этого примера создайте новую группу действий для получения уведомления по электронной почте при активации оповещения. Откройте область Добавить группу действий и введите следующие данные:
Имя группы действий. Имя группы действий должно быть уникальным в пределах группы ресурсов.
Короткое имя. Короткое имя группы действий — это значение включается в сообщение электронной почты и SMS-уведомления, чтобы определить, какая группа действий является источником уведомления.
Выберите подписку и группу ресурсов, где будет создана эта группа действий.
Укажите имя действия и выберите в качестве Типа действия электронную почту, SMS-сообщение, push-уведомление или голосовое сообщение. На следующем снимке экрана показаны подробные сведения о типе действия:
Заполните раздел Сведения о правиле генерации оповещений:
- Задайте имя для правила, укажите необязательное описание, для уровня серьезности оповещения укажите, следует ли включить правило сразу после его создания, а затем щелкните Создать правило оповещения, чтобы создать оповещение для правила метрики.
После создания оповещения оно активируется в течение 10 минут.
Распространенные сценарии оповещений
Ниже приведены некоторые сценарии, где можно использовать оповещения:
- При обновлении ключей учетной записи Azure Cosmos DB.
- Если использование данных или индексов контейнера, базы данных или региона превышают определенное количество байтов.
- Если размер хранилища для ключа логической секции приближается к пределу в 20 ГБ в Azure Cosmos DB.
- Если нормализованное потребление ЕЗ/с превышает определенный процент. Нормализованная метрика потребления единиц запросов выдает максимальный уровень использования пропускной способности в наборе реплик. Дополнительные сведения см. в статье Мониторинг нормализованных единиц запросов в секунду.
- При добавлении или удалении региона, а также при его переходе в автономный режим.
- При создании, удалении или обновлении базы данных или контейнера.
- При изменении пропускной способности базы данных или контейнера.
Следующие шаги
- Мониторинг нормализованной метрики ЕЗ/с в контейнере Azure Cosmos DB.
- Отслеживание пропускной способности или использования единиц запросов для операций в Azure Cosmos DB.