WSO2: протоколирование APIM - PullRequest
0 голосов
/ 15 марта 2019

У меня есть настройки APIM (2.5.0) и Analytics. У меня есть несколько пользователей и несколько API, созданных пользователем. Например, один из пользователей подключил один из бесплатных API, который предоставляет информацию о погоде. Другой пользователь подписался на него из магазина и начал его потреблять. В итоге пользователь получил около 20 обращений к API погоды.

Но, среди этих 20 попаданий, 2 попадания не получили никакого результата из URL API погоды (URL, который мы настраиваем в Производстве и URL-адрес изолированной программной среды издателя), поскольку соединение было разорвано, но поскольку APIM работал и позволял для пользователя, ведение журнала продолжалось и произвело 20 обращений для пользователя, но технически это должно быть только 18 обращений (так как 2 попадания не были завершены).

Как преодолеть этот случай, когда API-интерфейсы являются внешними, и они встроены в APIM WSO2 (с использованием swagger или созданного вручную), и ведение журнала ведется так, чтобы TOTAL_REQUEST_COUNT получалось таким же, как положительные совпадения / ответ.

Любая информация по этой теме будет полезна.

Спасибо

1 Ответ

0 голосов
/ 15 марта 2019

Если вы поддерживаете TOTAL_REQUEST_COUNT, это означает, что вы получаете запрос, который 20, и это правильно. Должен быть другой параметр, который вы должны иметь, который будет TOTAL_RESPONSE_COUNT, он будет поддерживать количество ответов. Так что вы узнаете, сколько запросов поступило и сколько ответили. Также, если вы хотите увидеть количество успешных ответов, используйте что-нибудь `TOTAL_SUCCESS_RESPONSE_COUNT.

Если у вас есть бэкэнд-сервисы в tomcat, всегда следите за тем, чтобы количество потоков в WSO2 всегда было больше, чем количество потоков в tomcat. Потоки WSO2 можно настроить в <WSO2AM_HOME>/repository/conf/nhttp.properties. Посмотрите на последние пару строк в этом файле.

Кроме того, вы можете изменить политику повторных попыток, внеся изменения в издатель API :9443/publisher, отредактировав существующий API.

...