Мониторинг Azure Cosmos DB

В этой статье рассматриваются следующие вопросы:

  • Типы данных мониторинга, которые можно собирать для этой службы.
  • Способы анализа данных.

Примечание.

Если вы уже знакомы с этой службой и (или) Azure Monitor и просто хотите знать, как анализировать данные мониторинга, см . раздел "Анализ " в конце этой статьи.

При наличии критически важных приложений и бизнес-процессов, использующих ресурсы Azure, необходимо отслеживать и получать оповещения для системы. Служба Azure Monitor собирает и агрегирует метрики и журналы из каждого компонента системы. Azure Monitor предоставляет представление о доступности, производительности и устойчивости, а также уведомляет вас о проблемах. Вы можете использовать портал Azure, PowerShell, Azure CLI, REST API или клиентские библиотеки для настройки и просмотра данных мониторинга.

Аналитические выводы (Insights)

Некоторые службы в Azure имеют встроенную панель мониторинга в портал Azure, которая предоставляет отправную точку для мониторинга службы. Эти панели мониторинга называются аналитическими сведениями, и их можно найти в центре Аналитика Azure Monitor в портал Azure.

Аналитика Azure Cosmos DB

Аналитика Azure Cosmos DB — это функция, основанная на функциях книг Azure Monitor. Используйте аналитику Azure Cosmos DB для представления общего объема производительности, сбоев, емкости и работоспособности всех ресурсов Azure Cosmos DB в едином интерактивном интерфейсе.

Дополнительные сведения о аналитике Azure Cosmos DB см. в следующих статьях:

Типы ресурсов

Azure использует концепцию типов ресурсов и идентификаторов для идентификации всего в подписке. Azure Monitor аналогично упорядочивает основные данные мониторинга в метрики и журналы на основе типов ресурсов, которые также называются пространствами имен. Различные метрики и журналы доступны для различных типов ресурсов. Служба может быть связана с несколькими типами ресурсов.

Типы ресурсов также являются частью идентификаторов ресурсов для каждого ресурса, работающего в Azure. Например, для виртуальной машины используется Microsoft.Compute/virtualMachinesодин тип ресурса. Список служб и связанных с ними типов ресурсов см. в разделе "Поставщики ресурсов".

Дополнительные сведения о типах ресурсов для Azure Cosmos DB см . в справочнике по данным мониторинга Azure Cosmos DB.

Хранилище данных

Для Azure Monitor:

  • Данные метрик хранятся в базе данных метрик Azure Monitor.
  • Данные журнала хранятся в хранилище журналов Azure Monitor. Log Analytics — это средство в портал Azure, которое может запрашивать это хранилище.
  • Журнал действий Azure — это отдельное хранилище с собственным интерфейсом в портал Azure.

При необходимости можно перенаправить данные журнала метрик и действий в хранилище журналов Azure Monitor. Затем с помощью Log Analytics можно запрашивать данные и сопоставлять их с другими данными журнала.

Многие службы могут использовать параметры диагностики для отправки данных метрик и журналов в другие расположения хранилища за пределами Azure Monitor. Примеры включают служба хранилища Azure, размещенные партнерские системы и системы партнеров, отличные от Azure, с помощью Центров событий.

Подробные сведения о том, как Azure Monitor хранит данные, см. на платформе данных Azure Monitor.

Метрики платформы Azure Monitor

Azure Monitor предоставляет метрики платформы для большинства служб. Эти метрики перечислены ниже.

  • По отдельности определяется для каждого пространства имен.
  • Хранится в базе данных метрик временных рядов Azure Monitor.
  • Упрощенный и способный поддерживать оповещения практически в режиме реального времени.
  • Используется для отслеживания производительности ресурса с течением времени.

Коллекция: Azure Monitor автоматически собирает метрики платформы. Настройка не требуется.

Маршрутизация. Вы также можете направлять метрики платформы в журналы Azure Monitor или Log Analytics, чтобы запросить их с другими данными журнала. Дополнительные сведения см. в параметре диагностики метрик. Сведения о настройке параметров диагностики для службы см. в статье "Создание параметров диагностики" в Azure Monitor.

