Spec-Zone.ru › OpenTSDB

/api/search

Этот конечный пункт предоставляет базовый способ поиска метаданных OpenTSDB. Поиск может выполняться в таблице tsdb-meta при её включении. Дополнительно можно установить плагин поиска для отправки и получения информации из внешней индексной службы поиска, такой как Elastic Search. Каждый плагин поиска должен реализовывать различные части этого конечного пункта и возвращать данные в согласованном формате. Тип искомого и возвращаемого объекта зависит от выбранного конечного пункта.

Примечание

Если плагин не настроен или не включён, конечные пункты, отличные от /api/search/lookup, вернут исключение.

Конечные пункты API поиска

  • /api/search/lookup
  • /api/search/tsmeta - Ответ TSмета
  • /api/search/tsmeta_summary - Ответ TSмета_резюме
  • /api/search/tsuids - Ответ TSUIDS
  • /api/search/uidmeta - Ответ UIDMETA
  • /api/search/annotation - Ответ Аннотация

Глаголы

  • GET
  • POST

Запросы

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

Имя Тип данных Требуется Описание Значение по умолчанию QS RW Пример
query Строка Необязательно Строковое выражение для запроса к поисковой системе. Оно будет обработано системой или плагином для выполнения фактического поиска. Допустимые значения зависят от плагина. Игнорируется для запросов lookups. query name:sys.cpu.*
limit Целое число Необязательно Ограничивает количество возвращаемых результатов на запрос, чтобы не перегружать TSD или поисковую систему. Допустимые значения зависят от плагина. Игнорируется для запросов lookups. 25 limit 100
startIndex Целое число Необязательно Используется в сочетании со значением limit, чтобы просматривать результаты по страницам. Допустимые значения зависят от плагина. Игнорируется для запросов lookups. 0 start_index 42
metric Строка Необязательно Имя метрики или символ подстановки для запросов lookups * metric tsd.hbase.rpcs
tags Массив Необязательно Один или несколько пар ключ-значение с именами тегов и/или значениями тегов для запросов lookups. Смотрите /api/search/lookup tags См. /api/search/lookup

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

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

http://localhost:4242/api/search/tsmeta?query=name:*&limit=3&start_index=0

POST:

{
  "query": "name:*",
  "limit": 4,
  "startIndex": 5
}

Ответ

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

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

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

Ответ TSмета

Конечный пункт TSMeta возвращает список соответствующих объектов TSMeta.

{
  "type": "TSMETA",
  "query": "name:*",
  "metric": "*",
  "tags": [],
  "limit": 2,
  "time": 675,
  "results": [
    {
      "tsuid": "0000150000070010D0",
      "metric": {
        "uid": "000015",
        "type": "METRIC",
        "name": "app.apache.connections",
        "description": "",
        "notes": "",
        "created": 1362655264,
        "custom": null,
        "displayName": ""
      },
      "tags": [
        {
          "uid": "000007",
          "type": "TAGK",
          "name": "fqdn",
          "description": "",
          "notes": "",
          "created": 1362655264,
          "custom": null,
          "displayName": ""
        },
        {
          "uid": "0010D0",
          "type": "TAGV",
          "name": "web01.mysite.com",
          "description": "",
          "notes": "",
          "created": 1362720007,
          "custom": null,
          "displayName": ""
        }
      ],
      "description": "",
      "notes": "",
      "created": 1362740528,
      "units": "",
      "retention": 0,
      "max": 0,
      "min": 0,
      "displayName": "",
      "dataType": "",
      "lastReceived": 0,
      "totalDatapoints": 0
    },
    {
      "tsuid": "0000150000070010D5",
      "metric": {
        "uid": "000015",
        "type": "METRIC",
        "name": "app.apache.connections",
        "description": "",
        "notes": "",
        "created": 1362655264,
        "custom": null,
        "displayName": ""
      },
      "tags": [
        {
          "uid": "000007",
          "type": "TAGK",
          "name": "fqdn",
          "description": "",
          "notes": "",
          "created": 1362655264,
          "custom": null,
          "displayName": ""
        },
        {
          "uid": "0010D5",
          "type": "TAGV",
          "name": "web02.mysite.com",
          "description": "",
          "notes": "",
          "created": 1362720007,
          "custom": null,
          "displayName": ""
        }
      ],
      "description": "",
      "notes": "",
      "created": 1362882263,
      "units": "",
      "retention": 0,
      "max": 0,
      "min": 0,
      "displayName": "",
      "dataType": "",
      "lastReceived": 0,
      "totalDatapoints": 0
    }
  ],
  "startIndex": 0,
  "totalResults": 9688066
}

Ответ TSмета_резюме

Конечный пункт TSMeta Summary возвращает только основную информацию, связанную со временным рядом, включая TSUID, имя метрики и теги. Поиск выполняется по тому же индексу, что и запрос TSMeta, но возвращает подмножество данных.

{
  "type": "TSMETA_SUMMARY",
  "query": "name:*",
  "metric": "*",
  "tags": [],
  "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
}

Ответ TSUIDS

Конечный пункт TSUIDs возвращает список TSUID, соответствующих запросу. Поиск выполняется по тому же индексу, что и запрос TSMeta, но возвращает подмножество данных.

{
  "type": "TSUIDS",
  "query": "name:*",
  "metric": "*",
  "tags": [],
  "limit": 3,
  "time": 517,
  "results": [
    "0000150000070010D0",
    "0000150000070010D5",
    "0000150000070010D6"
  ],
  "startIndex": 0,
  "totalResults": 9688066
}

Ответ UIDMETA

Конечный пункт UIDMeta возвращает список объектов UIDMeta, соответствующих запросу.

{
  "type": "UIDMETA",
  "query": "name:*",
  "metric": "*",
  "tags": [],
  "limit": 3,
  "time": 517,
  "results": [
    {
      "uid": "000007",
      "type": "TAGK",
      "name": "fqdn",
      "description": "",
      "notes": "",
      "created": 1362655264,
      "custom": null,
      "displayName": ""
    },
    {
      "uid": "0010D0",
      "type": "TAGV",
      "name": "web01.mysite.com",
      "description": "",
      "notes": "",
      "created": 1362720007,
      "custom": null,
      "displayName": ""
    },
    {
      "uid": "0010D5",
      "type": "TAGV",
      "name": "web02.mysite.com",
      "description": "",
      "notes": "",
      "created": 1362720007,
      "custom": null,
      "displayName": ""
    }
  ],
  "startIndex": 0,
  "totalResults": 9688066
}

Ответ Аннотация

Конечный пункт Annotation возвращает список объектов Annotation, соответствующих запросу.

{
  "type": "ANNOTATION",
  "query": "description:*",
  "metric": "*",
  "tags": [],
  "limit": 25,
  "time": 80,
  "results": [
    {
      "tsuid": "000001000001000001",
      "description": "Testing Annotations",
      "notes": "These would be details about the event, the description is just a summary",
      "custom": {
        "owner": "jdoe",
        "dept": "ops"
      },
      "endTime": 0,
      "startTime": 1369141261
    }
  ],
  "startIndex": 0,
  "totalResults": 1
}

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

Spec-Zone.ru

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