Вы просматриваете документацию по 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, а разработчикам приложений – улучшать приложения.
- Команда 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 месяцев.
Как получить доступ к данным аналитики?
Edge API Analytics предоставляет инструменты визуализации данных, встроенные в интерфейс Edge. Эти инструменты включают в себя готовые панели управления аналитикой и специальные отчеты, в которых данные представлены в виде графиков и диаграмм. Вы можете детализировать данные, сгруппированные по различным параметрам (например, по прокси-серверу API, IP-адресу или коду статуса HTTP).
Кроме того, вы можете скачать данные аналитики с помощью Edge Management API. После скачивания вы можете импортировать эти данные в свои инструменты визуализации данных или аналитическую систему.
Сводки Аналитики
В интерфейсе Edge есть набор стандартных информационных панелей, на которых можно просматривать аналитические данные. Например, на изображении ниже показана сводка Эффективность прокси:
На этой панели представлены диаграммы для следующих показателей:
- Общий трафик – общее количество запросов API, полученных Edge для среды API в организации.
- Успешные запросы – общее количество запросов, на которые был получен успешный ответ. Ответы с ошибками не учитываются.
- Ошибки трафика – общее количество неудачных запросов к API, то есть запросов, на которые не был получен ответ. В это число входят ошибки прокси (на стороне Apigee) и ошибки целевых сервисов (на стороне внутренних сервисов).
- Среднее количество транзакций в секунду. Среднее количество запросов к API и ответов на них в секунду.
Дополнительные стандартные сводки:
- Эффективность кеша
- Взаимодействие с разработчиками
- Использование устройств
- Анализ кода ошибки
- GeoMap
- Анализ задержки
- Целевая эффективность
- Состав трафика
Подробнее об использовании панелей аналитики…
Специальные отчеты
Специальные отчеты позволяют изучать определенные показатели 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.
Разработчики приложений не только заботятся о качестве своих продуктов, но и очень заинтересованы в ваших API. Порталы разработчиков на основе Drupal включают необязательную страницу Эффективность приложений, на которой разработчики могут просматривать важные показатели своих приложений. На этой странице разработчики найдут информацию о следующем:
- Ошибки. Какие ошибки API возникают в моем приложении?
- Производительность. Сейчас API работает медленно? Какие методы API обычно работают медленно или работают медленно в данный момент?
- Доступность. Работает ли API сейчас?
- Квота. Есть ли у вашего API квота? Как разработчик приложения, я хочу знать, сколько у меня осталось запросов до достижения квоты.
Дополнительная информация приведена в следующих статьях:
- Drupal 7: Как посмотреть статистику использования приложения
- Drupal 8: Мониторинг приложений
- Встроенный портал: недоступен.
Вы также можете предоставить разработчикам доступ к статистике, выполнив следующие действия:
- создавать специальные отчеты и делиться ими с разработчиками приложений; Подробнее о том, как создавать специальные отчеты…
- Использование Edge Management API для сбора данных за более длительный период времени, чтобы передавать их разработчикам приложений офлайн. Подробнее о том, как использовать API показателей для оценки эффективности программы API…
Как получить полные аналитические данные?
Что мы подразумеваем под полной аналитикой? Например, вы можете создать прокси-сервер API, и Edge будет собирать данные аналитики об этом прокси-сервере. А как насчет показателей для разработчика или приложения, которые вызвали прокси-сервер API? Если Edge не знает, кто выполнил вызов API, он не сможет собрать эти данные.
Чтобы Edge мог определять, какие разработчики и приложения разработчиков вызывают прокси API, необходимо выполнить несколько действий. Ниже приведен список этих шагов со ссылками на более подробную информацию.
- Создайте один или несколько продуктов API, которые представляют собой группы прокси API вместе с тарифным планом. Подробнее о том, как управлять продуктами API…
- Зарегистрируйте разработчиков приложений в Edge. Подробнее о том, как зарегистрировать разработчиков приложений…
- Зарегистрируйте приложения и создайте ключи API для разработчиков. Подробнее о том, как регистрировать приложения и управлять ключами API…
- Добавьте в прокси API правила безопасности, которые проверяют ключи API и/или токены безопасности. Ознакомьтесь со следующими темами:Правила в отношении проверки ключа API, Правила в отношении OAuthV2 и Правила в отношении проверки токена JWT.
- Если вы используете 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.