Игнорировать проверки на основе зависимостей от Uchiwa с использованием Sensu

В настоящее время я использую sensu и Uchiwa в попытке избавиться от Zabbix, проблема в том, что некоторые проверки сохраняются, даже если они зависят от других проверок. Например: у меня есть проверка, которая проверяет, активен ли процесс vpn:

    "vpn-process": {
  "command": "check-process.rb -f /var/run/openvpn/client.pid",
  "subscribers": [
    "uni"
  ],
  "interval": 60,
  "dependencies": [
    "http-url1",
    "http-url2",
    "http-url3"
  ]
},

И у меня также есть проверка ответа http, но это не должно работать, если vpn не работает.

    "http-url1": {
  "command": "python /etc/sensu/plugins/check-http.py https://url",
  "subscribers": [
    "uni" 
  ],
  "interval": 60
}, 

Тем не менее, Учива предупреждает о проверках VPN и HTTP. Uchiwa показывает проверки VPN и HTTP

Я читал о фильтрах проверки зависимостей, но насколько мог поймите, это работает только для обработчиков, а Учива не является обработчиком?


person Rebeca Maia    schedule 28.11.2017    source источник


Ответы (2)


Кажется, вы не можете использовать Uchiwa в качестве обработчика (я проверил с сопровождающими), мне пришлось написать свой собственный на питоне, чтобы вызывать API каждый раз, когда VPN не работает, и отключать проверки, которые я не хочу показывать в приборная доска. Таким образом, я создал свою собственную зависимость.

person Rebeca Maia    schedule 14.12.2017

Uchiwa отображает текущее состояние событий в системе — это пассивный просмотр проверок/событий, тогда как обработчики активны. Проверка HTTP будет выполняться по расписанию, даже если VPN не работает, и будет считаться CRITICAL независимо от того, есть ли у вас фильтр зависимостей.

Единственный способ, чтобы проверка HTTP не приводила к значению CRITICAL, если VPN не работает, — это если вы каким-то образом можете проверить этот случай в рамках проверки HTTP и вернуть другое значение вместо CRITICAL. Однако сбой VPN может выглядеть очень похоже на другие проблемы, связанные с сетью, поэтому, вероятно, лучше избегать этого сценария.

Может быть, попробовать превратить проверки VPN и HTTP в агрегат проверок?

person vase    schedule 29.11.2017
comment
Спасибо за ответ, Ваза! Если я не ошибаюсь, функция агрегирования позволяет отправить один чек нескольким клиентам и получить несколько результатов. В моем случае я хочу иметь проверки, которые будут выполняться только в том случае, если первая проверка в порядке (sensu будет выполнять проверку http, только если проверка vpn в порядке). - person Rebeca Maia; 29.11.2017