Список всех метрик, которые можно собрать для всех ресурсов в Azure Monitor, см. в статье "Поддерживаемые метрики в Azure Monitor".

Azure Monitor собирает метрики Azure Cosmos DB по умолчанию. Вам не нужно явно настраивать ничего. Большинство метрик доступны на странице портала Azure Cosmos DB или на странице Azure Monitor. По умолчанию метрики собираются с одной минутой детализации. Степень детализации может отличаться в зависимости от выбранной метрики. По умолчанию срок хранения этих метрик составляет 30 дней.

Метрики на стороне сервера Azure Cosmos DB включают пропускную способность, хранилище, доступность, задержку, согласованность и метрики уровня системы. На стороне клиента можно собирать сведения об оплате за запрос, идентификатор действия, сведения об исключении и трассировке стека, состоянии HTTP и коде подстатуса и строке диагностики. По умолчанию срок хранения этих метрик составляет семь дней. Эти данные можно использовать для отладки проблем или при необходимости обратиться в службу поддержки Azure Cosmos DB.

Значения измерений для метрик, таких как имя контейнера, являются нечувствительными к регистру. Эта ситуация может привести к путанице или столкновению данных телеметрии и действий в контейнерах с такими именами. Используйте нечувствительное сравнение регистра при сравнении строк для этих значений измерений.

Список доступных метрик для Azure Cosmos DB см . в справочнике по данным мониторинга Azure Cosmos DB.

Метрики, отличные от Azure Monitor

Эта служба предоставляет другие метрики, которые не включены в базу данных метрик Azure Monitor.

Журналы ресурсов Azure Monitor

Журналы ресурсов предоставляют аналитические сведения об операциях, выполненных ресурсом Azure. Журналы создаются автоматически, но их необходимо перенаправить в журналы Azure Monitor, чтобы сохранить или запросить их. Журналы организованы по категориям. Заданное пространство имен может содержать несколько категорий журналов ресурсов.

Коллекция. Журналы ресурсов не собираются и хранятся, пока не создадите параметр диагностики и перенаправите журналы в одно или несколько расположений. Создавая параметр диагностики, нужно указать, какие категории журналов должны собираться. Существует несколько способов создания и обслуживания параметров диагностики, включая портал Azure, программно и хотя Политика Azure.

Маршрутизация: рекомендуемая по умолчанию — маршрутизация журналов ресурсов в журналы Azure Monitor, чтобы запросить их с другими данными журнала. Также доступны другие расположения, такие как служба хранилища Azure, Центры событий Azure и некоторые партнеры по мониторингу Майкрософт. Дополнительные сведения см. в журналах ресурсов Azure и назначениях журналов ресурсов.

Подробные сведения о сборе, хранении и маршрутизации журналов ресурсов см. в разделе "Параметры диагностики" в Azure Monitor.

Список всех доступных категорий журналов ресурсов в Azure Monitor см. в статье "Поддерживаемые журналы ресурсов" в Azure Monitor.

Все журналы ресурсов в Azure Monitor имеют одинаковые поля заголовков, а затем поля для конкретной службы. Общая схема показана в разделе Схема журнала ресурсов Azure Monitor.

Журналы диагностики можно отслеживать из учетной записи Azure Cosmos DB и создавать панели мониторинга из Azure Monitor. Такие данные, как события и трассировки, создающиеся со степенью детализации с шагом в одну секунду, хранятся в виде журналов. Например, если пропускная способность контейнера изменяется, свойства учетной записи Azure Cosmos DB изменяются. Журналы записывают эти события. Вы можете проанализировать эти журналы, выполнив запросы к собранным данным.

Доступные категории журналов ресурсов, связанные таблицы Log Analytics и схемы журналов для Azure Cosmos DB, см . в справочнике по данным мониторинга Azure Cosmos DB.

Журнал действий Azure

Журнал действий содержит события уровня подписки, отслеживающие операции для каждого ресурса Azure, как видно извне этого ресурса; например, создание нового ресурса или запуск виртуальной машины.

