我有一个BOSUN服务器正在运行,该服务器被配置为在OPENTSDB上操作。我每分钟使用SCOLLECTOR向OPENTSDB发送数据。我正在寻找的是一种获得所有可能的Tag_Values的方法,用于给定的Tag_Key和Metric_Name,它们都存在于OPENTSDB中。
例如,假设我有,
metric: data.queue.capacity
tags: queue={queue1,queue2,queue3...}我正在存储一些Queues.This数据的容量,这些数据都在OPENTSDB中。我可以使用查询来查询BOSUN的metric=data.queue.capacity值:
q("sum:data.queue.capacity{queue=*}{}","start_time","end_time")它提供了输出:
{queue:queue1} :{"timestamp1":"value1","timestamp2":"value2",...}
{queue:queue2} :{"timestamp1":"value1","timestamp2":"value2",...}
.
.
.返回的结果按不同的队列值分组。很难使用上述响应数据获取所有可能的队列名称,因为:
我想要的是一个API,其中我可以给出一个Metric_Name,Metric_Name和Tag_Key,并且我应该得到一个JSON数据,其中包含在OPENTSDB中的所有可能的Tag_Values,用于该all Tag_KeyE 240。
在搜索之后,我找到了部分解决方案: BOSUN 拥有API来获取所有Tag_values,但只用于那些通过BOSUN转发的度量标准。
API: /api/tagv/{tagk}/{api}
此API接受Tag_key和Metric_Name,并为此组合提供Tag_Values的所有值。
eg: http://bosun-host:port/api/tagv/{tagk}/{metric}
response:
[
"tag_value1",
"tag_value2"
]不过,我仍然没有一个获得度量的Tag_values的解决方案,它不是通过BOSUN转发的,而是直接传递给OPENTSDB的。解决方案可能不涉及BOSUN,它也可以是OPENTSDB API。
发布于 2018-05-02 11:18:55
就Bosun而言,将数据点转发给Bosun以获取标记元数据是标准方法。您可以使用tsdbrelay中继器,以便将度量标准复制到Bosun中,但不要通过Bosun (这样,如果Bosun重新启动或关闭,度量流就不会中断)。
使用OpenTSDB本身,您可以看上去像转化为OpenTSDB元数据 -但是Bosun不使用OpenTSDB的这个特性。
https://stackoverflow.com/questions/50128744
复制相似问题