API Manager Analytics - PullRequest
       10

API Manager Analytics

1 голос
/ 03 мая 2019

Мы работаем над решением, построенным на основе WSO2 APIM.

Постановка задачи:

Мы хотим добавить пользовательские возможности в существующие APIM.Прямо сейчас, если мы используем одну конечную точку API, это дает нам значимую статистику, некоторые из них:

  • API использования API
  • Использование API на приложение
  • Топ пользователей наПриложение
  • Использование ресурсов на приложение

Но нам нужно сохранить некоторые / все входящие данные запроса в базу данных и извлечь значимую информацию с течением времени.

Пример:

Предположим, у нас есть конечная точка API, как показано ниже:

HTTP-глагол: POST

URL: http://localhost:9444/subscriptions/1/create_subscription

Params: name:sample_name, type:sample_type, user_id:12345

Что мы хотим?

  • Это может быть WSO2, OpenAM или любой другой менеджер API с открытым исходным кодом.
  • Нам нужнодля хранения значений параметров, например, sample_name, sample_type и user_id в базе данных.

Наблюдения?

  • Похоже WSO Stream Processor может предоставить эту функциональность.Так как есть решение для HTTP Analytics .Но мы не уверены, что продолжим эту опцию.
  • Другим возможным кандидатом является Расширение API Manager .Но документы не имеют ничего, чтобы нацелить то, что мы хотели сделать.
  • Я не уверен, но мы можем использовать RequestInterceptor ?

У любого есть опытс такой проблемой, пожалуйста, дайте мне знать.

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

Здесь необходимо решить две проблемы: 1. Собрать необходимые данные со стороны APIM 2. Опубликовать на Analytics Server 3. Выполнить аналитику по полученным событиям

Как вы заметили, WSO2 SP может бытьиспользуется для 3.

Для 1 & 2 см. блог (https://medium.com/@naduni_pamudika/how-to-publish-custom-attributes-from-wso2-api-manager-to-wso2-analytics-38dd83e8aea2) для расширения издателей для сбора и публикации дополнительных данных.

0 голосов
/ 08 мая 2019

Вы также можете взглянуть на OpenIG , его легко расширить, и вы можете реализовать свой собственный фильтр для хранения данных запроса в базе данных.Другой подход заключается в разработке собственного шлюза на основе Netflix Zuul или Spring Cloud Gateway

...