无法访问统计信息 - WSO2 API Manager和WSO2 BAM

时间:2014-07-01 14:53:44

标签: api wso2 wso2carbon wso2bam

我现在安装这个人只是为了得到同样的问题。点击发布商/商店中的统计数据后,我会被引用到wiki,在碳中我会得到以下错误 -

  

TID [-1234] [AM] [2014-07-01 15:42:26,892]错误   {org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject} - 错误   同时为ProviderAPIUsage调用APIUsageStatisticsClient   org.wso2.carbon.apimgt.usage.client.APIUsageStatisticsClient。(APIUsageStatisticsClient.java:115)   org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject.jsFunction_getFirstAccessTime(APIProviderHostObject.java:3937)   sun.reflect.NativeMethodAccessorImpl.invoke0(原生方法)   sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)   sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)   java.lang.reflect.Method.invoke(Method.java:606)   org.mozilla.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)   org.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.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/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.stats.api_subscriptions.ajax.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/blocks/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.java:432)   org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29)   javax.servlet.http.HttpServlet.service(HttpServlet.java:755)   javax.servlet.http.HttpServlet.service(HttpServlet.java:848)   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)   org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)   org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)   org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)   org.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(StandardWrapperValve.java:222)   org.apache.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.java:178)   org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve $ 1.invoke(CarbonTomcatValve.java:47)   org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)   org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)   org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)   org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)   org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)   org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)   org.apache.catalina.core.StandardEngineValve.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(AbstractProtocol.java:589)   org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run(NioEndpoint.java:1653)   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)   java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:615)   java.lang.Thread.run(Thread.java:744)

按照

  

TID [-1234] [AM] [2014-07-01 15:42:26,985]错误   {JAGGERY.modules.statistics.usage:jag} -   java.lang.NullPointerException:null

任何人都可以帮忙吗?

谢谢,

灰。

更新 -

解决问题后,API-M读取RDBMS是一个问题(感谢Nadeesha),在尝试访问发布者统计信息后,我从API-M控制台获得了此日志

  

[2014-07-02 10:26:03,279] ERROR - APIProviderHostObject错误   为ProviderAPIUsage调用APIUsageStatisticsClient   org.wso2.carbon.apimgt.usage.client.exception.APIMgtUsageQueryServiceClientException:   实例化API管理器核心对象时出现异常           在org.wso2.carbon.apimgt.usage.client.APIUsageStatisticsClient。(APIUsageStatisticsClient.java:115)           at org.wso2.carbon.apimgt.hostobjects.APIProviderHostObject.jsFunction_getFirstAccessTime(APIProviderHostObject.java:3937)           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)           at java.lang.reflect.Method.invoke(Method.java:606)           在org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)           在org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386)           在org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)           at 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)           at org.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 / 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)           at 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)           at org.jaggeryjs.rhino.publisher.site.blocks.stats.api_subscriptions.ajax.c0.exec(/publisher/site/blocks/stats/api-subscriptions/ajax/stats.ja   G)           at 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.service(HttpServlet.java:848)           在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)           在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)           在org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)           在org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:487)           在org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)           在org.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(StandardWrapperValve.java:222)           在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)           在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)           at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)           在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)           at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:178)           at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve $ 1.invoke(CarbonTomcatValve.java:47)           在org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:56)           at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)           在org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:141)           at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:156)           在org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)           at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:52)           在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)           在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)           在org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)           at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:589)           在org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run(NioEndpoint.java:1653)           在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)           at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)           at java.lang.Thread.run(Thread.java:744)引起:java.io.FileNotFoundException:   C:\ WSO2AM~1.0 \ bin .. \ repository \ conf \ billing-conf.xml(系统   找不到指定的文件)           at java.io.FileInputStream.open(Native Method)           在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

2 个答案:

答案 0 :(得分:2)

调试出错的方法很少。 API-M和BAM集成的工作原理是什么

  1. API - >将统计数据发布到BAM

  2. BAM将统计数据存储在Cassandra

  3. BAM使用Hive脚本分析数据并将结果写入master-datasources.xml中提到的RDBMS

  4. 我建议您检查号码2.检查统计数据是否已发布到BAM。您可以通过登录BAM的管理控制台并转到分析部分并添加以下脚本

    来完成此操作
    select * from  APIRequestData;
    

    执行此脚本并查看是否返回任何数据。如果没有返回数据,则数据未从API-M正确发布到BAM。如果此处有数据,那么从RDBMS到API-M读取数据时会出现问题。

答案 1 :(得分:1)

哇哇我修复了这个问题!感谢Nadeesha指出API-M没有正确读取RDBMS数据(请参阅此处查看 - https://stackoverflow.com/a/24523906/84546

然后我在WSO2控制台日志中发现了一条神秘的billing-conf.xml未找到消息,经过一些研究将repository / conf / api-manager.xml中的标签从true更改为false

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

瞧!它开始起作用了!

谢谢,

灰。