性能监控和分析
对于中间件服务器各组件的性能监控和分析,现在用的比较多的就是Elasticsearch、Logstash、Kibana三者的组合。Elasticsearch主要是实现数据存储和全文检索,同时提供开放API能力,对于Logstash主要实现采集分析和日志过滤,而上层的Kibana则实现相应的图形化展现。下面这篇文章里面有详细描述可参考:
http://blog.csdn.net/lively1982/article/details/50678657
而对于数据库层面的监控,包括对于数据库性能和低效SQL的监控,在网上看到一个开源的数据库监控分析系统Lepus天兔,Lepus是开源的、高效的企业级生产数据库监控系统。从演示的demo来看已经实现了数据库监控需要的大部分功能,现在还在扩展开发移动端监控相关功能。当前整个产品在众筹,大家如果感兴趣可以加入到相应的众筹里面。具体访问地址:
http://www.lepus.cc/
该产品当前可以监控Oracle,Mysql,MongoDB等主流的数据,但是可以看到对微软的SqlServer暂时没有提供相应的数据库监控功能。其中除了对数据库状态,资源,进程等常见监控外,最主要的是可监控和分析慢查询和sql语句。虽然Oracle本身也提供了查询分析慢Sql的方法,但是统一监控管理平台更加方便。
DaaS数据库中间件
这个我博客上在谈私有云PaaS平台的时候专门谈到过,即在彻底的组件化和服务化后,已经在考虑原有单应用水平扩展能力的时候自然会带来数据库层面的水平拆分和垂直拆分,而这些拆分对上层应用应该是透明的,因此需要有一个DaaS中间件来实现统一的数据访问接口,SQL解析,连接池管理,事务管理和分片路由等基本功能。
对于Mysql谈的比较多的就是淘宝开源的Cobar,现在基于开源的Cobar发展迅速的是Mycat数据库中间件,该中间件可以看到在多数据库支持,事务,跨库操作,性能监控和可靠性方面都有很大的提升。由于Mycat本身核心还是Mysql的数据库中间件,因此对Oracle等数据库本身现在是通过Jdbc Connection方式进行接入,对于很大特性暂时未验证缺失情况。具体Mycat的地址可以访问:
http://www.mycat.org.cn/
前端图表展现
谈到前端图表展现,现在估计大家用的比较多的是百度开源的Echart,最近在学习和研究其他开源的ESB产品和监控界面的时候,发现了另外一个开源的图表组件HighChart,它是一款功能强大、开源、美观、图表丰富、兼容绝大多数浏览器的纯js图表库。具体访问地址:
http://www.hcharts.cn/index.php