API RESTful и Google Analytics

Я запускаю RESTful API с Python (Flask).

Я хочу отслеживать:

  • какие запросы были сделаны
  • когда произошли эти запросы
  • сколько времени потребовалось, чтобы отправить ответ

Я хочу использовать Google Analytics для этого, потому что это хорошая панель инструментов и расширенные функции.

Мой вопрос

Как я могу внедрить Google Analytics в REST API? Или кто-нибудь знает другой инструмент/библиотеку, которая может быть реализована?

Это то, что я нашел в данный момент:

Ответ 1

Фактически существует два способа отправки серверных данных в Google Analytics. Стандартный метод - это API запросов изображений GIF, который является тем же API, который ga.js использует на стороне клиента. Google приступила к разработке нового REST API, известного как протокол измерения, но это только в предварительном просмотре разработчика.

Серверная сторона GA

Есть несколько проблем, которые нужно выполнить при попытке отправить серверные данные в GA.

Как отмечалось выше, @mehaase, API-интерфейс gif принимает ip-адрес из запроса, поэтому все ваши запросы на стороне сервера будут отображаться как пользователи, исходящие из местоположения ваших серверов. Протокол измерения также не позволяет вам изменять запрос ip. Я возьму на себя общедоступный API gif в этом ответе.

Другая проблема заключается в том, что для конечной точки gif требуется файл cookie на стороне клиента. Вы можете подделывать этот файл cookie по каждому запросу, но это приведет к тому, что каждое событие будет выглядеть как новый посетитель. Это прекрасно, если вы сохраняете API-интерфейс на стороне сервера и веб-сайт в отдельных профилях Google Analytics.

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

Здесь разбиение того, что каждая переменная в файле cookie GA означает, и хороший node.js пример отправки серверных данных в GA.

Другие параметры отслеживания событий

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

API обычно выглядит следующим образом:

analytics.track('API Response', {
    method  : 'POST',
    endpoint: '/comments'
    duration: 124
    status  : 500
});

И позволяет вам видеть отчеты о частотах и ​​распределениях каждого события и свойства события. Вы можете ответить на такие вопросы, как: сколько/комментариев API-вызовов произошло сегодня? Сколько было 200? Сколько было ответа более 200 мс? и др.

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

Я являюсь соучредителем Segment.io, компании, которая предоставляет простой API для клиентской, серверной и мобильная аналитика. Мы позволяем вам отправлять данные из python, php, ruby, node, java,.net, javascript и iOS, и мы отправим их в Google Analytics, Mixpanel, KissMetrics, Keen.IO или любой другой из наших поддерживаемых услуг без необходимости изучения их API.

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