Как предупредить в Сейрене с помощью графита, если транзакции за последние 60 минут меньше x?

Я использую Graphite+Statsd (с клиентом Python) для сбора пользовательских метрик из веб-приложения: счетчик для успешных транзакций. Допустим, счетчик stats.transactions.count, который также имеет показатель скорости / в / секунду, доступный в stats.transactions.rate,

Я также настроил Seyren как систему мониторинга + оповещения и успешно извлек метрики из Graphite. Теперь я хочу настроить оповещение в Сейрене, если количество успешных транзакций за последние 60 минут меньше определенного минимума.

Какие метрические и графитовые функции я должен использовать? Я пробовал с summarize(metric, '1h') но это дает мне предупреждение каждый час, когда Graphite начинает агрегировать метрику за начальный час.

Обратите внимание, что Сейрен также позволяет указать графит from а также until параметры, если это поможет.

1 ответ

Решение

Я внес код Сейрен в поддержку from/until чтобы справиться с этой точной ситуацией.

Следующая конфигурация должна выдавать предупреждение, если счет за последний час падает ниже 50, и ошибку, если он падает ниже 25.

  • Цель: обобщение (nonNegativeDerivative(stats.transactions.count),"1h","sum",true)
  • От: -1ч
  • Кому: [пусто]
  • Предупреждения: 50 (минимум мягких)
  • Ошибка: 25 (жесткий минимум)

Обратите внимание, что это будет выполняться каждую минуту, поэтому "последний час" представляет собой скользящую шкалу. Также обратите внимание, что третий логический параметр true для функции суммирования говорит ему, чтобы выровнять его 1 ч ведро с FromЭто означает, что вы получаете полный 1-часовой сегмент, начинающийся 1 час назад, а не случайно получаемый половиной. (Более новые версии Graphite могут делать это автоматически.)

Ваш пробег может отличаться. У меня были проблемы с этим подходом, когда счетчик возвращается к 0 при перезапуске сервера. Но в моем случае я использую метрики dropwizard + графит, а не statsd + графит, поэтому у вас может не быть такой проблемы.

Пожалуйста, дайте мне знать, если этот подход работает для вас!

Другие вопросы по тегам