Нет доступа к статистике - WSO2 API Manager и WSO2 BAM

Я установил этого человека раз только для того, чтобы получить те же проблемы. При нажатии на статистику в издателе / ​​магазине я попадаю в вики, и в углероде я получаю следующие ошибки:

С ПОСЛЕДУЮЩИМ

TID [-1234] [AM] [2014-07-01 15: 42: 26,985] ОШИБКА {JAGGERY.modules.statistics.usage: jag} - java.lang.NullPointerException: null

Кто-нибудь может помочь?

Спасибо,

Пепел.

ОБНОВИТЬ -

После разработки это проблема с API-M, читающим РСУБД (спасибо Nadeesha), я получил этот журнал из консоли API-M после попытки доступа к статистике издателя

Есть несколько способов отладить, что идет не так. Принцип работы интеграции API-M и BAM заключается в следующем:

API -> публиковать статистику в BAM


person Ash    schedule 01.07.2014    source источник


Ответы (2)


BAM хранит статистику в Cassandra.

  1. BAM использует сценарии Hive для анализа данных и записи результатов в СУБД, упомянутую в master-datasources.xml.

  2. Я бы порекомендовал вам проверить номер 2., проверив, публикуется ли статистика в BAM. Вы можете сделать это, войдя в консоль управления BAM, перейдя в раздел Аналитика и добавив следующий скрипт

  3. Выполните этот сценарий и посмотрите, вернулись ли какие-либо данные. Если данные не возвращаются, значит, данные не публикуются правильно из API-M в BAM. Если здесь доступны данные, значит, существует проблема при чтении данных из СУБД в API-M.

