3
回答
配置dubbo-monitor无charts下相关服务统计图
华为云数据库免费试用   

说明:最近搭建dubbo rest技术整合,选用版本zookeeper3.4.6; dubbox-2.8.4a.jar ; dubbo-admin-2.8.4; dubbo-monitor-2.8.4; 环境介绍完毕。

        前期zookeeper集群,dubbo-admin控制台,以及demo一切顺利;但是后来需求决定,要增加对服务端监控,于是搭建dubbo-monitor监控中心系统。搭建后服务一切正常,但是唯独,没有monitor下服务监控统计数据,通过日志,发现后台每次调用monitorService获取数据是会出现错误。网上找了好多资料,也没有对症下药,现寻求哪位大神指点,万分感激!

        注:我的dubbo-monitor下的相关charts路径都已建好,就是没数据。

错误日志如下:

016-10-28 18:17:05,327  INFO [DubboMonitor.java:80] :  [DUBBO] Send statistics to monitor zookeeper://25.0.88.53:2181/com.alibaba.dubbo.monitor.MonitorService?anyhost=true&application=simple-monitor&check=false&delay=-1&dubbo=2.8.4&generic=false&interface=com.alibaba.dubbo.monitor.MonitorService&methods=lookup,collect&pid=3164&revision=2.8.4&side=provider&timestamp=1477648050407, dubbo version: 2.8.4, current host: 25.0.86.130
2016-10-28 18:17:05,343 ERROR [DubboMonitor.java:72] :  [DUBBO] Unexpected error occur at send statistic, cause: Failed to invoke the method collect in the service com.alibaba.dubbo.monitor.MonitorService. Tried 3 times of the providers [25.0.86.130:7070] (1/1) from the registry 25.0.88.53:2181 on the consumer 25.0.86.130 using the dubbo version 2.8.4. Last error is: Failed to invoke remote method: collect, provider: dubbo://25.0.86.130:7070/com.alibaba.dubbo.monitor.MonitorService?anyhost=true&application=simple-monitor&check=false&delay=-1&dubbo=2.8.4&generic=false&interface=com.alibaba.dubbo.monitor.MonitorService&methods=lookup,collect&pid=3164&revision=2.8.4&side=provider&timestamp=1477648050407, cause: Fail to decode request due to: RpcInvocation [methodName=collect, parameterTypes=[], arguments=null, attachments={path=com.alibaba.dubbo.monitor.MonitorService, input=682, dubbo=2.8.4, version=0.0.0}], dubbo version: 2.8.4, current host: 25.0.86.130
com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method collect in the service com.alibaba.dubbo.monitor.MonitorService. Tried 3 times of the providers [25.0.86.130:7070] (1/1) from the registry 25.0.88.53:2181 on the consumer 25.0.86.130 using the dubbo version 2.8.4. Last error is: Failed to invoke remote method: collect, provider: dubbo://25.0.86.130:7070/com.alibaba.dubbo.monitor.MonitorService?anyhost=true&application=simple-monitor&check=false&delay=-1&dubbo=2.8.4&generic=false&interface=com.alibaba.dubbo.monitor.MonitorService&methods=lookup,collect&pid=3164&revision=2.8.4&side=provider&timestamp=1477648050407, cause: Fail to decode request due to: RpcInvocation [methodName=collect, parameterTypes=[], arguments=null, attachments={path=com.alibaba.dubbo.monitor.MonitorService, input=682, dubbo=2.8.4, version=0.0.0}]
 at com.alibaba.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:108)
 at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:227)
 at com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:72)
 at com.alibaba.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:52)
 at com.alibaba.dubbo.common.bytecode.proxy2.collect(proxy2.java)
 at com.alibaba.dubbo.monitor.dubbo.DubboMonitor.send(DubboMonitor.java:113)
 at com.alibaba.dubbo.monitor.dubbo.DubboMonitor$1.run(DubboMonitor.java:70)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
 at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
 at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
 at java.lang.Thread.run(Thread.java:745)
Caused by: com.alibaba.dubbo.remoting.RemotingException: Fail to decode request due to: RpcInvocation [methodName=collect, parameterTypes=[], arguments=null, attachments={path=com.alibaba.dubbo.monitor.MonitorService, input=682, dubbo=2.8.4, version=0.0.0}]
 at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.returnFromResponse(DefaultFuture.java:190)
 at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:110)
 at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:84)
 at com.alibaba.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:96)
 at com.alibaba.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:144)
 at com.alibaba.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:74)
 at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)
 at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
 at com.alibaba.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:53)
 at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
 at com.alibaba.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:48)
 at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
 at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53)
 at com.alibaba.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:77)
 ... 13 more

举报
htnn
发帖于2年前 3回/2K+阅
问题已解决,又新下载了一个dubbo-monitor的war包(之前已经下载n个),本地启动后,没有任何问题。经过对比之后发现,其下的dubbo-2.8.4.jar的大小不一样,更换后发现,同样没有再报错。不知道为什么同样的版本的jar,大小会不一样,可能打包的人做了什么更改吧。总之保持自己服务引用的jar版本和dubbo-monitor下的版本保持一致,应该就不会有问题了。仅此献给受到同样困扰的后人!
--- 共有 2 条评论 ---
三十回头 回复 @西欧阿法 : 有下载的链接吗 4个月前 回复
西欧阿法刚使用了你的方法,解决了问题,耗时个把星期没解决的问题终于解决了,多谢大神。 我对比了下jar包大小,只相差了1KB, 这都能发现,给大神赞一个 2年前 回复
顶部