![image](http://static.oschina.net/uploads/img/201610/18113759_OZtU.jpg)
很高兴地宣布 Cloudinsight Agent 在 BSD 开源协议下正式开源了。我们的工程师在开源前已将代码用 Golang 重写,更加清晰简洁,欢迎大家参与到 Cloudinsight Agent 的开发和迭代中来。
**为什么要用 Golang 重写和开源**
[**Cloudinsight**](http://cloudinsight.oneapm.com/)**是一个可视化系统监控工具,能够对数据指标进行聚合、分组、过滤、 管理、计算;并提供团队协作功能,共同管理数据和报警事件。而这些的关键,正是 Cloudinsight Agent。**
**目前探针存在的问题:**
*
各个服务的数据抓取存在强依赖关系,任何一个服务阻塞都可能导致探针进程挂掉。
*
缺乏对 log 和 json 的支持,用户需要通过 sdk 解析相关数据。
*
针对 [自定义Plugin](http://docs-ci.oneapm.com/services/agent-check.html) 的支持不够灵活,用户需要熟悉 Python,并按照探针定义好的接口上传数据。
*
探针使用 [Omnibus](https://github.com/chef/omnibus) 进行打包部署,虽然能解决用户安装上的一些问题,但对于新人来说,上手确实不是件容易的事,况且这个项目本身也有一些 bug,经历过的人自然懂。
**用 Golang 重写:**
*
解决以上提到的种种问题。
*
优化探针架构。
*
提升探针性能。
*
开源,接受社区的监督,让深度用户可以参与到探针的版本迭代中来。
目前 Golang 版探针还是 Beta 版,所以现在支持的平台服务还不多,但这正是我们将 Cloudinsight Agent 上的工作推向开源的第一步,也希望有更多的开发者参与进来,让项目能有更快的进展。
**项目计划**
**增加支持的平台和平台服务**
目前用 Golang 重写的 Cloudinsight Agengt 仅在 Linux 上进行了测试,未来会逐渐将原有 Python 探针支持的平台和平台服务替换至 Golang 版本,包括但不限于:
![image](http://static.oschina.net/uploads/img/201610/18113759_W2Kw.jpg)
**加入项目**
*
Github :[https://github.com/cloudinsight/cloudinsight-agent](https://github.com/cloudinsight/cloudinsight-agent)
配置要求:Go 1.5 以上版本
<pre class="brush:shell;toolbar: true; auto-links: false;">$ mkdir -p $GOPATH/src/github.com/cloudinsight
$ cd $GOPATH/src/github.com/cloudinsight
$ git clone https://github.com/cloudinsight/cloudinsight-agent
$ cd cloudinsight-agent $ make build</pre>
**使用**
首次使用需设置 License Key,可在 [https://cloud.oneapm.com/#/settings](https://cloud.oneapm.com/#/settings) 中获取
<pre class="brush:shell;toolbar: true; auto-links: false;">$ cp cloudinsight-agent.conf.example cloudinsight-agent.conf
$ vi cloudinsight-agent.conf
...
license_key = "*********************"</pre>
在前台中运行命令
<pre class="brush:shell;toolbar: true; auto-links: false;">$ ./bin/cloudinsight-agent</pre>
致谢
从 15 年 8 月至今,Cloudinsight Agent 经过了 20 余次的迭代,从第一天的的 20 个用户发展到现在 5 万多的探针数,感谢长久以来支持 Cloudinsight 和提供宝贵建议的用户和开发者们,也再次感谢以下影响了我们的优秀的开源项目:
*
[ddagent](https://github.com/datadog/dd-agent)
*
[telegraf](https://github.com/influxdata/telegraf)
*
[prometheus](https://github.com/prometheus/prometheus)
*
[mackerel](https://github.com/mackerelio/mackerel-agent)
在项目中有代码贡献的开发者,Cloudinsight 将送出一件限量 Tee 作为答谢。
![image](https://dn-shimo-image.qbox.me/LyXUMZ8U0PAYI04x.png!thumbnail)
Cloudinsight 官网:[Cloudinsight.oneapm.com](http://cloudinsight.oneapm.com)
**
功能特色
**
**使用标签高效管理集群和云主机**
Cloudinsight 支持多种操作系统和云主机的监控,在一个平台上对所有基础设施进行集中管理。通过标签,对基础设施进行有效地管理。
![image](http://static.oschina.net/uploads/img/201610/18113759_eCBA.jpg)
![image](http://static.oschina.net/uploads/img/201610/18113800_vXSQ.jpg)
**仅需一条命令, 30S 即可安装**
Cloudinsight Agent 安装只需一条指令,配置数据库监控也只需要打开配置文件即可。
**线上支持多达 50 种平台和平台服务**
![image](http://static.oschina.net/uploads/img/201610/18113800_OrPC.jpg)
**丰富的可视化展现,提高性能指标可读性**
Cloudinsight 提供丰富的展现形式,从曲线图、柱状图、区域图,到排行榜、 热点图、HostMap。在自定义仪表盘中也支持自定义 HTML,为展现形式带来了更多发挥空间,也让性能指标拥有更高的可读性。
![image](http://static.oschina.net/uploads/img/201610/18113801_8JXT.jpg)
**数据集中处理和计算**
Cloudinsight 将所有性能指标作为时间序列数据来处理,提供对数据的聚合、过滤、分组、计算;方便运维人员来组合不同主机的数据,和发现数据之间的关系,以及组合出满足自身业务的抽象性能指标。
**协同管理报警**
Cloudinsight 可以对每项性能指标来设置报警,并在触发阈值时产生告警 事件,分派到具体责任人。在 Cloudinsight 仪表盘中,支持将任一历史时段的性能指标曲线分享给任 何人;也支持在产品内部分享、评论、提醒团队中的人,来查看某项指标、 处理某项告警事件。