很高興地宣佈 Cloudinsight Agent 在 BSD 開源協議下正式開源了。我們的工程師在開源前已將代碼用 Golang 重寫,更加清晰簡潔,歡迎大家參與到 Cloudinsight Agent 的開發和迭代中來。
##爲什麼要用 Golang 重寫和開源
Cloudinsight是一個可視化系統監控工具,能夠對數據指標進行聚合、分組、過濾、 管理、計算;並提供團隊協作功能,共同管理數據和報警事件。而這些的關鍵,正是 Cloudinsight Agent。
###目前探針存在的問題:
- 各個服務的數據抓取存在強依賴關係,任何一個服務阻塞都可能導致探針進程掛掉。
- 缺乏對 log 和 json 的支持,用戶需要通過 sdk 解析相關數據。
- 針對 自定義Plugin 的支持不夠靈活,用戶需要熟悉 Python,並按照探針定義好的接口上傳數據。
- 探針使用 Omnibus 進行打包部署,雖然能解決用戶安裝上的一些問題,但對於新人來說,上手確實不是件容易的事,況且這個項目本身也有一些 bug,經歷過的人自然懂。
###用 Golang 重寫:
- 解決以上提到的種種問題。
- 優化探針架構。
- 提升探針性能。
- 開源,接受社區的監督,讓深度用戶可以參與到探針的版本迭代中來。
現在 Golang 版探針還是 Beta 版,所以支持的平臺服務還不多,但這正是我們將 Cloudinsight Agent 上的工作推向開源的第一步,也希望有更多的開發者參與進來,讓項目能有更快的進展。
##項目計劃
###增加支持的平臺和平臺服務
目前用 Golang 重寫的 Cloudinsight Agent 僅在 Linux 上進行了測試,未來會逐漸將原有 Python 探針支持的平臺和平臺服務替換至 Golang 版本,包括但不限於:
##加入項目
- Github:https://github.com/cloudinsight/cloudinsight-agent
- 配置要求:Go 1.5 以上版本
$ 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 中獲取
$ cp cloudinsight-agent.conf.example cloudinsight-agent.conf
$ vi cloudinsight-agent.conf
...
license_key = "*********************"
在前臺中運行命令
$ ./bin/cloudinsight-agent
##致謝 從 15 年 8 月至今,Cloudinsight Agent 經過了 20 餘次的迭代,從第一天的的 20 個用戶發展到現在 5 萬多的探針數,感謝長久以來支持 Cloudinsight 和提供寶貴建議的用戶和開發者們,也再次感謝以下影響了我們的優秀的開源項目:
在項目中有代碼貢獻的開發者,Cloudinsight 將送出一件限量 Tee 作爲答謝。
Cloudinsight 官網:[Cloudinsight.oneapm.com ](http://cloudinsight.oneapm.com?utm_source=oschina&utm_medium=Article&utm_term=agentos&utm_campaign=CiTech&from=jscwgyegyv"Cloudinsight.oneapm.com ") 歡迎訪問了解
圖:在 Cloudinsight 中用標籤進行集羣管理