Есть ли решение, подобное Google Analytics, для отслеживания вызовов REST в веб-службе?
Просто интересно, есть ли какое-либо из готового решения для этого, я не слишком хорошо разбираюсь в аналитике api, может быть, я могу написать несколько простых js, которые обновляют аналитику перед тем, как перейти на мою службу и т.д. - иначе я собираюсь придерживаться старых старых записей хранилища в базе данных.
Любая помощь оценивается!
Ответы
Ответ 1
Кажется, есть несколько решений, хотя они, как правило, связаны с изменением архитектуры API.
Возможно, вы можете использовать одну из каталогов отслеживания на стороне сервера Google Analytics .
Я вижу, что вы используете AppEngine; Я также запускаю API с помощью AppEngine, а недавно играл с использованием Google Analytics Library для App Engine. Это не идеальное решение, но есть приличное количество качественных данных.
Следует помнить, что моделирование данных Google Analytics действительно не соответствует аналогам API; в зависимости от вашего API, понятие "посещение" несколько бессмысленно.
Ответ 2
Я думаю, что Keen IO будет здесь отлично подходит. Это платформа для анализа только для API (это означает, что вы оба отправляете данные и потребляете анализ через REST API).
Полное раскрытие информации: Я генеральный директор. Я не пишу этот ответ для самообучения, но, честно говоря, наш продукт был специально создан для использования таких случаев, как ваш.
Несколько пользователей Keen IO - это компании API, которые используют его для анализа информации о том, как их пользователи используют свои API.
Рискуя быть слишком мета: мы используем KII IO API для сбора событий и анализа того, как наши клиенты используют Keen IO API извне, и, к примеру, наша модель данных с двумя событиями выглядит что-то вроде этого: *
- analysis_call
- запрос (объект)
- client_library_version (строка)
- API_версия (число)
- query_parameters (объект с ключом)
- post_parameters (объект с ключом)
- origin_ip (ip-адрес)
- URI (строка)
- num_events (integer)
- includes_geolocation (boolean)
- user_agent (строка)
- ответ (объект)
- HTTP_code (число)
- латентность (число)
- заголовки (объект)
- body (объект: фактический полный объект ответа JSON, если он меньше 1K)
- events_added_call
- client_library_version (строка)
- API_версия (число)
- origin_ip (ip-адрес)
- запрос (объект)
- response (object: фактический полный объект ответа JSON)
* На самом деле мы используем гораздо больше свойств, чем это, я убрал их, чтобы сделать это более понятным.
Ответ 3
Ну, вы можете использовать... google analytics
На сервере, в функции обработчика REST API, сделайте запрос GET HTTP на http://www.google-analytics.com/__utm.gif с правильными параметрами, сделанный. Предпочтительно асинхронно.
https://developers.google.com/analytics/resources/concepts/gaConceptsTrackingOverview
Ответ 4
Вы можете сделать это сейчас с помощью GA, используя новый Протокол измерений, который в настоящее время находится в открытом бета-версии.
Ответ 5
Я думаю, что вы ищете нечто вроде apigee: http://apigee.com
Ответ 6
Какую информацию вы ищете конкретно? Возможно, вы сможете получить то, что вам нужно, из журналов доступа к http.
Ответ 7
Я не думаю, что Google Analytics может отслеживать вызовы отдыха, потому что она активируется фрагментом JavaScript, который вы вставляете в свой HTML.
Чтобы просмотреть журналы, вы можете перейти в консоль appengine, выбрать свое приложение и выберите "Журналы" .
Чтобы программно использовать ваши журналы, вы должны их загрузить (Java, Python), но кажется, что до сих пор вы не можете сделать это в своем движке приложения, поэтому вы должны делать это либо на своей рабочей станции, либо, возможно, на Amazon EC2 (возможно, микро).
С другой стороны, если вы решили хранить записи в DataStore, сделайте обновление в очереди задач, чтобы не замедлить работу вашего API (Очереди задач с Java, Очереди задач с Python).
Ответ 8
Я думаю, что это решение может быть действительно хорошим выбором, если вы заинтересованы в специфическом отслеживании вызовов REST: http://apianalytics.com
Похоже, у него есть все, что вам нужно. Немного напоминает Mixpanel API.
Отказ от ответственности: мой хороший друг построил этот