3

Я пытаюсь использовать Prometheus для отслеживания количества запросов на мой сервер с течением времени. Поскольку мои серверы будут автоматически масштабироваться горизонтально с помощью Google Compute Engine, я могу только надавить свой показатель на удаленный push-шлюз. Мои серверы будут удалены и повторно созданы в любой момент времени.Прометей для отслеживания запросов на серверах с автоматическим масштабированием

Проблема в том, что всякий раз, когда создается новый сервер, или даже экземпляр счетчика создается с использованием клиентской библиотеки python, the count value is reset to 0. Я также вижу, что график идет вверх и вниз, а не всегда увеличивается.

enter image description here

Что такое правильный способ, чтобы отслеживать общее количество запросов с помощью Прометея, когда в авто-scalled среде?

EDIT:

Существует еще одно сообщение о точно такой же проблемой, только в немного другой сценарий. Prometheus how to handle counters on server. Кажется, серверы должны каким-то образом отслеживать состояние счетчика самостоятельно. Прометей записывает все значения, присланные ему в этот момент, толкает или тянет. Это означает, что значение счетчика не всегда увеличивается, если серверы просто вызывают counter.inc(). Другими словами, следующий документ в документе применяется только в стороне клиентской библиотеки.

Счетчик представляет собой совокупную метрику, которая представляет собой единственное числовое значение, которое только увеличивается.

ответ

2

Поскольку мои сервера будут автоматически scalled по горизонтали с помощью Google Compute Engine, я могу только толкать мою метрику к удаленному нажимному шлюзу. Мои серверы будут удалены и повторно созданы в любой момент времени.

Это не совсем так. Вы можете использовать сервисное обнаружение, чтобы автоматически обнаруживать ваши узлы и контролировать их в обычном модуле Prometheus.

pushgateway предназначен только для пакетных заданий по уровню обслуживания, см https://prometheus.io/docs/practices/pushing/

+0

Поскольку существование это серверная динамична, Prometheus не может получить данные по времени до того, как сервер будет удален. Однако теперь проблема заключается в том, что мое значение счета не может накапливаться между экземплярами и реестрами. Будет ли эта проблема решена, если я вместо этого использую вытаскивание? Причина воссоздания реестров каждый раз заключается в том, что как-то повторное использование реестра в какой-то момент приведет к 500 Server Error в push-шлюзе. – Andy

+0

Есть много гонок в мониторинге, и если честно, если вы так часто поднимаете/опускаете серверы, что теряете заметное количество образцов, тогда вам нужно настроить гистерезис на автомасштабирование, чтобы уменьшить колебания. Агрегация - это вопрос скорости счета, а затем сумма этого. –

+0

Думаю, у вас есть точка. Я могу просто объединить результаты, чтобы получить общую сумму. Не могли бы вы поместить это в ответ, чтобы я мог принять его? Что касается колебаний, я стараюсь минимизировать стоимость машины, используя небольшие экземпляры. Побочным эффектом является быстрое изменение статуса трафика. – Andy