Руководство по Мониторинг опубликованных API-интерфейсов

С помощью Azure Monitor можно визуализировать, запрашивать, маршрутизировать, архивировать метрики или журналы, полученные от службы "Управление API Azure", а также реагировать на них.

В этом руководстве описано следующее:

  • просмотр метрик API;
  • настройка правила оповещения;
  • Просмотр журналов действий
  • включение и просмотр журналов ресурсов.

Кроме того, с помощью встроенной в службу "Управление API" аналитики можно отслеживать использование и производительность API-интерфейсов.

Предварительные требования

Доступность

Важно!

Эта функция доступна в ценовых категориях Премиум, Стандартный, Базовый и Разработка службы "Управление API".

Просмотр метрик API

Служба "Управление API" каждую минуту передает метрики, позволяя отслеживать состояние и работоспособность API-интерфейсов практически в реальном времени. Ниже приведены две самые часто используемые метрики. Список всех доступных метрик см. в разделе со списком поддерживаемых метрик.

  • Емкость. Позволяет принимать решения о необходимости повышения или понижения уровня служб Управления API. Метрика отправляется каждую минуту и отражает емкость шлюза в момент создания отчета. Значение метрики колеблется в диапазоне от 0 до 100. Оно вычисляется на основе ресурсов шлюза, таких как загрузка центрального процессора и использование памяти.
  • Запросы. Помогает анализировать трафик API, проходящий через службы Управления API. Метрика отправляется каждую минуту и сообщает о количестве запросов к шлюзу с включением таких измерений, как коды ответа, расположение, имя узла и ошибки.

Важно!

Следующие метрики не поддерживаются с мая 2019 г. и будут удалены в августе 2023 г.: Total Gateway Requests (общее количество запросов к шлюзу), Successful Gateway Requests (количество выполненных запросов к шлюзу), Unauthorized Gateway Requests (количество неавторизованных запросов к шлюзу), Failed Gateway Requests (количество неудачных запросов к шлюзу), Other Gateway Requests (количество других запросов к шлюзу). Используйте метрику Requests, которая имеет аналогичную функциональность.

Снимок экрана: метрики на странице обзора службы "Управление API"

Для доступа к метрике сделайте следующее:

  1. Перейдите к экземпляру Управления API на портале Azure. На странице Обзор просмотрите основные метрики для API-интерфейсов.

  2. Чтобы подробно изучить метрики, в меню внизу страницы выберите Метрики.

    Снимок экрана: элемент "Метрики" в меню "Мониторинг"

  3. В раскрывающемся списке выберите метрики, которые вас интересуют. Например, Requests.

  4. Просмотрите диаграмму с общим числом вызовов API.

  5. Диаграмму можно отфильтровать с помощью измерений метрики запросов. Например, выберите Добавить фильтр, а затем — Backend Response Code (Категория кода отклика серверной части) и введите 500 в качестве значения. Теперь на диаграмме показано количество запросов, завершившихся сбоем в серверной части API.

Настройка правила оповещения

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

  • Отправка уведомления по электронной почте.
  • Вызов webhook.
  • Вызов приложения логики Azure.

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

  1. Перейдите к экземпляру Управления API на портале Azure.

  2. В меню внизу страницы выберите пункт Оповещения.

    Снимок экрана: параметр "Оповещения" в меню "Мониторинг"

  3. Выберите + Новое правило генерации оповещений.

  4. В окне Создать правило генерации оповещений щелкните Выбрать условие.

  5. В окне Настройка логики сигналов выполните следующие действия:

    1. Выберите Метрики для параметра Тип сигнала.
    2. Выберите Запросы для параметра Имя сигнала.
    3. В разделе Split by dimensions (Разделение по измерениям) в поле Имя измерения выберите Gateway Response Code Category (Категория кода отклика шлюза).
    4. В поле Значения измерения для таких ошибок клиента, как неавторизованные или недопустимые запросы, выберите значение 4xx.
    5. В разделе Логика оповещений укажите пороговое значение, после которого будет активироваться оповещение, и нажмите кнопку Готово.

    Снимок экрана окон настройки логики сигналов

  6. Создайте группу действий или выберите имеющуюся. В следующем примере создается группа действий. Пользователю admin@contoso.com будет отправлено электронное письмо с уведомлением.

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

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

  8. Выберите Создать правило генерации оповещений.

  9. Теперь проверьте правило генерации оповещений, вызвав Conference API без ключа API. Пример:

    curl GET https://apim-hello-world.azure-api.net/conference/speakers HTTP/1.1 
    

    По результатам ознакомительного периода будет активировано оповещение и отправлено сообщение электронной почты по адресу admin@contoso.com.

    Кроме того, оповещения отображаются на странице Оповещения для экземпляра Управления API.

    Снимок экрана оповещений на портале

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

