我对 OpenTSDB 和时间序列数据库相当陌生。我已经快速浏览了它的文档,但我仍然不清楚某些事情。我基本上对 sum 等聚合器函数不太感兴趣。我必须针对我存储在这样的标签中的每个主机存储复制滞后、慢查询数量、SQL 机器状态等指标:
[
{
"metric":"replicationLag"
"timestamp":new Date.getTime()
"value" : 2.0
"tags": {
"host":acb-em1.db01.nm.xyz.com
}
}
"metric":"slowQuery"
"timestamp":new Date.getTime()
"value" : 4
"tags": {
"host":acb-em1.db01.nm.xyz.com
}
]
我需要对此进行的查询最多是这样的:在特定给定时间范围内复制滞后的值是多少。1.上面提到的模式是否足够好,或者我能做些什么更好?
为此我正在使用这个
请求 JSON 是
{
"start":1410272307100,
"end":1410340000000,
"queries":[
{
"metric":"slowQuery",
"aggregator":"sum",
"tags":{
"host":"tg-em-db01.nm.flipkart.com"
}
}
]
}
Response content :
[
{
"metric":"slowQuery",
"tags":{
"host":"tg-em-db01.nm.flipkart.com"
},
"aggregateTags":[],
"dps":{"1410327176":0,"1410328026":0,"1410328265":0,"1410328401":0,"1410328488":0}
}
]
我不确定聚合器中的“总和”究竟会做什么,因为它会返回一个空内容。反正我不需要总和,但在文档中提到它是一个“必填”字段。但是,我得到了所有数据点及其值。仍然不确定 aggregatorTags 以及为什么需要它以及如何省略它并在指定时间内获取与该主机对应的数据点。提前致谢!