Коллекция: события журнала действий автоматически создаются и собираются в отдельном хранилище для просмотра в портал Azure.

Маршрутизация. Вы можете отправлять данные журнала действий в журналы Azure Monitor, чтобы их можно было анализировать вместе с другими данными журнала. Также доступны другие расположения, такие как служба хранилища Azure, Центры событий Azure и некоторые партнеры по мониторингу Майкрософт. Дополнительные сведения о маршрутизации журнала действий см. в разделе "Обзор журнала действий Azure".

Анализ данных мониторинга

Существует множество средств для анализа данных мониторинга.

Средства Azure Monitor

Azure Monitor поддерживает следующие основные средства:

  • Обозреватель метрик— средство в портал Azure, позволяющее просматривать и анализировать метрики для ресурсов Azure. Дополнительные сведения см. в разделе "Анализ метрик" с помощью обозревателя метрик Azure Monitor.

  • Log Analytics— средство в портал Azure, позволяющее запрашивать и анализировать данные журнала с помощью языка запросов Kusto (KQL). Дополнительные сведения см. в статье Начало работы с запросами журнала в Azure Monitor.

  • Журнал действий, имеющий пользовательский интерфейс в портал Azure для просмотра и базового поиска. Для более подробного анализа необходимо направлять данные в журналы Azure Monitor и выполнять более сложные запросы в Log Analytics.

Средства, которые позволяют более сложной визуализации, включают:

  • Панели мониторинга, позволяющие объединить различные виды данных в одну область в портал Azure.
  • Книги, настраиваемые отчеты, которые можно создать в портал Azure. Книги могут включать текст, метрики и запросы журналов.
  • Grafana — открытое средство платформы, которое работает на операционных панелях мониторинга. С помощью Grafana можно создавать панели мониторинга, содержащие данные из нескольких источников, отличных от Azure Monitor.
  • Power BI— служба бизнес-аналитики, которая предоставляет интерактивные визуализации в различных источниках данных. Вы можете настроить Power BI на автоматический импорт данных журналов из Azure Monitor, чтобы воспользоваться этими визуализациями.

Средства экспорта Azure Monitor

Вы можете получить данные из Azure Monitor в другие средства с помощью следующих методов:

Сведения о начале работы с REST API для Azure Monitor см . в пошаговом руководстве по REST API мониторинга Azure.

Анализ метрик Azure Cosmos DB

Метрики Azure Monitor можно использовать Обозреватель для анализа метрик Для Azure Cosmos DB с метриками из других служб Azure, выбрав метрики в разделе "Мониторинг" на портале учетной записи Azure Cosmos DB. Дополнительные сведения об использовании обозревателя метрик см. в разделе "Анализ метрик" с помощью обозревателя метрик Azure Monitor.

Вы можете отслеживать задержку на стороне сервера, использование единиц запросов и нормализованное использование единиц запросов для ресурсов Azure Cosmos DB. Вы можете выбрать метрики, связанные с единицами запросов, хранилищем, задержкой, доступностью, Cassandra и т. д.

На стороне клиента можно отлаживать проблемы, собирая метрики для оплаты запросов, идентификатора действия, сведений о трассировке исключений и стека, состояния HTTP и кода подстатуса и строки диагностики.

Дополнительные сведения и подробные инструкции см. в следующих статьях:

Список всех метрик ресурсов, поддерживаемых в Azure Monitor, см. в статье "Поддерживаемые метрики Azure Monitor". Список метрик платформы, собранных для Azure Cosmos DB, см. в статье "Мониторинг ссылочных метрик данных Azure Cosmos DB".

Программный мониторинг Azure Cosmos DB

Метрики уровня учетной записи, доступные на портале, такие как использование учетной записи и общий запросы, недоступны с помощью API для NoSQL. Однако данные об использовании можно получить на уровне сбора с помощью API для NoSQL. Чтобы получить данные уровня сбора, используйте один из следующих подходов:

  • Чтобы использовать REST API, выполните запрос GET к коллекции. Сведения о квоте и использовании коллекции возвращаются в x-ms-resource-quota заголовках x-ms-resource-usage ответа.

  • Чтобы использовать пакет SDK для .NET, используйте метод DocumentClient.ReadDocumentCollectionAsync, который возвращает ResourceResponse, содержащий множество свойств использования, таких как CollectionSizeUsage, DatabaseUsage и DocumentUsage.

