年关将至,Cloud Insight 正式版悄然上线了。没有大张旗鼓的宣传,也没有热热闹闹的庆祝,只是一群人在上线前踏踏实实的优化了两周,然后发版,就是这样一件简单的事。
然而就是这样一个低调的产品,在正式上线之前,就已经累积了数百用户。
要说 Cloud Insight 得先说一说 StatsD. 作为一个基于 Node.js 平台,简单的网络守护进程,StatsD 通过 UDP 或者 TCP 方式侦听各种统计信息,包括计数器和定时器,并发送聚合信息到后端服务。
而在国外基于 StatsD 产生了一系列的工具,或者在成熟的项目基础之上,开始兼容 StatsD。如果按照方向可以划分为如图的几个方向。
有了数据和信息可以做很多事,包括数据集成、可视化、可视化+存储、事件流,甚至将这些结合做出一体化解决方案,针对不同的需求,不同的市场,每一个方向都能产生独特价值。接下来我们大致介绍一下这几个方向。
##Integrations
StatsD 本身并不负责定义指标的涵义,所以如果要从数据库或者操作系统中采集数据,需要进行脚本的开发。其中在这方面做出突出贡献的是 Datadog。Datadog 开发的 dd-agent 项目在 GitHub 多达 150 个贡献者,兼容 60 多种操作系统、中间件、数据库。
除此之外,Librato 和 App First 也加入到 StatsD 的阵营中。而基础设施管理的解决方案:Puppet 和 Chef 也开始兼容将 StatsD 批量安装到基础设施中。
##Visualization & Data Hosting
光有数据是不够的,良好的可视化才能将数据的作用发挥出来。在可视化这一块影响力较大的 Graphite 作为一个可视化的控件,不仅包含可视化还自带存储的部分。但也有不少人反映 Graphite 自带的界面太难看,得益于开源世界的伟大,我们有了 Grafana 可用,直接部署在nginx上面就行,使用node.js 实现的数据抓取。单论可视化,Grafana 是做得最好的一家,其展现形式丰富,可配置项目巨细靡遗。Signal FX 后来居上,也参与到竞争中。
在数据可视化的基础之上,也有服务开始从事可视化数据的托管服务。例如:Host Graphite。
##时间序列数据库和事件处理引擎
其实 StatsD 和时间序列数据库的出现,是相辅相成的。在 OpenTSDB 和 InfluxDB 基础之上,StatsD 的应用才日渐丰满。InfluxDB 是一个开源分布式时序、事件和指标数据库,使用 Go 语言编写,无需外部依赖。对于运维工程师而言,OpenTSDB 可以获取基础设施和服务的实时状态信息,展示集群的各种软硬件错误,性能变化以及性能瓶颈。
再说说事件处理引擎,比如 Bosun 是一个新型的监控和告警系统,使用 golfing 编写,支持定义复杂的告警规则,支持 OpenTSDB、Graphite、Logstash-Elasticsearch 等数据源。Riemann 也开始与时间序列数据库,或者基于 StastD 的一体化解决方案对接,来弥补一些数据展现产品在报警这个方向上的不足。
##一体化解决方案
那么,有没有能包含数据集成、可视化、数据存储、事件流处理于一体的解决方案呢?对于中小型企业尤其创业公司来说,自主开发或者利用现有的开源工具进行监控或多或少都会遇到一些问题,既要考虑成本又怕踩坑。这时候除开上述细分的方向之外,提供一体化解决方案的厂商及时出现了。国外这样的厂商有 Datadog、Librato 等等。其中 Datadog 在国外拥有 Facebook、Airbnb 等重量级客户,正大展风头。
而国内只有 Cloud Insight 一家在提供这种一体化解决方案。基于类似的思路,通过轻量级的 StatsD 来达到更高的计算能力,处理日益复杂的基础设施架构。Cloud Insight 在 HBase 存储之上,使用了 OpenTSDB 来对性能指标进行聚合、分组、过滤。同时提供告警功能,后期将会完善事件流的展现方式,除了数据管理功能,还能让团队的沟通、协作更容易。
##次时代监控产品——Cloud Insight
关注系统监控的人很多都知道 Zabbix 等开源产品,StatsD 作为新世代的系统监控的核心,目前还处于技术累计过程。越来越多的开源项目加入到它的怀抱中,也有越来越多的公司,在此基础之上加入了研发的资源,或者在与之相关的其他领域中投入成本。
Cloud Insight 通过对 StatsD 的生态环境的研究,整合不同的工具为用户提供一体化解决方案。采用 StatsD 的采集技术,对接 MySQL、Redis、MongoDB,以及 CentOS、RedHat 操作系统,利用 Hbase 存储和 OpenTSDB 的数据聚合、切片等功能,最终流向 Cloud Insight 进行展现。
运维 2.0 时代,监控产品只能做到数据的展现,不算做到真正意义上的易用。Cloud Insight 事件流就是汇集报警、探针启动和操作历史记录于一身的功能。能够让运维人员、研发人员、管理人员,甚至运营人员都参与到 Cloud Insight 这个工具的使用中来,沟通与协作效率更高。
##结语
最终 StatsD 是否有可能取代 Zabbix 或 Nagios 成为系统监控的新标准,StatsD 系的种种监控产品,究竟是否会大放异彩,我们拭目以待! 本文转自 OneAPM 官方博客