Мониторинг использования ЦП процессами с очень коротким временем жизни с помощью Prometheus - PullRequest
0 голосов
/ 04 августа 2020

В настоящее время у меня есть следующий запрос Prometheus:

sum by(instance) (rate(windows_process_cpu_time_total{process!~"Idle"}[2m]))
/ on(instance) group_left sum by(instance) (rate(windows_cpu_time_total[2m]))

Это дает мне процент процессора, используемого на сервере. Однако, похоже, он не может обрабатывать процессы с очень коротким сроком службы (1 секунда от начала до остановки). Я предполагаю, что это связано с тем, что функция rate требует точек в течение всего временного ряда, чтобы иметь возможность дать полезный результат. Часто данный процесс появляется в серии только один раз, что делает невозможным его включение в результат, который функция sum затем пропускает.

Есть ли способ обойти это?

В соответствии с этим вопросом: Кратковременный мониторинг python Процессы пакетного задания с использованием Prometheus Мне, вероятно, понадобится какой-то способ добавления интрументации непосредственно из того места, где создается процесс. Процессы, с которыми у меня конкретно возникла проблема, - это задания ImageMagick, которые мы создаем для обработки загруженных файлов. Каждое задание обычно занимает около секунды, поэтому Прометей не может построить правильную серию.

...