Чтобы получить дополнительные метрики, используйте пакет SDK для Azure Monitor. Доступные определения метрик можно получить с помощью этого формата:

https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/{DocumentDBAccountName}/providers/microsoft.insights/metricDefinitions?api-version=2018-01-01

Чтобы получать отдельные метрики, используйте следующий формат:

https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/{DocumentDBAccountName}/providers/microsoft.insights/metrics?timespan={StartTime}/{EndTime}&interval={AggregationInterval}&metricnames={MetricName}&aggregation={AggregationType}&`$filter={Filter}&api-version=2018-01-01

Дополнительные сведения см. в разделе REST API мониторинга Azure.

Анализ журналов Azure Cosmos DB

Данные в журналах Azure Monitor хранятся в таблицах. Каждая таблица имеет собственный набор уникальных свойств. Все журналы ресурсов в Azure Monitor имеют те же поля, за которыми следуют поля, характерные для службы. Общая схема показана в разделе Схема журнала ресурсов Azure Monitor.

Сведения о типах журналов ресурсов, собранных для Azure Cosmos DB, см . в справочнике по данным мониторинга Azure Cosmos DB.

Дополнительные сведения о работе с журналами Azure Monitor для Azure Cosmos DB см. в следующих статьях:

Запросы Kusto

Данные мониторинга можно анализировать в хранилище журналов Azure Monitor или Log Analytics с помощью языка запросов Kusto (KQL).

Внимание

При выборе журналов из меню службы на портале Log Analytics откроется запрос область задать текущую службу. Это область означает, что запросы журналов будут включать только данные из этого типа ресурса. Если вы хотите выполнить запрос, содержащий данные из других служб Azure, выберите журналы в меню Azure Monitor . Подробные сведения см. в статье Область запросов журнала и временной диапазон в Azure Monitor Log Analytics.

Список распространенных запросов для любой службы см. в интерфейсе запросов Log Analytics.

Прежде чем использовать Log Analytics для выполнения запросов Kusto, необходимо включить журналы диагностики с регистрацией операций уровня управления. При включении журналов диагностики можно выбрать между хранением данных в таблицах, относящихся к ресурсам, или одной таблицей AzureDiagnostics (устаревшей версией). Точный текст запросов Kusto зависит от выбранного режима сбора.

Ниже приведены некоторые запросы, которые можно ввести в панель поиска по журналам, чтобы помочь отслеживать ресурсы Azure Cosmos DB.

Чтобы запросить все записи журналов уровня управления из Azure Cosmos DB:

CDBControlPlaneRequests

Чтобы запросить все записи журналов уровня данных из Azure Cosmos DB:

CDBDataPlaneRequests

Чтобы запросить отфильтрованный список записей журналов уровня данных, относящихся к одному ресурсу:

CDBDataPlaneRequests
| where AccountName=="<account-name>"

Чтобы получить количество записей журналов уровня данных с группировкой по ресурсам:

CDBDataPlaneRequests
| summarize count() by AccountName

Чтобы создать диаграмму для записей журналов уровня данных с группировкой по типу операции:

CDBDataPlaneRequests
| summarize count() by OperationName
| render piechart

Запросы Kusto можно использовать для устранения неполадок с Azure Cosmos DB, см. в следующих статьях:

Эти примеры представляют собой лишь небольшую выборку расширенных запросов, которые можно запускать в Azure Monitor с помощью язык запросов Kusto (KQL). Дополнительные примеры см . в примерах запросов Kusto.

видны узлы

Оповещения Azure Monitor заранее уведомляют вас о конкретных условиях, обнаруженных в данных мониторинга. Оповещения позволяют выявлять и устранять проблемы в системе, прежде чем клиенты заметят их. Дополнительные сведения см. в оповещениях Azure Monitor.

Существует множество источников распространенных оповещений для ресурсов Azure. Примеры распространенных оповещений для ресурсов Azure см. в примерах запросов оповещений журнала. Сайт базовых оповещений Azure Monitor (A МБ A) предоставляет полуавтоматичный метод реализации важных оповещений метрик платформы, панелей мониторинга и рекомендаций. Сайт применяется к постоянно расширяющемуся подмножество служб Azure, включая все службы, которые являются частью целевой зоны Azure (ALZ).

Общая схема оповещений стандартизирует потребление уведомлений об оповещениях Azure Monitor. Дополнительные сведения см. в разделе "Общая схема оповещений".

Типов оповещений

Вы можете получать оповещения о любых источниках данных метрик или журналов на платформе данных Azure Monitor. Существует множество различных типов оповещений в зависимости от служб, которые вы отслеживаете, и данных мониторинга, которые вы собираете. Различные типы оповещений имеют различные преимущества и недостатки. Дополнительные сведения см. в разделе "Выбор правильного типа оповещений мониторинга".

В следующем списке описаны типы оповещений Azure Monitor, которые можно создать:

  • Оповещения метрик оценивают метрики ресурсов через регулярные интервалы. Метрики могут быть метриками платформы, пользовательскими метриками, журналами из Azure Monitor, преобразованными в метрики или метриками приложения Аналитика. Оповещения метрик также могут применять несколько условий и динамические пороговые значения.
  • Оповещения журнала позволяют пользователям использовать запрос Log Analytics для оценки журналов ресурсов на предопределенной частоте.
  • Оповещения журнала действий активируются при возникновении нового события журнала действий, соответствующего определенным условиям. Работоспособность ресурсов оповещения и оповещения о работоспособности служб — это оповещения журнала действий, которые сообщают о работоспособности службы и ресурсов.

Некоторые службы Azure также поддерживают оповещения интеллектуального обнаружения, оповещения Prometheus или рекомендуемые правила генерации оповещений.

Для некоторых служб можно отслеживать масштаб, применяя одно правило генерации оповещений метрик к нескольким ресурсам одного типа, которые существуют в одном регионе Azure. Для каждого отслеживаемого ресурса отправляются отдельные уведомления. Сведения о поддерживаемых службах и облаках Azure см. в статье "Мониторинг нескольких ресурсов с помощью одного правила генерации оповещений".

Правила генерации оповещений Azure Cosmos DB

В следующей таблице перечислены некоторые распространенные и рекомендуемые правила генерации оповещений для Azure Cosmos DB.

Тип оповещения Условие Description
Ограничение частоты единиц запроса (оповещение метрики) Имя измерения: StatusCode, Оператор: Равно, значения измерения: 429 Генерирует оповещение, если контейнер или база данных превысили предусмотренное ограничение пропускной способности.
Отработка отказа в регионе Оператор: больше, тип агрегирования: count, пороговое значение: 1 При отработке отказа в одном регионе. Это оповещение полезно, если вы не включили автоматическую отработку отказа под управлением службы.
Смена ключей (оповещение журнала действий) Уровень события: информационное, состояние: запущено Генерирует оповещение при смене ключей учетной записи. Вы можете обновить приложение с помощью новых ключей.

Дополнительные сведения и инструкции по созданию оповещений для Azure Cosmos DB см. в статье "Создание оповещений по метрикам". Чтобы создать оповещение для мониторинга, если хранилище для ключа логического раздела приближается к 20 ГБ, см . статью "Создание оповещения о размере ключа логического раздела".

Рекомендации Помощника

Для некоторых служб, если критические условия или неизбежные изменения происходят во время операций ресурсов, на странице обзора службы на портале отображается оповещение. Дополнительные сведения и рекомендуемые исправления для оповещения в рекомендациях Помощника см. в разделе "Мониторинг" в меню слева. Во время обычных операций рекомендации помощника не отображаются.

Дополнительные сведения о Помощнике по Azure см. в обзоре Помощника по Azure.