Сбой запроса пользовательских метрик, предоставляемых через сборщик текстового файла экспортера узла prometheus - PullRequest
0 голосов
/ 09 июня 2018

Я новичок в prometheus / alertmanager.

Я создал задание cron, которое выполняет сценарий оболочки каждую минуту.Этот сценарий оболочки создает файл «test.prom» (с метрикой индикатора в нем) в том же каталоге, который назначен аргументу --textfile.collector.directory (узлу-экспортеру).Я проверил (используя curl http://localhost:9100/metrics), что узел-экспортер правильно выставляет эту пользовательскую метрику.

Когда я пытался выполнить запрос к этой пользовательской метрике на панели инструментов Prometheus, он не показывает никаких результатов(он говорит, что данные не найдены).

Я не мог понять, почему запрос к метрике, выставленной через сборщик текстового файла узла-экспортера, завершается неудачей. Любые подсказки, что я пропустил? Также, пожалуйста, дайте мне знать, какпроверить и убедиться, что prometheus удалил мою пользовательскую метрику 'test_metric`?

Мой запрос на панели инструментов Prometheus - test_metric != 0 (на панели инструментов Prometheus), который не дал никаких результатов. Но я выставил test_metric черезТекстовый файл-экспортер узлов.

Любая помощь приветствуется !!

Кстати, экспортер узлов работает в качестве док-контейнера в среде Kubernetes.

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

У меня была похожая ситуация, но это не было проблемой конфигурации.

Вместо этого мои данные включали метки времени:

# HELP network_connectivity_rtt Round Trip Time to each node
# TYPE network_connectivity_rtt gauge
network_connectivity_rtt{host="home"} 53.87 1541426242
network_connectivity_rtt{host="hop_1"} 58.8 1541426242
network_connectivity_rtt{host="hop_2"} 21.93 1541426242
network_connectivity_rtt{host="hop_3"} 71.69 1541426242

PNE собирал их без проблем как только я перезагрузил это .Поскольку prometheus работает под systemd, мне пришлось проверять журналы следующим образом:

journalctl --system -u prometheus.service --follow

Там я прочитал эту строку:

msg="Error on ingesting samples that are too old or are too far into the future"

После того, как я удалил метки времени, начали появляться значения.Это заставило меня прочитать более подробно о временных метках, и я обнаружил, что они должны быть в милисекундах .Так что теперь этот формат в порядке:

# HELP network_connectivity_rtt Round Trip Time to each node
# TYPE network_connectivity_rtt gauge
network_connectivity_rtt{host="home"} 50.47 1541429581376
network_connectivity_rtt{host="hop_1"} 3.38 1541429581376
network_connectivity_rtt{host="hop_2"} 11.2 1541429581376
network_connectivity_rtt{host="hop_3"} 20.72 1541429581376

Я надеюсь, что это поможет кому-то еще.

0 голосов
/ 13 июня 2018

Это мое плохо.Я не включил инструкции по очистке для узла-экспортера в файл prometheus.yaml.Сработало после включения их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...