我有一个分布式监控系统,它将CPU利用率、数据库性能指标、网络性能等监控数据收集到后端存储中。其他应用程序需要使用这些数据,如实时计算(用于资源调度器)、系统监控(用于使用监控仪表板的系统管理员)、历史分析(用于操作和分析程序,以便使用模式对资源进行建模,以便进行未来的容量规划和业务系统活动分析)。
数据集大小约为数据存储中9个月的12亿个条目。(均为OpenTSDB like格式)
以前我使用Elasticsearch集群作为后端数据存储解决方案,并决定找到一个更好的。
我正在看Couchbase或voldb集群,但仍在调查阶段,所以需要一些输入从这里谁有类似的经验。
主要问题如下:
-
哪个后端存储解决方案适合我的场景?(Couchbase还是voldb)?
-
我必须重写我的数据聚合器代码(这是在golang)。Couchbase提供了一个很好的golang SDK客户端,但voldb的go驱动程序仅在社区级别,功能有限。那么,在golang中是否有更好的实现与voldb通信?
-
有什么建议或最佳实践吗?
这里没有太多的使用模式,但这听起来像是人们使用voldb的那种应用程序。
对于Golang客户端,如果它特别缺少某些您需要的东西,我们希望得到一些关于如何使其更适合的反馈。您还可以使用来自任何语言的HTTP/JSON查询接口,包括Golang。更多信息在这里:http://docs.voltdb.com/UsingVoltDB/ProgLangJson.php
如果您想利用现有的模型,请查看Axibase Time-Series Database。它支持采集器网络和http协议。规则引擎和可视化是内置的。
事实上,ATSD是基于HBase的,这可能是一种资产,也可能是一种负担,取决于你以前使用它的经验:)
收集集成的URL: http://axibase.com/products/axibase-time-series-database/writing-data/tcollector/
披露:我在开发ATSD的公司工作