обработка времени уведомления с sensu

Я использую Sensu для оповещения. Если что-то пойдет не так с какой-либо службой, это вызовет предупреждение и отправит нам уведомление по электронной почте.

Я только что наткнулся на один документ, в котором я могу изменить время уведомления в нерабочее время, это документ, который я имел в виду.

Я создал правило фильтрации, /etc/sensu/conf.d/filters/nine_to_fiver.json

{
    "filters": {
      "nine_to_fiver": {
        "negate": false,
        "attributes": {
          "timestamp": "eval: [1,2,3,4,5].include?(Time.at(value).wday) && Time.at(value).hour.between?(9,17)"
        }
     }
  }
}

После внесения этого изменения я перезагрузил демона sensu-client на стороне клиента, но я все еще получаю уведомление о почтовом идентификаторе. Что-то не так с правилами фильтрации? Или я что-то упускаю?

Любая помощь будет оценена по достоинству.


person Rahul    schedule 14.11.2017    source источник


Ответы (1)


Фильтры должны применяться на сервере Sensu, а не на клиенте Sensu. Кроме того, фильтр должен находиться на стороне сервера, а обработчик должен быть настроен, чтобы применить фильтр.

Кроме того, вы можете немного пофантазировать с когда поле фильтра.

person vase    schedule 15.11.2017
comment
Огромное спасибо. Я действительно ценю твою помощь. Предполагается ли, что поле фильтра также должно быть настроено на стороне сервера? - person Rahul; 15.11.2017
comment
Атрибуты when могут существовать в любой конфигурации фильтра JSON, поэтому они будут в пределах /etc/sensu/conf.d/filters/nine_to_fiver.json, которые вы изначально показали (так что, да, и на стороне сервера). Я не пробовал, но думаю, что фильтр является эксклюзивным (совпадающие события НЕ обрабатываются), только с eval: true в качестве логики фильтра и блоком when от 9 до 5, может работать. Ваш фильтр взят непосредственно из документации Sensu о том, как фильтровать от 9 до 5, поэтому я бы придерживался этого. - person vase; 15.11.2017
comment
только один вопрос, может ли sudue помочь в этом случае для каждого Проверьте. И если да, то где это можно настроить? - person Rahul; 20.11.2017
comment
Я предполагаю, что subdue и when — это две похожие конструкции, имеющие одну и ту же цель. Разница в том, что subdue настраивается в JSON проверки (то есть на стороне клиента при использовании автономных проверок), а when настраивается в обработчике JSON (всегда на стороне сервера). - person vase; 20.11.2017
comment
хорошо понял. Еще один вопрос, допустим у меня один сервер sensu и 100 клиентов. Но эти 100 клиентов разделены в зависимости от среды. 50 клиентов находятся в производстве и 50 в разработке. Если я хочу настроить subdue только для клиентов среды разработки, как мне это сделать? Могу ли я настроить глобальный фильтр или мне нужно установить его для каждой проверки? - person Rahul; 21.11.2017
comment
Могу я связаться с вами по электронной почте или как-то так, пожалуйста? - person Rahul; 23.11.2017