Я отслеживаю использование дискового пространства с помощью метрического удара.
Теперь я хочу получать оповещения через Elastalert в зависимости от размера диска.
Оповещение, когда используемое дисковое пространство пересекает 50%
Оповещение, когда используемое дисковое пространство пересекло 70%
Оповещение, когда используемое дисковое пространство пересекло 80%
Оповещение, когда использованное дисковое пространство пересекает 95%
Оповещение, когда используемое дисковое пространство пересекло 100%
Теперь выгода заключается в том, что оповещения следует поднимать только один раз, когда они пересекают определенные пороги (50, 70, 80, 95, 100)
Таким образом, если предупреждение уже отправлено для пересечения отметки 50%, оно не должно отправлять предупреждение для 50,1% / 50,2% / ... / 69,9%
Следующее предупреждение должно подниматься только тогда, когда оно пересекает 70%.
Первоначальный подход:
If (dir size==50 || dir size==70 || dir size ==80 || dir size==95 || dir size ==100)
alert
Я планировал использовать «любое правило», чтобы сопоставить поле дискового пространства с различными значениями и предупреждением. Но это также может генерировать ложные оповещения, причина в том, что если хранилище заполнено на 50,0% (без учета новых данных, записываемых в БД) за последние 1 час, и если мы оцениваем правила каждые 10 минут, оно будет вызывать оповещение 6 раз за этот час , Также я не хочу использовать realert, так как не знаю, как долго ждать.
Подход v1:
Составьте n номеров конфигов правил, где n - количество различных условий.
используйте настройку realert, которая настолько длинна, что фактически «никогда»
realert:
weeeks: 9999
Этот подход не идеален, так как нам нужны повторные оповещения.
Пример - Когда использование падает ниже 50%, а затем снова пересекает 50%, требуется оповещение.
Подход v2:
Комбинация двух правил может быть использована. (только на 50%)
Правило 1: проверить дисковое пространство> = 50, отправить почту, включить правило 2 и отключить себя с помощью команды
Правило 2: проверьте дисковое пространство <50, включите правило 1, отключите себя с помощью команды. </p>
Есть ли лучший подход?