Обзор API Аналитики

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

В этом разделе рассказывается об Edge API Analytics.

Видео. Посмотрите короткое видео с обзором сервисов Edge API Analytics.

Как улучшить API с помощью аналитики

Edge API Analytics собирает и рассчитывает большой объем информации, передаваемой через прокси API. Эти данные можно визуализировать с помощью графиков и диаграмм в интерфейсе Edge или скачать в виде необработанных данных для офлайн-анализа с помощью API управления Edge.

Аналитика помогает отвечать на распространенные вопросы, например:

  • Как меняется трафик API с течением времени?
  • Какие методы API наиболее популярны?
  • Кто мои лучшие разработчики?
  • Когда время ответа API самое быстрое? Самая низкая?
  • В каких регионах наблюдается наибольший трафик API?

Ответы на эти и другие вопросы помогут вам улучшить API, устранить неполадки и принимать более обоснованные бизнес-решения, связанные с вашей программой API.

API Аналитики помогает всем

Постоянно собирая, анализируя и визуализируя данные, Edge API Analytics помогает команде API улучшать API, а разработчикам приложений – улучшать приложения.

alt_text
  • Команда API использует внутренние системы для создания интересных API. Команда API хочет знать, как работает программа API в целом, как работают отдельные API и как их можно улучшить.
  • Разработчики приложений. Если вы поделитесь информацией с разработчиками приложений, они смогут улучшить свои продукты. Эти разработчики используют ваш API и создают креативные приложения, которые помогают вашей компании получать доход. Аналитика помогает разработчикам приложений понять, насколько они эффективны и какой вклад вносят в прибыль вашей компании. Разработчики приложений хотят знать, как улучшить свои продукты.
  • Команда по операциям. Операционная команда хочет понимать закономерности трафика и знать, когда нужно добавить ресурсы бэкэнда или внести другие важные изменения.
  • Владелец компании. Владелец компании хочет узнать, насколько эффективны инвестиции в API и куда стоит вкладывать средства в будущем.

Какие данные собираются и анализируются?

Edge API Analytics собирает и анализирует широкий спектр данных, передаваемых через прокси API, например:

  • Время отклика
  • Задержка при запросе
  • Размер запроса
  • Ошибки целевых значений
  • Название продукта API
  • Адрес электронной почты разработчика
  • Название приложения
  • Многие другие

Полный список данных, собираемых API Аналитики, приведен в Справочнике по показателям, параметрам и фильтрам Аналитики.

Как собирать собственные аналитические данные?

Edge изначально собирает много данных. Вам также может понадобиться собирать собственные данные аналитики, относящиеся к прокси API, приложениям, продуктам или разработчикам. Например, вы можете собирать данные аналитики из параметров запроса, заголовков запроса, текста запроса и ответа или переменных, которые вы определяете в своих API.

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

Различия между данными Аналитики и данными мониторинга API

В этом разделе описаны некоторые незначительные различия между данными, собранными с помощью Edge Analytics и API Monitoring. Поскольку API Monitoring и Analytics используют разные каналы передачи данных, в специальных отчетах, созданных в Monitoring, и отчетах, созданных в Analytics, могут быть небольшие различия. Например, вы можете заметить расхождения в данных об ошибках времени ожидания: как на стороне сервера (код статуса HTTP 504 в запросе), так и на стороне клиента (код статуса HTTP 499). В специальных отчетах Аналитики они могут иметь код статуса 200, а в специальных отчетах мониторинга – 504 или 499.

Когда и как долго доступны мои аналитические данные?

Существует два временных интервала, которые определяют, когда и как долго вы можете просматривать данные аналитики:

  • Интервал задержки данных. После вызова прокси-сервера API может пройти до 10 минут, прежде чем данные станут доступны для показа или через вызовы Management API.
  • Хранение данных. Срок хранения данных Аналитики зависит от вашего тарифного плана:
    • Стандартный: 30 дней.
    • Enterprise: 3 месяца
    • Enterprise Plus – 14 месяцев.
    Подробную информацию можно найти в статье Цены на Apigee API Management.

Как получить доступ к данным аналитики?

Edge API Analytics предоставляет инструменты визуализации данных, встроенные в интерфейс Edge. Эти инструменты включают в себя готовые панели управления аналитикой и специальные отчеты, в которых данные представлены в виде графиков и диаграмм. Вы можете детализировать данные, сгруппированные по различным параметрам (например, по прокси-серверу API, IP-адресу или коду статуса HTTP).

Кроме того, вы можете скачать данные аналитики с помощью Edge Management API. После скачивания вы можете импортировать эти данные в свои инструменты визуализации данных или аналитическую систему.

Сводки Аналитики

В интерфейсе Edge есть набор стандартных информационных панелей, на которых можно просматривать аналитические данные. Например, на изображении ниже показана сводка Эффективность прокси:

На этой панели представлены диаграммы для следующих показателей:

  • Общий трафик – общее количество запросов API, полученных Edge для среды API в организации.
  • Успешные запросы – общее количество запросов, на которые был получен успешный ответ. Ответы с ошибками не учитываются.
  • Ошибки трафика – общее количество неудачных запросов к API, то есть запросов, на которые не был получен ответ. В это число входят ошибки прокси (на стороне Apigee) и ошибки целевых сервисов (на стороне внутренних сервисов).
  • Среднее количество транзакций в секунду. Среднее количество запросов к API и ответов на них в секунду.

Дополнительные стандартные сводки:

Подробнее об использовании панелей аналитики…

Специальные отчеты

Специальные отчеты позволяют изучать определенные показатели API и просматривать именно те данные, которые вам нужны. Вы можете создать специальный отчет, используя любые данные аналитики, встроенные в Edge, или специальные данные аналитики, собранные с помощью правила StatisticsCollector.

При создании специального отчета вы выбираете данные, которые хотите видеть (показатели), группируете их удобным для вас образом (параметры) и при необходимости ограничиваете возвращаемые данные на основе определенных характеристик (фильтрация).

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

  • Столбец. Каждый прокси-сервер API представлен в отдельном столбце:

    Специальная столбчатая диаграмма

  • Линия. Каждый прокси-сервер API представлен отдельной линией:

    Специальный график

Подробнее о том, как создавать специальные отчеты и управлять ими…

Analytics API

Используйте Edge Management API, чтобы скачать данные аналитики. Например, с помощью API можно создать собственные инструменты визуализации, которые можно встроить в порталы или специальные приложения.

Ниже приведен пример вызова API для получения данных аналитики для прокси API:

curl  https://api.enterprise.apigee.com/v1/o/org_name/environments/test/stats/apiproxy?"select=sum(message_count)&timeRange=6/24/2018%2000:00~6/24/2018%2023:59&timeUnit=hour" \
-u email:password

Этот запрос возвращает:

  • Сумма запросов (количество сообщений) для каждого прокси-сервера API
  • За 24 часа
  • Сгруппировано по часам

Параметр запроса timeRange задает период времени в следующем формате:

?timeRange=MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM

Обратите внимание на %20 до HH:MM. Параметр timeRange требует, чтобы перед HH:MM был символ пробела в кодировке URL или символ +, как в следующем примере:MM/DD/YYYY+HH:MM~MM/DD/YYYY+HH:MM.

Подробнее о том, как использовать API показателей, чтобы оценивать эффективность программы API…

Как экспортировать данные аналитики в Google Cloud

Вы можете использовать API управления Edge, чтобы экспортировать все данные аналитики за день из Edge в собственное хранилище данных, например Google Cloud Storage или BigQuery. Затем вы можете воспользоваться мощными возможностями запросов и машинного обучения, которые предлагают Google Cloud BigQuery и TensorFlow, чтобы выполнить собственный анализ данных.

Подробнее о том, как экспортировать данные из Аналитики…

Как передавать данные разработчикам приложений

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

alt_text

Разработчики приложений не только заботятся о качестве своих продуктов, но и очень заинтересованы в ваших API. Порталы разработчиков на основе Drupal включают необязательную страницу Эффективность приложений, на которой разработчики могут просматривать важные показатели своих приложений. На этой странице разработчики найдут информацию о следующем:

  • Ошибки. Какие ошибки API возникают в моем приложении?
  • Производительность. Сейчас API работает медленно? Какие методы API обычно работают медленно или работают медленно в данный момент?
  • Доступность. Работает ли API сейчас?
  • Квота. Есть ли у вашего API квота? Как разработчик приложения, я хочу знать, сколько у меня осталось запросов до достижения квоты.

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

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

Как получить полные аналитические данные?

Что мы подразумеваем под полной аналитикой? Например, вы можете создать прокси-сервер API, и Edge будет собирать данные аналитики об этом прокси-сервере. А как насчет показателей для разработчика или приложения, которые вызвали прокси-сервер API? Если Edge не знает, кто выполнил вызов API, он не сможет собрать эти данные.

Чтобы Edge мог определять, какие разработчики и приложения разработчиков вызывают прокси API, необходимо выполнить несколько действий. Ниже приведен список этих шагов со ссылками на более подробную информацию.

  1. Создайте один или несколько продуктов API, которые представляют собой группы прокси API вместе с тарифным планом. Подробнее о том, как управлять продуктами API…
  2. Зарегистрируйте разработчиков приложений в Edge. Подробнее о том, как зарегистрировать разработчиков приложений…
  3. Зарегистрируйте приложения и создайте ключи API для разработчиков. Подробнее о том, как регистрировать приложения и управлять ключами API…
  4. Добавьте в прокси API правила безопасности, которые проверяют ключи API и/или токены безопасности. Ознакомьтесь со следующими темами:Правила в отношении проверки ключа API, Правила в отношении OAuthV2 и Правила в отношении проверки токена JWT.
  5. Если вы используете Edge Microgateway, убедитесь, что плагин аналитики включен (по умолчанию он включен). Если плагин аналитики отключен, Edge Microgateway не будет отправлять данные аналитики в Edge Analytics.

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

Сравнение API Analytics и API Monitoring

Вы можете использовать как API Monitoring, так и API Analytics. API Monitoring анализирует данные, чтобы в реальном времени предоставлять контекстную информацию об эффективности API. Это позволяет быстро диагностировать проблемы и принимать меры для обеспечения непрерывности бизнеса. Мониторинг API предназначен для быстрого обнаружения проблем в API и серверных частях. API Аналитики предназначены для сбора широкого спектра аналитических данных, которые могут использоваться разными командами, но обычно эти данные применяются для анализа в нереальном времени.

Одно из основных различий между мониторингом API и аналитикой API – это механизм оповещений, встроенный в мониторинг API. В оповещениях можно указать код статуса HTTP (2xx/4xx/5xx), задержку или код ошибки, при превышении которых команда по эксплуатации получит уведомление. Уведомления об оповещениях можно отправлять по разным каналам, например по электронной почте, в Slack, на пейджеры или через веб-хуки, чтобы вы могли сразу реагировать на проблемы.

Более подробное сравнение этих сервисов приведено в статье Сравнение мониторинга API с аналитикой API Edge.

Дополнительная информация