大家好,我是 OneAPM 的一名员工,十月份的时候在深圳的 RubyConf 上做过一个 Ruby 性能优化实践的一个演讲,但是最近的两个月,我远离了亲爱的 Ruby,因为之前公司安排给了我一个任务,要我带着十几个兄弟姐妹两个月搞定它,还要我跟着想推广运营的事情,想想真是悲惨啊,写代码时真是成天不睡觉都是开心的,现在要背着到处发广告的骂名,到处码字,也真是走到了我人生的低谷,也不是全不好,这个产品的技术栈中用到了我心仪已久的 react,写界面那是一个爽啊,但是现在产品马上要正式对外发布了,我被产品经理骂的狗血淋头,说我光是写代码写的爽不行,也得让别人知道这个产品吧,于是我几天合不上眼,难道我就真的是一个码农吗?后来仔细想了一想,既然要做了,脸也不要了,就写吧。
本来计划今天上正式版,但是很遗憾,我给推迟了半个月,也就是 12 月中旬才能上线。其实今天会发布一个全功能版,有一些细节处理的还不到位,就要求公司再给我两周的时间进行各种调优。给大家看一张图,先不说这个产品是干嘛的。
这个看起来就是一个 MySQL 监控的仪表盘,没什么大不了的,也确实没啥,点击第一个 chart 右上角中间的小图标,再来看一张图:
这里就有一些不同了,这个 chart 并不是死的,而是定义出来的,上图显示的其实是一个监控 MySQL CRUD 四种操作的一个监控,你说为啥是 6 个指标,再看仔细一点,最下面的是 delete_multi,和 update_multi 两种操作,所以一共是 6 个。我们再放大一点看一下:
这是一个很类似 sql 的查询语句,get metric from tag group by tag_key
,所以数据的操作是不受约束的,而且可以把各种关联指标放在一起显示。估计看的有些云里雾里了,作为一个写代码的出来写这种东西,我们的产品经理也真是够了。明说吧,这个产品叫做 Cloud Insight,是不是很霸气,哈哈。我很喜欢这个产品,因为它的想象力真是无限大的,比如,我把各种其他的指标导入进来,就可以制作这样的仪表盘:
所以说它想象力无限,不仅仅是一个运维监控工具。不过现在你可以只把它当做一个运维监控工具,在我们开发了 api 接口以后你可以把自己需要展示的数据拿上来做展示,做数据的分析和可视化。
作为运维的工具,我们现在支持以下的操作系统和服务:
最近我们完成了一个很重要的功能,告警,以及一个有意思的功能,平台拓扑(主机集群的图形化展示),这个平台拓扑是我做的,被产品经理骂的要死,说没有什么卵用,所以他要我给加了一个 - 平台拓扑目前处于 Beta 阶段的提示,让别人不要太去关注他,不过我会慢慢改进它到比较好用的程度。
回头看看我刚才写的真是乱七八糟,产品经理让我重写,我说我已经发挥到极致了,还是谈点技术上的东西吧。
这个我喜欢讨论,我们用的是 OpenTSDB,一个时间序列数据库,华顺提过一个 influxdb,就是这类的数据库,不同的是 OpenTSDB 使用 HBase 做存储,扩展能力不需要我们考虑了,一并丢给公司的数据工程师们了,数据的采集用的是 statsd,基本是现在做系统监控的标配,它支持的几种数据采集操作也是做的很到位,后端是 Java 的,啰嗦无比,虽然很鄙视它,但是公司的后端架构 Java 居多,很多资源也只能用 Java 的,看起来都是很头疼的,前端是 React,真是爽啊,除了爽还是爽,虽然也有很多坑,但是带来的好处是非常明显的。集群可视化用的是 d3.js,和 react 的结合还需要很多功夫,现在正在看一本国外的的关于 react 和 d3 接合的教程。下面有连接。
我们的这个产品简称为 Ci,虽然有歧义,我个人觉得还不错。最后附上我们的 logo,还有几篇更详细的我们产品经理写的文章,感兴趣的可以看一下。
地址:http://www.oneapm.com/ci/feature.html
如果你有什么意见,欢迎给我发邮件,非常欢迎大家给我们提各种的意见,[email protected]
相关文章:
相关技术链接: