Поделиться через


Мониторинг Экземпляров контейнеров Azure

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

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

Примечание.

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

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

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

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

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

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

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

Для 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".

Список доступных метрик для Экземпляры контейнеров см. в Экземпляры контейнеров справочнике по данным мониторинга. Эти метрики доступны как для отдельных контейнеров, так и для групп контейнеров. По умолчанию метрики объединяются в виде средних значений.

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

Получить метрики

Вы можете собирать метрики Azure Monitor для экземпляров контейнеров с помощью портал Azure или Azure CLI.

Внимание

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

Использование портала Azure

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

Снимок экрана: готовые диаграммы для доступных метрик.

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

  1. На странице Обзор выберите одну из диаграмм метрик, таких как ЦП.
  2. Нажмите кнопку Применить разделение, а затем выберите Имя контейнера.

Снимок экрана: метрики для экземпляра контейнера с выбранным разделением и выбранным именем контейнера.

Использование Azure CLI

Метрики для экземпляров контейнеров можно также получить с помощью Azure CLI. Для начала получите идентификатор группы контейнеров, используя приведенную ниже команду. Замените <resource-group> именем нужной группы ресурсов, а <container-group> — именем группы контейнеров.

CONTAINER_GROUP=$(az container show --resource-group <resource-group> --name <container-group> --query id --output tsv)

Следующая команда возвращает метрики потребления ЦП:

az monitor metrics list --resource $CONTAINER_GROUP --metric CPUUsage --output table
Timestamp            Name       Average
-------------------  ---------  ---------
2020-12-17 23:34:00  CPU Usage
. . .
2020-12-18 00:25:00  CPU Usage
2020-12-18 00:26:00  CPU Usage  0.4
2020-12-18 00:27:00  CPU Usage  0.0

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

az monitor metrics list --resource $CONTAINER_GROUP --metric MemoryUsage --output table
Timestamp            Name          Average
-------------------  ------------  ----------
2019-04-23 22:59:00  Memory Usage
2019-04-23 23:00:00  Memory Usage
2019-04-23 23:01:00  Memory Usage  0.0
2019-04-23 23:02:00  Memory Usage  8859648.0
2019-04-23 23:03:00  Memory Usage  9181184.0
2019-04-23 23:04:00  Memory Usage  9580544.0
2019-04-23 23:05:00  Memory Usage  10280960.0
2019-04-23 23:06:00  Memory Usage  7815168.0
2019-04-23 23:07:00  Memory Usage  7739392.0
2019-04-23 23:08:00  Memory Usage  8212480.0
2019-04-23 23:09:00  Memory Usage  8159232.0
2019-04-23 23:10:00  Memory Usage  8093696.0

В группе с несколькими контейнерами можно добавить измерение containerName, чтобы получить метрики по отдельным контейнерам.

az monitor metrics list --resource $CONTAINER_GROUP --metric MemoryUsage --dimension containerName --output table
Timestamp            Name          Containername             Average
-------------------  ------------  --------------------  -----------
2019-04-23 22:59:00  Memory Usage  aci-tutorial-app
2019-04-23 23:00:00  Memory Usage  aci-tutorial-app
2019-04-23 23:01:00  Memory Usage  aci-tutorial-app      0.0
2019-04-23 23:02:00  Memory Usage  aci-tutorial-app      16834560.0
2019-04-23 23:03:00  Memory Usage  aci-tutorial-app      17534976.0
2019-04-23 23:04:00  Memory Usage  aci-tutorial-app      18329600.0
2019-04-23 23:05:00  Memory Usage  aci-tutorial-app      19742720.0
2019-04-23 23:06:00  Memory Usage  aci-tutorial-app      14786560.0
2019-04-23 23:07:00  Memory Usage  aci-tutorial-app      14651392.0
2019-04-23 23:08:00  Memory Usage  aci-tutorial-app      15470592.0
2019-04-23 23:09:00  Memory Usage  aci-tutorial-app      15450112.0
2019-04-23 23:10:00  Memory Usage  aci-tutorial-app      15339520.0
2019-04-23 22:59:00  Memory Usage  aci-tutorial-sidecar
2019-04-23 23:00:00  Memory Usage  aci-tutorial-sidecar
2019-04-23 23:01:00  Memory Usage  aci-tutorial-sidecar  0.0
2019-04-23 23:02:00  Memory Usage  aci-tutorial-sidecar  884736.0
2019-04-23 23:03:00  Memory Usage  aci-tutorial-sidecar  827392.0
2019-04-23 23:04:00  Memory Usage  aci-tutorial-sidecar  831488.0
2019-04-23 23:05:00  Memory Usage  aci-tutorial-sidecar  819200.0
2019-04-23 23:06:00  Memory Usage  aci-tutorial-sidecar  843776.0
2019-04-23 23:07:00  Memory Usage  aci-tutorial-sidecar  827392.0
2019-04-23 23:08:00  Memory Usage  aci-tutorial-sidecar  954368.0
2019-04-23 23:09:00  Memory Usage  aci-tutorial-sidecar  868352.0
2019-04-23 23:10:00  Memory Usage  aci-tutorial-sidecar  847872.0

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

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

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

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

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

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

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

Журнал действий 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.

Анализ журналов Экземпляры контейнеров

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

Подробные сведения и инструкции по запросу журналов см. в разделе "Группа контейнеров" и ведение журнала экземпляров с помощью журналов Azure Monitor. Схемы таблиц журналов Azure Monitor для Экземпляры контейнеров см. в таблицах журналов Azure Monitor.

Запросы Kusto

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

Внимание

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

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

В следующих примерах запросов используются устаревшие таблицы журналов Log Analytics. Базовая структура запроса — исходная таблица ContainerInstanceLog_CL или ContainerEvent_CLряд операторов, разделенных символом канала (|). Вы можете объединить несколько операторов в цепочку, чтобы получить более точные результаты или применить более сложные функции.

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

Чтобы просмотреть пример результатов запроса, вставьте следующий текст в поле запроса и нажмите кнопку Запустить, чтобы выполнить этот запрос. Этот запрос отображает все записи журнала, у которых поле Message (Сообщение) которого содержит слово warn (Предупреждение):

ContainerInstanceLog_CL
| where Message contains "warn"

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

ContainerInstanceLog_CL
| where (ContainerGroup_s == "mycontainergroup001")
| where (TimeGenerated > ago(1h))

видны узлы

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

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

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

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

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

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

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

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

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

Примечание.

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

правила генерации оповещений Экземпляры контейнеров

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

Тип оповещения Условие Description
Метрики Использование виртуальных ЦП, использование памяти или использование сетевых входных данных и выходных данных, превышающее определенное пороговое значение. В зависимости от функции контейнера установка оповещения о превышении ожидаемого порогового значения метрики может оказаться полезной.
Журналы действий Экземпляры контейнеров операции, такие как создание, обновление и удаление См. справочник по данным мониторинга Экземпляры контейнеров для списка действий, которые можно отслеживать.
Оповещения журнала в Azure Monitor stdout и stderr выходные данные в журналах Используйте пользовательский поиск по журналам, чтобы задать оповещения для определенных выходных данных, отображаемых в журналах.

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

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

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