产品推广 忙活了两个月的结果,做出一个新的系统服务监控产品,马上要正式版上线了,欢迎大家给提意见。

markgeek · 2015年12月02日 · 最后由 rubyinhere 回复于 2016年03月11日 · 4598 次阅读

大家好,我是 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]

相关文章:

相关技术链接:

赞。说说对比 Grafana 有什么优势呢?

#1 楼 @qianthinking 好问题,你可以把我们的这个产品比作一个在线版的 Grafana,但这仅是从界面上看的,从数值计算方面,我们比 grafana 还是差一些的,它提供的数值计算未来我们都会支持,但是我们不想一开始把东西做的太复杂,就没有添加这部分。除此之外又预先提供了很多现成的服务集成,比如你要监控 docker,那么下载一个 agent,简单配置一下就可以了。如果你了解我们其他的产品线的话,我们未来会和其他产品线打通。再一个,我们会提供 api,让用户上传自定义的数据上来,来做仪表盘展示,和分析。比如我们自己的系统在用这个产品做基础架构的监控,其中有一个需求是对 druid 的监控,但是我们这个还没支持,其中一个同事就自己就用 api 自己写了一个,现在已经在用了。当然还有告警,因为所有的数据都指标化了,比如订单量:order.count,就可以对这样的指标进行告警,也就是可以对业务类的数据进行告警了。

技术达人,膜拜一下

需要 登录 后方可回复, 如果你还没有账号请 注册新账号