В настоящее время у меня есть следующий запрос 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, которые мы создаем для обработки загруженных файлов. Каждое задание обычно занимает около секунды, поэтому Прометей не может построить правильную серию.