Spec-Zone.ru › OpenTSDB

/api/search/lookup

Примечание

Доступно в версии 2.1

Запросы поиска используют таблицу метаданных или основную таблицу данных, чтобы определить, какие временные ряды связаны с заданным метрикой, именем тега, значением тега, парой тегов или их комбинацией. Например, если вы хотите узнать, какие метрики доступны для пары тегов host=web01, вы можете выполнить поиск, чтобы узнать. Для выполнения запросов поиска не требуется установка плагина поиска.

Примечание

Поиск выполняется по таблице tsdb-meta. Для получения данных из поиска необходимо включить создание метаданных в реальном времени или выполнить metasync с помощью команды uid только в командной строке: search

Глаголы

  • GET
  • POST

Запросы

Параметры, используемые конечной точкой поиска, включают:

Имя Тип данных Обязательно Описание По умолчанию QS RW Пример
query Строка Обязательно Запрос поиска, определённый ниже. m tsd.hbase.rpcs{type=*}
useMeta Булево Необязательно Использовать таблицу метаданных или таблицу данных. Таблица данных будет значительно медленнее. False use_meta True
limit Целое число Необязательно Максимальное количество элементов, возвращаемых в наборе результатов. В настоящее время ограничение игнорируется для запросов поиска. 25 100
startIndex Целое число Необязательно Игнорируется для запросов поиска, всегда по умолчанию. 0 10

Запросы поиска

Запрос поиска состоит как минимум из одной метрики, имени тега (tagk) или значения тега (tagv). Каждое значение должно быть буквальным именем в таблице UID. Если данное имя не может быть разрешено в UID, будет возвращена ошибка. В запросе может быть только одна метрика, но может быть несколько tagk, tagv или пар тегов.

Обычно теги предоставляются в формате <tagk>=<tagv> и значение требуется по обе стороны знака равенства. Однако для запросов поиска одно значение может быть звёздочкой *, например <tagk>=* или *=<tagv>. В этих случаях звёздочка действует как символ подстановки, означающий, что будут возвращены все временные ряды с заданным tagk или tagv. Например, если мы выполним запрос для host=*, то мы получим все временные ряды с host tagk, такими как host=web01 и host=web02.

Для сложных запросов с несколькими значениями каждый тип AND'd с другими типами и OR'd с собственным типом.

<metric> AND (<tagk1>=[<tagv1>] OR <tagk1>=[<tagv2>]) AND ([<tagk2>]=<tagv3> OR [<tagk2>]=<tagv4>)

Например, запрос tsd.hbase.rpcs{type=*,host=tsd1,host=tsd2,host=tsd3} вернёт только временные ряды с метрикой tsd.hbase.rpcs и type tagk с любым значением и host тегом со значениями tsd1, tsd2 или tsd3. В отличие от запроса данных, вы можете указать несколько tagk с одинаковым именем, как показано в примере выше. Знаки подстановки всегда имеют приоритет, поэтому, если ваш запрос выглядел как tsd.hbase.rpcs{type=*,host=tsd1,host=tsd2,host=*}, запрос будет интерпретирован как tsd.hbase.rpcs{type=*,host=*}.

Для получения списка всех временных рядов со значением определённого тега, например, конкретного хоста, можно выполнить запрос, такой как {*=web01}, который вернёт все временные ряды со значением тега web01. Это может быть полезно при отладке проблем с именами тегов, таких как некоторые ряды с host=web01 или server=web01.

Пример запроса

Строка запроса:

http://localhost:4242/api/search/lookup?m=tsd.hbase.rpcs{type=*}

POST:

Запросы JSON следуют формату запроса поиска на странице /api/search. Ограничения и начальные значения, обратите внимание, что теги предоставляются как список объектов. Значение для key должно быть tagk, а значение для value должно быть tagv или символом подстановки.

{
  "metric": "tsd.hbase.rpcs",
  "tags":[
    {
      "key": "type",
      "value": "*"
    }
  ]
}

Ответ

В зависимости от вызываемой конечной точки вывод будет немного отличаться. Однако общие поля включают:

Имя Тип данных Описание Пример
type Строка Тип отправленного запроса, т.е. вызываемая конечная точка. LOOKUP
query Строка Игнорируется для запросов поиска.
limit Целое число Максимальное количество элементов, возвращаемых в наборе результатов. В настоящее время ограничение игнорируется для запросов поиска. 25
startIndex Целое число Игнорируется для запросов поиска, всегда по умолчанию. 0
metric Строка Метрика, используемая для поиска. *
tags Массив Список пар тегов, используемых для поиска. Может быть пустым списком. [ ]
time Целое число Время выполнения запроса в миллисекундах. 120
totalResults Целое число Общее количество результатов, соответствующих запросу. 1024
results Массив Набор результатов с TSUID, метрикой и тегами для каждого ряда. См. ниже

Эта конечная точка почти всегда возвращает 200 с содержанием тела. Если запрос не соответствует ни одному результату, поле results будет пустым массивом, а totalResults будет 0. При возникновении ошибки, например, при невозможности разрешения метрики или имени тега в UID, будет возвращена ошибка.

Пример ответа

{
  "type": "LOOKUP",
  "metric": "tsd.hbase.rpcs",
  "tags":[
    {
      "key": "type",
      "value": "*"
    }
  ]
  "limit": 3,
  "time": 565,
  "results": [
    {
      "tags": {
        "fqdn": "web01.mysite.com"
      },
      "metric": "app.apache.connections",
      "tsuid": "0000150000070010D0"
    },
    {
      "tags": {
        "fqdn": "web02.mysite.com"
      },
      "metric": "app.apache.connections",
      "tsuid": "0000150000070010D5"
    },
    {
      "tags": {
        "fqdn": "web03.mysite.com"
      },
      "metric": "app.apache.connections",
      "tsuid": "0000150000070010D6"
    }
  ],
  "startIndex": 0,
  "totalResults": 9688066
}

© 2010–2016 The OpenTSDB Authors
Licensed under the GNU LGPLv2.1+ and GPLv3+ licenses.
http://opentsdb.net/docs/build/html/api_http/search/lookup.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API