просто запрашивать точки данных без указания каких-либо агрегаторов в openTSDB

Я новичок в OpenTSDB и БД временных рядов. Я быстро просмотрел его документацию, но все еще не понимаю некоторых вещей. Меня в основном не интересуют функции агрегатора, такие как сумма и т. Д. Мне нужно хранить такие показатели, как задержка репликации, количество медленных запросов, статус машины 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 и почему это требуется и как его опустить и просто получить точки данных, соответствующие этому хосту, в течение указанного времени. Заранее спасибо!


person GothamGirl    schedule 10.09.2014    source источник


Ответы (1)


На самом деле агрегатор необходим в вашем запросе, но это не значит, что он будет использоваться всегда. В вашем случае, как вы заметили, это просто игнорируется, и вы получаете точки данных, как вы их предоставили в первую очередь.

Агрегатор имел бы реальную роль, если бы, например, в вашем запросе не был указан тег хоста и значение для него. В этой ситуации OpenTSDB суммирует значения для обоих хостов, прежде чем вернуть их вам, и, чтобы было ясно, поле «aggregateTags» будет заполнено хостами, которые он использовал в сумме.

person Vitor    schedule 11.03.2015
comment
Еще я обнаружил, что не существует агрегатора, который будет возвращать необработанные данные. Для полного списка используйте этот локальный хост: 4242/api/aggregators - person Paul; 26.07.2018