![](http://o8g4uutrr.bkt.clouddn.com/cloudinsight%20agent%201.jpg)
很高兴地宣布 Cloudinsight Agent 在 BSD 开源协议下正式开源了。我们的工程师在开源前已将代码用 Golang 重写,更加清晰简洁,欢迎大家参与到 Cloudinsight Agent 的开发和迭代中来。
##为什么要用 Golang 重写和开源
[Cloudinsight](http://cloudinsight.oneapm.com?utm_source=studygolang&utm_medium=Article&utm_term=agentos&utm_campaign=CiTech&from=jscwgyegyv )是一个可视化系统监控工具,能够对数据指标进行聚合、分组、过滤、 管理、计算;并提供团队协作功能,共同管理数据和报警事件。而这些的关键,正是 Cloudinsight Agent。
###目前探针存在的问题:
- 各个服务的数据抓取存在强依赖关系,任何一个服务阻塞都可能导致探针进程挂掉。
- 缺乏对 log 和 json 的支持,用户需要通过 sdk 解析相关数据。
- 针对 自定义Plugin 的支持不够灵活,用户需要熟悉 Python,并按照探针定义好的接口上传数据。
- 探针使用 Omnibus 进行打包部署,虽然能解决用户安装上的一些问题,但对于新人来说,上手确实不是件容易的事,况且这个项目本身也有一些 bug,经历过的人自然懂。
###用 Golang 重写:
- 解决以上提到的种种问题。
- 优化探针架构。
- 提升探针性能。
- 开源,接受社区的监督,让深度用户可以参与到探针的版本迭代中来。
现在 Golang 版探针还是 Beta 版,所以支持的平台服务还不多,但这正是我们将 Cloudinsight Agent 上的工作推向开源的第一步,也希望有更多的开发者参与进来,让项目能有更快的进展。
##项目计划
###增加支持的平台和平台服务
目前用 Golang 重写的 Cloudinsight Agent 仅在 Linux 上进行了测试,未来会逐渐将原有 Python 探针支持的平台和平台服务替换至 Golang 版本,包括但不限于:
![](http://o8g4uutrr.bkt.clouddn.com/cloudinsight%20agent%202.png)
##加入项目
- Github:https://github.com/cloudinsight/cloudinsight-agent
- 配置要求:Go 1.5 以上版本
```go
$ 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
```
##使用
首次使用需设置 License Key,可在 https://cloud.oneapm.com/#/settings 中获取
```go
$ cp cloudinsight-agent.conf.example cloudinsight-agent.conf
$ vi cloudinsight-agent.conf
...
license_key = "*********************"
```
在前台中运行命令
```go
$ ./bin/cloudinsight-agent
```
##致谢
从 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/influxdata/telegraf)
- [mackerel](https://github.com/influxdata/telegraf)
**在项目中有代码贡献的开发者,Cloudinsight 将送出一件限量 Tee 作为答谢。**
![](http://o8g4uutrr.bkt.clouddn.com/cloudinsight%20agent%203.png)
Cloudinsight 官网:[Cloudinsight.oneapm.com ](http://cloudinsight.oneapm.com?utm_source=studygolang&utm_medium=Article&utm_term=agentos&utm_campaign=CiTech&from=jscwgyegyv"Cloudinsight.oneapm.com ") 欢迎访问了解
![](http://o8g4uutrr.bkt.clouddn.com/cloudinsight%20agent%204.gif)
图:在 Cloudinsight 中用标签进行集群管理