Как создать простой счетчик метри c с помощью Прометея - PullRequest
0 голосов
/ 16 апреля 2020

Независимо от того, сколько я читаю документы Prometheus, я не могу получить то, что ожидаю увидеть из запросов, которые я пишу. Я чувствую, что должен подходить к задаче полностью ортогонально тому, как я должен. Так что, может быть, кто-то может помочь мне, проработав пример.

Допустим, у меня есть служба, считывающая файл и POST для конечной точки API для каждой строки в файле, и, скажем, служба запускается раз в минуту и ​​занимает около 10 секунд до завершения.

Я бы хотел построить график, показывающий количество успешных POST за определенный период времени. Моя интуиция заключается в использовании типа Counter или Gauge metri c, потому что они самые простые, но нам на самом деле не нужно записывать целочисленное значение, потому что подсчет # POSTS будет выполняться с использованием функций prometheus. Поэтому я создаю калибр JOB_SUCCESS, который увеличивается на 1 каждый POST.

count(JOB_SUCCESS) показывает плоскую горизонтальную линию == # POSTS, которые произошли до сих пор. По мере появления новых сообщений POST планка поднимается за все время, поэтому я не могу сказать, сколько сообщений произошло в час X против часа Y.

count_over_time(JOB_SUCCESS[N]) показывает что-то совершенно другое в зависимости от значения N, но я не понять, что оно представляет, потому что оно никогда не уменьшается. Если работа останавливается, значение остается неизменным ... хотя, по-видимому, нечего рассчитывать за N раз. Если задание выполняется один раз в минуту в течение всего 10 секунд, оно увеличивается на 10 секунд и плато на 50, а затем снова поднимается. Я ожидаю, что go вернется к 0. Как мне просто показать количество запросов с течением времени?

1 Ответ

0 голосов
/ 16 апреля 2020

Возможно, я понял это, но оставлю это на всякий случай, если у кого-то есть лучшее предложение. count(rate(JOB_SUCCESS[1m]))

Единственная проблема, которую я не понимаю, заключается в том, что мне кажется произвольная минимальная детализация, для меня 1 минута. Короче, статистика исчезает. В дальнейшем значения на графике растут, поэтому я предполагаю, что один POST учитывает несколько показателей в пределах окна времени.

...