所有预警都分4大块:
- 探针采集器
- 数据存储
- 预警
- 展示
influxdata开源4款产品influxdb,chronograf,telegraf,kapactor,经过阅读这四款产品源码,发现对整个行业贡献相当大同时对创业公司也是打击也是非常大。你一个团队,花上几百万,最后基于influxdata系列产品,可能在一个月时间赶超您的产品。 这时候我们需要对比调整产品技术线路以及产品功能方向: 我们的优势:
- 多用户平台
- 微服务架构、docker化
- 集大成,bosun、dd-agent、opentsdb、librenms每一个都是业内佼佼者
我们的劣势:
- 部署复杂
- 维护复杂
- 开发投入时间不足,无法长期保证产品先进性
结论:
- 如果继续做平台,我们这套架构体系只需要细节继续完善,功能继续开发,没有其他问题
- 如果是做内部部署的工具产品,果断采用influxdata产品线,基于它上面做业务需求开发
前端 chronograf 技术参数对比
chronograf对user、source、自定义dashboard存储采用boltdb http://www.opscoder.info/boltdb_intro.html。
预警方式不足,我们采用的是简单(java定时器)+复杂(Bosun)一起预警,Bosun与kapacitor的比较后面介绍。
总之:前端这一块无可挑剔。
编译
进入gopath的chronograf目录,执行go generate 或者直接make,进行资源文件打包进入go文件。
会扫描类似
//go:generate go-bindata -o dist_gen.go -ignore 'map|go' -pkg dist ../ui/build/...
代码,然后生成go文件。最后就可以编译成功。