之前模仿sysdig做了个容器性能监控平台,链接在此,虽然有一些基础的功能,但是还不完善,
恰好看到cloud insight开源了他的agent,看过之后,和我的思路差不多,就简单记录一下,避免遗忘。
代码
https://github.com/cloudinsight/cloudinsight-agent
据说之前是python,后来切换到go
整体结构
1 2 3 4 5 6 7 8
| ├── agent ├── collector │ ├── conf.d │ └── plugins ├── common ├── forwarder ├── statsd └── vendor
|
整体流程
init的时候会加载cloudinsight-agent/collector/plugins的插件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| +------------------------------------------+ | main | | | | | | | | +-------------------+ | | |config.NewConfig | | | | | | | +-------------------+ | | | | | | +-------------------+ | | |startAgent | | | | | | | +-------------------+ | | | | | | +-------------------+ | | |startForwarder | | | | | | | +-------------------+ | | | | | | +-------------------+ | | |startStatsd | | | | | | | +-------------------+ | | | | | | | | | +------------------------------------------+
|
agent
collector
plugins
config
以docker为例
Check接口,调用docker daemon的rest api采集
本博客欢迎转发,但请保留原作者信息
github:codejuan
博客地址:http://blog.decbug.com/