Мониторьте Службу Azure SignalR

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

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

Примечание.

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

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

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

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

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

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

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

Для Azure Monitor:

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

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

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

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

Журналы службы Azure SignalR хранятся в учетной записи хранения, настроенной в параметрах диагностики. Для хранения журналов ресурсов автоматически создается контейнер insights-logs-alllogs. В контейнере журналы хранятся в файле resourceId=/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/XXXX/PROVIDERS/MICROSOFT.SIGNALRSERVICE/SIGNALR/XXX/y=YYYY/m=MM/d=DD/h=HH/m=00/PT1H.json. В основном путь — это сочетание resource ID и Date Time. Файлы журнала разделены по hour. Таким образом, минуты всегда — m=00.

Все журналы хранятся в формате JSON (нотация объектов JavaScript). Ниже приведен пример строки JSON журнала архивирования.

{
    "properties": {
        "message": "Entered Serverless mode.",
        "type": "ConnectivityLogs",
        "collection": "Connection",
        "connectionId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "userId": "User",
        "transportType": "WebSockets",
        "connectionType": "Client"
    },
    "operationName": "ServerlessModeEntered",
    "category": "AllLogs",
    "level": "Informational",
    "callerIpAddress": "xxx.xxx.xxx.xxx",
    "time": "2019-01-01T00:00:00Z",
    "resourceId": "/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/XXXX/PROVIDERS/MICROSOFT.SIGNALRSERVICE/SIGNALR/XXX",
    "location": "xxxx"
}

Имена полей для назначений хранилища немного отличаются от имен полей для Log Analytics. Дополнительные сведения о сопоставлении имен полей между таблицами Хранилища и Log Analytics см. в разделе "Сопоставление таблиц журнала ресурсов".

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

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

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

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

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

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

Метрики службы Azure SignalR

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

Степень детализации счетчика сообщений

Минимальное разрешение счетчика сообщений составляет 2 КБ исходящего трафика данных. Если клиент отправляет небольшие или редкие сообщения, в общей сложности менее 2 КБ в период выборки, число сообщений равно нулю (0), даже если сообщения были отправлены. Способ проверить небольшое количество или размер сообщений — это использование метрики Исходящий трафик, которое показывает число отправленных байтов.

Системные ошибки и ошибки пользователей

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

Внимание

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

Метрики, подходящие для автомасштабирования

Использование квот подключения и загрузка сервера показывают процент использования или нагрузки по сравнению с текущим выделенным числом единиц. Эти метрики часто используются в правилах автомасштабирования. Например, если текущее выделение составляет одну единицу, а к службе установлено 750 подключений, использование квоты подключения равно 750/1000 = 0,75. Загрузка сервера вычисляется аналогично, используя значения для вычислительной емкости. Дополнительные сведения см. в статье "Автоматическое масштабирование единиц Служба Azure SignalR".

Примечание.

Автомасштабирование — это только функция уровня "Премиум".

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

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

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

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

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

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

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

Категории журналов ресурсов

Журналы ресурсов группируются в группы категорий. Группы категорий — это собрание различных логов, которые помогут вам достичь разных целей мониторинга. Azure SignalR поддерживает журналы подключения, журналы обмена сообщениями и журналы HTTP-запросов.

Журналы подключений

Журналы подключения предоставляют подробные сведения о подключениях концентратора SignalR. Например:

  • Основные сведения, такие как идентификатор пользователя, идентификатор подключения и тип транспорта
  • Сведения о событиях, таких как подключение, отключение и прерывание событий

Поэтому журнал подключений полезен для устранения проблем, связанных с подключением. Общие сведения об устранении неполадок, связанных с подключением, см. в разделе "Проблемы, связанные с подключением".

Журналы обмена сообщениями

Журналы обмена сообщениями предоставляют сведения о трассировке сообщений центра SignalR, полученных и отправленных через службу SignalR, например идентификатор трассировки и тип сообщения. Идентификатор трассировки и тип сообщения также регистрируются на сервере приложений. Обычно сообщение записывается при поступлении или выходе из службы или сервера. Поэтому журналы обмена сообщениями полезны для устранения неполадок, связанных с сообщением. Сведения об устранении неполадок, связанных с сообщением, см. в разделе "Проблемы, связанные с сообщением".

Примечание.

Этот тип журнала создается для каждого сообщения. Если сообщения отправляются часто, журналы обмена сообщениями могут повлиять на производительность службы SignalR. Однако можно выбрать различные варианты сбора, чтобы свести к минимуму влияние на производительность. См . журналы ресурсов, которые собирают поведение.

Журналы HTTP-запросов

Журналы HTTP-запросов предоставляют подробные сведения о HTTP-запросах, полученных Azure SignalR, например код состояния и URL-адрес запроса. Журнал HTTP-запросов полезен для устранения проблем, связанных с запросами.

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

Журналы ресурсов собирают поведение

Существует два типичных сценария использования журналов ресурсов, особенно для журналов обмена сообщениями.

  • Журналы качества сообщений фиксируют, было ли сообщение отправлено или получено успешно, или записывают каждое сообщение, доставленное через службу SignalR.
  • Производительность фиксирует задержку сообщений или отслеживает сообщение в нескольких подключениях вместо всех подключений.

Таким образом, служба SignalR предоставляет два типа поведения сбора:

  • Сбор всех журналов во всех подключениях.
  • Частичный сбор собирает журналы в некоторых определенных подключениях.

Дополнительные сведения о поведении сбора журналов ресурсов и их настройке см. в разделе Поведение сбора журналов ресурсов.

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

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

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

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

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

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

Средства Azure Monitor

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

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

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

Инструменты экспорта Azure Monitor

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

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

Запросы Kusto

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

Внимание

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

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

Например, запросы Kusto для Azure SignalR Service см. в разделе Запросы для таблицы SignalRServiceDiagnosticLogs.

Примечание.

Имена полей запросов для назначений хранилища немного отличаются от имен полей для Log Analytics. Дополнительные сведения о сопоставлении имен полей между таблицами Хранилища и Log Analytics см. в разделе "Сопоставление таблиц журнала ресурсов".

Оповещения

Оповещения 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 SignalR

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

Тип оповещения Условие Описание
Метрики платформы Использование квоты подключений Если максимальное использование квоты подключения превышает динамическое пороговое значение
Метрики платформы Удалите SignalR Если в журнале активности есть событие с категорией 'Administrative', и имя сигнала 'Delete SignalR (SignalR)'

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

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

Для получения дополнительной информации о Azure Advisor см. раздел обзор Azure Advisor.