Короткий ответ: uid grep <metric name>
возвращает список показателей. Выше выход формата:
<metric-name> [uid]
запутанным массив рядом с метрическим именем является только UID метрики.
Некоторые фон (Для того, чтобы более ясно) - OpenTSDB назначает UID к metric
, tagK
, tagV
.
UID - положительное целое число, уникальное для имени UID и его тип. Внутри системы хранения есть счетчик , который увеличивается для каждой метрики, tagk и tagv. Когда вы создаете новую таблицу tsdb-uid , этот счетчик устанавливается в 0 для каждого типа. Так что если вы поставить новую точку данных с метрикой sys.cpu.0 и тегом парой хоста = web01 вы будете иметь 3 новые UID объектов, каждый из которых с УИДОМ 1.
UIDs является (по умолчанию) 3 байта (24 бит) - OpenTSDB отображает (т.е. для HTTP api) этот UID (24 бит) как 3 байтовый массив, который представляет собой запутанный массив из 3 значений, то есть [0, 19, -108]
.
Из docs:
UIDs может отображаться несколькими способами. Наиболее распространенный метод - через HTTP API , где 3 байта данных UID кодируются как шестнадцатеричная строка . Например, UID 1 будет записан в двоичном виде как 000000000000000000000001. В качестве массива значений без знакового байта вы можете представить его как [0, 0, 1]. Закодированный как шестнадцатеричная строка, значение будет 000001, где строка заполняется 0 с для каждого байта. Узел UID 255 приведет к шестнадцатеричному значению 0000FF (или как массив байтов, [0, 0, 255]. Для преобразования между десятичным UID в шестнадцатеричный код используйте любой вид инструмента шестнадцатеричного преобразования, который вы предпочитаете, и положите 0s перед полученным значением , пока у вас не будет всего 6 символов. Чтобы преобразовать из шестнадцатеричного UID в десятичный, просто отбросьте любые 0 с фронта, затем используйте инструмент для , преобразуйте шестнадцатеричную строку в десятичную.
В некоторых инструментах CLI и лог файлы, UID может отображаться в виде массива подписанных байт (благодаря Java), например, приведенному выше примеру [0, 0, 1] или [0, 0, - 28]. Для преобразования из этого подписанного массива в массив из неподписанных байтов, затем в шестнадцатеричный. Например, -28 будет бинарным 10011100 , что приводит к десятичному значению 156 и шестнадцатеричному значению 9C.