Woohoo я исправил проблему! Спасибо Надише за то, что она указала на то, что API-M неправильно считывает данные СУБД (см. Здесь, чтобы проверить это - https://stackoverflow.com/a/24523906/84546)

select * from  APIRequestData;

Затем я обнаружил загадочное сообщение billing-conf.xml not found в журнале консоли WSO2, после небольшого исследования изменил тег внутри репозитория / conf / api-manager.xml с true на false.

person Nadeesha    schedule 02.07.2014
comment
[2014-07-02 10: 26: 03,279] ОШИБКА - Ошибка APIProviderHostObject при вызове APIUsageStatisticsClient для ProviderAPIUsage org.wso2.carbon.apimgt.usage.client.exception.APIMgtUsageQueryServiceClientException: исключение при создании экземпляра основных объектов API или API-интерфейса. .apimgt.usage.client.APIUsageStatisticsClient. (APIUsageStatisticsClient.java:115) по адресу org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject.jsFunction_getFirstAccessTime (APIProviderHostObject.jsFunction_getFirstAccessTime (APIProviderHostObject). sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:57) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.vog: .javascript.MemberBox.invoke (MemberBox.java:126) в org.mozilla.javascript.FunctionObject.call (FunctionObject.java:386) на org.mozilla.javascript.optimizer.OptRuntime.call2 (OptRuntime.java:42) на org.jaggeryjs.rhino.publisher.modules.statistics.c1._c_getFirstAccessTime_14 (/publisher/modules/statistics/usage.jag:382) org.jaggeryjs.rhino.publisher.modules.statistics.c1.call (/publisher/modules/statistics/usage.jag) на org.mozilla.javascript.ScriptRuntime.applyOrCall (ScriptRuntime.java:2430) на org.mozilla.javascript .BaseFunction.execIdCall (BaseFunction.java:269) в org.mozilla.javascript.IdFunctionObject.call (IdFunctionObject.java:97) в org.mozilla.javascript.optimizer.OptRuntime.call2 (OptRuntime.java .:42) jaggeryjs.rhino.publisher.modules.statistics.c0._c_anonymous_14 (/publisher/modules/statistics/module.jag:31) на org.jaggeryjs.rhino.publisher.modules.statistics.c0.call (/ publisher / modules / statistics /module.jag) на org.mozilla.javascript.optimizer.OptRuntime.call1 (OptRuntime.java:32) на org.jagg eryjs.rhino.publisher.site.blocks.stats.api_subscriptions.ajax.c0._c_anonymous_1 (/ publisher / site / blocks / stats / api-subscriptions / aja x / stats.jag: 47) на org.jaggeryjs.rhino.publisher .site.blocks.stats.api_subscriptions.ajax.c0.call (/publisher/site/blocks/stats/api-subscriptions/ajax/stats.ja g) в org.mozilla.javascript.optimizer.OptRuntime.call0 (OptRuntime. java: 23) на org.jaggeryjs.rhino.publisher.site.blocks.stats.api_subscriptions.ajax.c0. _c_script_0 (/ publisher / site / blocks / stats / api-subscriptions / ajax / s tats.jag: 4) на org.jaggeryjs.rhino.publisher.site.blocks.stats.api_subscriptions.ajax.c0.call (/ publisher / site / blocks / stats / api-subscriptions / ajax / stats.ja g) на org.mozilla.javascript.ContextFactory.doTopCall (ContextFactory.java:394) на org.mozilla.javascript.ScriptRuntime.doTopCall (ScriptRuntime.java:3091 ) на org.jaggeryjs.rhino.publisher.site.blocks.stats.api_subscriptions.ajax.c0.call (/publisher/site/blocks/stats/api-subscriptions/ajax/stats.ja g) на org.jaggeryjs.rhino .publisher.site.blocks.stats.api_subscriptions.ajax.c0.exec (/publisher/site/blocks/stats/api-subscriptions/ajax/stats.ja g) в org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript ( RhinoEngine.java:570) на org.jaggeryjs.scriptengine.engine.RhinoEngine.exec (RhinoEngine.java:273) на org.jaggeryjs.jaggery.core.manager.WebAppManager.execute (WebAppManager.java:432) на org.jaggeryjs.jaggery.core.JaggeryServlet.doPost (JaggeryServlet.java:29) на javax.servlet.http.HttpServlet.service (HttpServlet.java:755) на javax.servlet.http.HttpServlet. : 848) на org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:305) на org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210) на org.core.apache. ApplicationDispatcher.invoke (ApplicationDispatcher.java:749) в org.apache.catalina.core.ApplicationDispatcher.processRequest (ApplicationDispatcher.java:487) в org.apache.catalina.core.ApplicationDispatcher.doForward (ApplicationDispatcher) в org.java: .apache.catalina.core.ApplicationDispatcher.forward (ApplicationDispatcher.java:339) в org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter (JaggeryFilter.java:21) в org.apache.catalina.core.ApplicationFilterChain. internalDoFilter (ApplicationFilterChain.java:243) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210) в org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapper.Valve2) .catalina.core.StandardContextValve.invoke (StandardContextValve.java:123) на org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:472) на org.apache.catalina.core. StandardHostValve.invoke (StandardHostValve.java:171) на org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:99) на org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation (CompositeValve.continueInvocation: 178) на org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve $ 1.invoke (CarbonTomcatValve.java:47) на org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke (TenantLazyLoader. wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves (TomcatValveContainer.java:47) на org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke (CompositeValve.java:141) на org. tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke (CarbonStuckThreadDetectionValve.java:156) на org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:936) на org.wsocat2.Creatortext.Carbon.txt. invoke (CarbonContextCreatorValve.java:52) в или g.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:118) в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:407) в org.apache.coyote.http11.AbstractorHttp11.Abstract AbstractHttp11Processor.java:1004) в org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process (AbstractProtocol.java:589) в org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run (NioEndpoint.java:1653) в .util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:615) в java.lang.Threadjavarun (ThreadPoolExecutor.java:615) в java.lang.Threadjavarun: (ThreadPoolExecutor.java:1145) в java.lang.Threadjavarun. автор: java.io.FileNotFoundException: C: \ WSO2AM ~ 1.0 \ bin .. \ repository \ conf \ billing-conf.xml (система не может найти указанный файл) в java.io.FileInputStream.open (собственный метод) в java.io.FileInputStream. (FileInputStream.java:146) в java.io. FileInputStream. (FileInputStream.java:101) в org.wso2.carbon.apimgt.usage.client.APIUsageStatisticsClient. (APIUsageStatisticsClient.java:106) ... еще 62 [2014-07-02 10: 26: 03,404] ОШИБКА - использование: jag java.lang.NullPointerException: null - person Ash; 02.07.2014

Вуаля! Началось работать!

Спасибо,

<!--
        Enable/Disable Usage metering and billing for api usage
     -->
     <EnableBillingAndUsage>**false**</EnableBillingAndUsage>

Пепел.

Привет, @Nadeesha, большое спасибо за это, я установил, что в BAM есть данные, возвращенные из этого запроса. Означает ли это, что мне нужно что-то перенастроить в API-M? Если да, то какие сценарии мне следует пересмотреть? Еще раз спасибо, Эш.

