dubboclub / dubbokeeper Goto Github PK
View Code? Open in Web Editor NEWdubbo服务管理以及监控系统
License: Apache License 2.0
dubbo服务管理以及监控系统
License: Apache License 2.0
将监控数据保存在mysql数据库中方式是否已经完成?
Hi
.
项目启动后,点击monitor报了空指针的问题。在UI Control 调用 statisticsStorage.queryApplications() 是返回出现了问题。请问下这个问题是配置出现了问题? 还是需要启动其他的服务?多谢。
Error Log:
Caused by: java.lang.NullPointerException: null
at com.dubboclub.dk.web.controller.MonitorController.monitorIndex(MonitorController.java:101) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_65]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_65]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_65]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_65]
.
Thanks
官方文档上好像echarts是不支持这个特效的,请问是如何做到的?
dubbokeeper是不是可以加个登录功能
如题
monitor中显示详细列表的时候时间都是12小时进制的,应该换成24小时制的吧
<td>{{elapsed.timestamp | date : 'MM-dd hh:mm:ss'}}</td>
目前使用下来没有发现这个入口,如果某一个接口出现问题,不能快速定为到相关应用和机器信息。
1.监控中,有些项目会出现 “后端系统出现异常,请稍后再试”
2.监控数据是保存在哪个目录下的?
3.监控详细列表中的触发时间,最好修改“yyyy-MM-dd HH:mm:ss”格式,不然不好区分是上午还是下午
4.详细列表top200数据,应该按照时间来排序,把最新的数据放在最上面
5.监控数据总感觉统计的不准,测试条件:开启dubbo服务端和客户端,单线程调用
完成配置后启动发现未建立statistics_mysql表 能提供一份statistics_mysql表结构吗 谢谢
具体看: application-top200.html 和service-top200.html
里面涉及到日期的转化: {{elapsed.timestamp | date : 'MM-dd hh:mm:ss'}}
是不是应该用 {{elapsed.timestamp | date : 'MM-dd HH:mm:ss'}}
@bieberHe 便于大家了解项目
自己收集而且整理了一部分。看看对项目有帮助没。
https://github.com/sdcuike/DistributedTracingSystem/blob/master/README.md
请问如何能实现Lucene的分布部署?
我在两台机器上布置了工程,共享一个NAS空间来存储生成的lucene文件,
但是一台启动成功后,另一台会因为write.lock被占用无法正常启动。
请问有什么解决方法吗?
READ.ME中的网盘存储,是如何实现的?
[NettyServerWorker-thread-1] WARN 2016-05-09 16:24:48313 com.alibaba.dubbo.remoting.exchange.codec.ExchangeCodec.decode(ExchangeCodec.java:131) - [DUBBO] Skip input stream 435, dubbo version: 2.5.3, current host: 127.0.0.1
[DubboServerHandler-134.132.66.207:20884-thread-88] DEBUG 2016-05-09 16:24:48314 com.alibaba.dubbo.remoting.transport.DecodeHandler.decode(DecodeHandler.java:60) - [DUBBO] Decode decodeable message com.alibaba.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation, dubbo version: 2.5.3, current host: 127.0.0.1
[NettyServerWorker-thread-1] WARN 2016-05-09 16:24:49319 com.alibaba.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation.decode(DecodeableRpcInvocation.java:74) - [DUBBO] Decode rpc invocation failed: expected map/object at java.lang.String (Lcom/alibaba/dubbo/common/URL;), dubbo version: 2.5.3, current host: 127.0.0.1
com.alibaba.com.caucho.hessian.io.HessianProtocolException: expected map/object at java.lang.String (Lcom/alibaba/dubbo/common/URL;)
at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.error(AbstractDeserializer.java:108)
at com.alibaba.com.caucho.hessian.io.AbstractMapDeserializer.readObject(AbstractMapDeserializer.java:70)
at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1696)
at com.alibaba.dubbo.common.serialize.support.hessian.Hessian2ObjectInput.readObject(Hessian2ObjectInput.java:94)
at com.alibaba.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation.decode(DecodeableRpcInvocation.java:119)
at com.alibaba.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation.decode(DecodeableRpcInvocation.java:71)
at com.alibaba.dubbo.rpc.protocol.dubbo.DubboCodec.decodeBody(DubboCodec.java:137)
at com.alibaba.dubbo.remoting.exchange.codec.ExchangeCodec.decode(ExchangeCodec.java:126)
at com.alibaba.dubbo.remoting.exchange.codec.ExchangeCodec.decode(ExchangeCodec.java:87)
at com.alibaba.dubbo.rpc.protocol.dubbo.DubboCountCodec.decode(DubboCountCodec.java:46)
at net.dubboclub.netty4.Netty4CodecAdapter$InternalDecoder.channelRead0(Netty4CodecAdapter.java:104)
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
at java.lang.Thread.run(Thread.java:745)
[NettyServerWorker-thread-1] WARN 2016-05-09 16:24:49320 com.alibaba.dubbo.remoting.exchange.codec.ExchangeCodec.decode(ExchangeCodec.java:131) - [DUBBO] Skip input stream 435, dubbo version: 2.5.3, current host: 127.0.0.1
我把提供者某个查询服务禁用了,程序调用此服务还是能正常使用,尝试重启服务,在dubbokeeper-ui监控里看到的也确实是被禁用,但该服务还可正常使用且查询出数据。
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
Zoopeeper菜单->Dubbo-服务->configurators
下面的子节点可读性差,如:
override%3A%2F%2F192.168.29.1%3A20882%2Fcom.bieber.dubbo.service.MyFirstDubboService%3Fcategory%3Dconfigurators%26dynamic%3Dfalse%26enabled%3Dtrue%26weight%3D200
应该转为Decoded后可读性更佳
override://192.168.29.1:20882/com.bieber.dubbo.service.MyFirstDubboService?category=configurators&dynamic=false&enabled=true&weight=200
@RequestMapping("/{id}/consumer-apps.htm") public @ResponseBody List<Application> getConsumerAppByService(@PathVariable("id")long id ){ Provider provider = providerService.getProviderById(id); List<Consumer> consumers = consumerService.listConsumerByConditions(Constants.INTERFACE_KEY,Tool.getInterface(provider.getServiceKey()),Constants.VERSION_KEY,Tool.getVersion(provider.getServiceKey()),Constants.GROUP_KEY,Tool.getGroup(provider.getServiceKey())); List<Application> applicationList = new ArrayList<Application>(); List<String> containMark = new ArrayList<String>(); for(Consumer consumer:consumers){ //如果某一个服务的消费者部署在一个机器上,那么获取改服务的消费者的时候改机器上的消费者只会出现最后一个 if(containMark.contains(consumer.getAddress())){ continue; } containMark.add(consumer.getAddress()); Application application = new Application(); application.setUsername(consumer.getUsername()); application.setApplication(consumer.getApplication()); application.setType(Application.CONSUMER); List<Provider> providers = providerService.listProviderByApplication(consumer.getApplication()); if(providers.size()>0){ application.setType(Application.PROVIDER_AND_CONSUMER); } applicationList.add(application); } return applicationList; }
日期选择器在FireFox下无法获取选择后的日期毫秒,请求后台报400异常.
http://localhost/monitor/ec_platform_consumer/com.xx.xxService/NaN-NaN/monitors.htm
Chrome正常.
请问,dubbokeeper现在能够同时管理多个注册中心吗?
✓ Select All× Select None↶ Reset
×
[object Object]✓ [object Object]✓ [object Object]✓
http://dk.dubboclub.net/dubbokeeper
例子的监控是可用的,为什么源码编译的监控不可用?需要特别配置还是受限功能
mysql-server启动后,application表的数据一直也是空的。
部署环境:linux+mysql5.5+Tomcat7
访问地址:http://localhost:8080/dubbo-monitor
问题:访问很慢,半天刷不出来结果?
limit的使用好像有点儿问题,limit的初始记录行的偏移量是应该是0吧
以查询最大成功量为例,这里应该写成limit 0,1吧
<select id="queryMaxSuccess" resultType="int">
select successCount from `statistics_${application}` where
<if test="service!=null">
serviceInterface=#{service} and
</if>
<![CDATA[
timestamp>=#{start} and timestamp<=#{end} order by successCount DESC limit 1,1
]]>
</select>
FileServlet web.xml报找不到
数据库是mysql,并初始化好了,zookeeper集群也配置好了,dubbokeeper-ui可以运行,可以出来数据除了monitor那一块,但是start-mysql.bat也启东了,就是看不到数据,而且数据库表application也是空的,不知到我哪里漏配置了,求指导
mysql存储方式在压力下特别慢,耗CPU。判断是addStatistics方法在insert表时空转引起的,如代码:
while(isWriting){ //waiting write finished }
把它换成异步队列的offer形式就好了。
有类似的问题的,可以留言,我pull代码上来。
输的地址可以是ip段(192.168.0.*)也可以可是具体ip地址,多个通过逗号分隔开
出来过一次数据,后面就再也没有统计的数据了,是我哪里配置出错了吗?
@hidehai
点击“Monitor” 系统异常信息: 后端系统出现异常,请稍后再试!从后台日志中找不出问题来?麻烦解释下,或者留下QQ交流下,谢谢!
应用crmd-mkt-app-dev在1天以内的TOP200详细信息>>
收藏
按服务方法进行统计的相关图表。
还有类似solr的统计数据:
avgTimePerRequest:Was: 211.7414608, Now: 178.77673166666665, Delta: -32.965
medianRequestTime:Was: 0.56604, Now: 7.259563000000001, Delta: 6.694
75thPcRequestTime:Was: 881.82926, Now: 664.8602165, Delta: -216.969
95thPcRequestTime:881.82926
99thPcRequestTime:881.82926
999thPcRequestTime:881.82926
平均值、中值、各分位点数据,感觉非常有意义。
admin-应用列表-操作(该应用的发布服务列表)-操作(该服务监控信息一览),点击提示后端系统出现异常,具体异常信息为:Servlet.service() for servlet [dispatcherServlet] in context with path [/dubbokeeper-ui] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: topNGroups must be >= 1 (got 0)] with root cause
java.lang.IllegalArgumentException: topNGroups must be >= 1 (got 0)
at org.apache.lucene.search.grouping.AbstractFirstPassGroupingCollector.(AbstractFirstPassGroupingCollector.java:66)
at org.apache.lucene.search.grouping.term.TermFirstPassGroupingCollector.(TermFirstPassGroupingCollector.java:60)
at com.dubboclub.monitor.storage.lucene.LuceneStatisticsStorage.queryMethodMonitorOverview(LuceneStatisticsStorage.java:211)
at com.dubboclub.web.controller.MonitorController.overviewService(MonitorController.java:57)
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)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
打开监控 出现这个问题,是缺少某一个服务没有启动吗?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.