Часть 1. Принцип работы WSO2 API-M Analytics Server. Отправка данных.

В этом блоге хотел бы рассказать о том как происходит сбор и обработка аналитических данных по работе продукта WSO2 API Manager. В данном продукте, кроме прочих его достоинств, описанных ранее, происходит сбор и отображение аналитической информации. В отличие от WSO2 Enterprise Integrator, в составе этого продукта нет встроенного профиля аналитики и нужно скачивать и устанавливать его отдельно. О том как это сделать можно почитать тут - https://docs.wso2.com/display/AM260/Configuring+APIM+Analytics. В самом начале страницы говорится то, что WSO2 API-M Analytics является дистрибуцией WSO2 Stream Processor. Ниже привожу пошаговое объяснение как происходит отправка данных из WSO2 API Manager в WSO2 API-M Analytics.

  • На первом шаге мы заглянем в файл настроек API-M:

https://github.com/wso2/carbon-apimgt/blob/6.x/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/config/api-manager.xml, где внутри тега <Analytics> мы найдём много полезной информации. 

<StreamProcessorServerURL>{tcp://localhost:7622}</StreamProcessorServerURL>
<!--StreamProcessorAuthServerURL>{ssl://localhost:7722}</StreamProcessorAuthServerURL-->
<!-- Administrator username to login to the remote StreamProcessor server. -->
<StreamProcessorUsername>${admin.username}</StreamProcessorUsername>
<!-- Administrator password to login to the remote StreamProcessor server. -->
<StreamProcessorPassword>${admin.password}</StreamProcessorPassword>

, которые находятся в файле api-manager.xml. Порты можно подсмотреть в логах сервера аналитики:

Также, в настройках api-manager.xml находятся имена и версии потоков, куда эти данные будут опубликованы на сервер аналитики. Например, для всех запросов публикация будет идти в поток со следующими именем и версией:

           <Request>
                <Name>org.wso2.apimgt.statistics.request</Name>
                <Version>3.0.0</Version>
            </Request>

В этом блоге я подробно расписал логику отправки и обработки аналитических данных. В следующем расскажу о том, каким образом эти данные получает WSO2 API-M.

27.02.2019