TID [-1234] [AM] [2014-07-01 15: 42: 26,892] ОШИБКА {org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject} - ошибка при вызове APIUsageStatisticsClient для ProviderAPIUsage org.wso2.carbon.apimgt.usage .client.APIUsageStatisticsClient. (APIUsageStatisticsClient.java:115) org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject.jsFunction_getFirstAccessTime (APIProviderHostObject.java:3937) sun. (NativeMethodAccessorImpl.java:57) sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke (Method.java:606) org.mozilla.javascript. : 126) org.mozilla.javascript.FunctionObject.call (FunctionObject.java:386) org.mozilla.javascript.optimizer.OptRuntime.call2 (OptRuntime.java:42) org.jaggeryjs.rhino.publisher.modules.statistics.c1 ._c_getFirstAccessTime_14 (/ publisher / modules / statistics / usage .jag: 382) org.jaggeryjs.rhino.publisher.modules.statistics.c1.call (/publisher/modules/statistics/usage.jag) org.mozilla.javascript.ScriptRuntime.applyOrCall (ScriptRuntime.java:2430) org. mozilla.javascript.BaseFunction.execIdCall (BaseFunction.java:269) org.mozilla.javascript.IdFunctionObject.call (IdFunctionObject.java:97) org.mozilla.javascript.optimizer.OptRuntime.call2 (OptRuntime.call2 (OptRuntime.call2 (OptRuntime. jaggeryjs.rhino.publisher.modules.statistics.c0._c_anonymous_14 (/publisher/modules/statistics/module.jag:31) org.jaggeryjs.rhino.publisher.modules.statistics.c0.call (/ publisher / modules / statistics / module.jag) org.mozilla.javascript.optimizer.OptRuntime.call1 (OptRuntime.java:32) org.jaggeryjs.rhino.publisher.site.blocks.stats.api_subscriptions.ajax.c0._c_anonymous_1 (/ publisher / site / blocks /stats/api-subscriptions/ajax/stats.jag:47) org.jaggeryjs.rhino.publisher.site.blocks.stats.api_subscriptions.ajax.c0.call (/ publisher / site / blocks / stats / api-subscriptions / ajax / stats.jag) org.mo zilla.javascript.optimizer.OptRuntime.call0 (OptRuntime.java:23) org.jaggeryjs.rhino.publisher.site.blocks.stats.api_subscriptions.ajax.c0._c_script_0 (/ publisher / site / blocks / statsptions / api-subscriptions / /ajax/stats.jag:4) org.jaggeryjs.rhino.publisher.site.blocks.stats.api_subscriptions.ajax.c0.call (/publisher/site/blocks/stats/api-subscriptions/ajax/stats.jag) org.mozilla.javascript.ContextFactory.doTopCall (ContextFactory.java:394) org.mozilla.javascript.ScriptRuntime.doTopCall (ScriptRuntime.java:3091) org.jaggeryjs.rhino.publisher.site.blocks_ascriptions .ap c0.call (/publisher/site/blocks/stats/api-subscriptions/ajax/stats.jag) org.jaggeryjs.rhino.publisher.site.blocks.stats.api_subscriptions.ajax.c0.exec (/ publisher / site / блоки / stats / api-subscriptions / ajax / stats.jag) org.jaggeryjs.scriptengine.engine. RhinoEngine.execScript (RhinoEngine.java:570) org.jaggeryjs.scriptengine.engine.RhinoEngine.exec (RhinoEngine.java:273) org.jaggeryjs.jaggery.core.manager.WebAppManager.execute (WebAppManager) или jaggeryjs.jaggery.core.JaggeryServlet.doPost (JaggeryServlet.java:29) javax.servlet.http.HttpServlet.service (HttpServlet.java:755) javax.servlet.http.HttpServlet.Service. apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:305) org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:210) org.apache.catalina.core.applicationDlication 749) org.apache.catalina.core.ApplicationDispatcher.processRequest (ApplicationDispatcher.java:487) org.apache.catalina.core.ApplicationDispatcher.doForward (ApplicationDispatcher.java:379) org.apache.catalina.core.ApplicationDispatcher ApplicationDispatcher.java:339) org.jaggeryjs.jaggery.core.JaggeryFilt er.doFilter (JaggeryFilter.java:21) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:243) org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilter.Chain). catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:222) org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:123) org.apache.catalina.authenticator.Autvohenticator2. org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:171) org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:99) org.wso2.carbon.tomcat.ext.alves.CompositeValves. continueInvocation (CompositeValve.java:178) org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve $ 1.invoke (CarbonTomcatValve.java:47) org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve. ) org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves (TomcatVal veContainer.java:47) org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke (CompositeValve.java:141) org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke (CarbonStuckThreadDetectionValve.invoke (CarbonStuckThreadDetectionValve. org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:936) org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke (CarbonContextCreatorValve.java:52) org.apache.Stalve.catalina. invoke (StandardEngineValve.java:118) org.apache.catalina.connector. CoyoteAdapter.service (CoyoteAdapter.java:407) org.apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.java:1004) org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process. tomcat.util.net.NioEndpoint $ SocketProcessor.run (NioEndpoint.java:1653) java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPool.javaExecutor: $ (WorkPool.javaExecutor: 615) java.lang.Thread.run (Thread.java:744)

person Ash    schedule 02.07.2014