Есть ли способ в promql получить все доступные имена меток с помощью thanos api?

У меня есть promql, который дает мне результат метрики в целом с сервера, но я заинтересован в фильтрации и получении результатов для определенного значения, но я не уверен, каким может быть имя метки для этого значения, если я могу увидеть все доступные имена, я смогу хотя бы попасть в него методом проб и ошибок, но без названий ярлыков я ничего не могу сделать.

3 ответа

Хотя PromQL не предоставляет функции для возврата всех доступных имен меток, API запросов Prometheus предоставляет такие функции через обработчик /api/v1/labels.

Этот обработчик поддерживает необязательные start а также endаргументы запроса, которые могут использоваться для ограничения временного диапазона для возвращаемых имен меток. VictoriaMetrics также поддерживаетmatch[]аргументы запроса, которые можно использовать для дополнительной фильтрации временных рядов. Например, запрос к/api/v1/labels?match=foo{bar="baz"} вернет только имена меток для сопоставления временных рядов foo{bar="baz"} селектор временных рядов. См. Эти документы для получения более подробной информации.

Ответ @valyala полезен для имен меток/метрик. Но если вы хотите получить все значения метки, вы можете вызвать/api/v1/label/{YOUR_LABEL_NAME}/values. См. документы . Например:

      $ curl http://localhost:9090/api/v1/label/instance/values
{
   "status" : "success",
   "data" : [
      "node1",
      "node2",
      "node3",
   ]
}

/api/v1/labelsподходит для пользователей Prometheus, но поведение Thanos несколько несовместимо , поэтому будьте осторожны при использовании этого API.

Другие вопросы по тегам