Журналы действий позволяют подробно проанализировать операции, выполненные в службах управления API. С помощью журналов изменений можно ответить на вопросы "что? кто? когда?" о любой операции записи (PUT, POST, DELETE) в службах управления API.

Примечание

Журналы действий не содержат операций чтения (GET) и операций, выполненных на портале Azure или с помощью исходных API управления.

Вы можете получить доступ к журналам действий в службе управления API или получить доступ к журналам всех ресурсов Azure в Azure Monitor.

Снимок экрана журнала действий на портале

Для просмотра журнала действий выполните следующие действия:

  1. Перейдите к экземпляру Управления API на портале Azure.

  2. Выберите Журнал действий.

    Снимок экрана: элемент "Журнал действий" в меню "Мониторинг"

  3. Выберите требуемую область фильтрации и щелкните Применить.

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

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

Чтобы настроить журналы ресурсов, выполните приведенные ниже действия.

  1. Перейдите к экземпляру Управления API на портале Azure.

  2. Выберите Параметры диагностики.

    Снимок экрана: элемент "Параметры диагностики" в меню "Мониторинг"

  3. Щелкните команду Добавить параметр диагностики.

  4. Выберите журналы или метрики для сбора.

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

Дополнительные сведения см. в статье Создание параметров диагностики для отправки журналов платформы и метрик в различные места назначения.

Просмотр диагностических данных в Azure Monitor

Если включить сбор GatewayLogs или метрик в рабочей области Log Analytics, то для отображения данных в Azure Monitor может потребоваться несколько минут. Для просмотра данных выполните следующие действия:

  1. Перейдите к экземпляру Управления API на портале Azure.

  2. В меню внизу страницы выберите пункт Журналы.

    Снимок экрана: элемент "Журналы" в меню "Мониторинг"

Выполните запросы, чтобы просмотреть данные. Вы можете воспользоваться предоставленными примерами запросов или выполнить собственный запрос. Например, следующий запрос получает данные из таблицы GatewayLogs за последние 24 часа:

ApiManagementGatewayLogs
| where TimeGenerated > ago(1d) 

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

Следующий код JSON указывает пример записи в GatewayLogs для успешного запроса API. Дополнительные сведения см. в справочнике по схеме.

{
    "Level": 4,
    "isRequestSuccess": true,
    "time": "2020-10-14T17:xx:xx.xx",
    "operationName": "Microsoft.ApiManagement/GatewayLogs",
    "category": "GatewayLogs",
    "durationMs": 152,
    "callerIpAddress": "xx.xx.xxx.xx",
    "correlationId": "3f06647e-xxxx-xxxx-xxxx-530eb9f15261",
    "location": "East US",
    "properties": {
        "method": "GET",
        "url": "https://apim-hello-world.azure-api.net/conference/speakers",
        "backendResponseCode": 200,
        "responseCode": 200,
        "responseSize": 41583,
        "cache": "none",
        "backendTime": 87,
        "requestSize": 526,
        "apiId": "demo-conference-api",
        "operationId": "GetSpeakers",
        "apimSubscriptionId": "master",
        "clientTime": 65,
        "clientProtocol": "HTTP/1.1",
        "backendProtocol": "HTTP/1.1",
        "apiRevision": "1",
        "clientTlsVersion": "1.2",
        "backendMethod": "GET",
        "backendUrl": "https://conferenceapi.azurewebsites.net/speakers"
    },
    "resourceId": "/SUBSCRIPTIONS/<subscription ID>/RESOURCEGROUPS/<resource group>/PROVIDERS/MICROSOFT.APIMANAGEMENT/SERVICE/APIM-HELLO-WORLD"
}

Дальнейшие действия

В этом руководстве вы узнали, как выполнять следующие задачи:

  • просмотр метрик API;
  • настройка правила оповещения;
  • Просмотр журналов действий
  • включение и просмотр журналов ресурсов.

Перейдите к следующему руководству: