Ложные срабатывания

Ложные срабатывания (false positives) являются одной из причин, которые часто значительно понижают эффективность использования систем мониторинга. Если система часто кричит "Волки!" - дает ложные срабатывания, которые на самом деле не требуют срочного вмешательства, чтобы исправить ситуацию - то со временем это становится нормой, и затем сообщения о настоящих проблемах - теряются на их фоне.

Мы постарались сделать так, чтобы okerr предоставлял достаточно возможностей для создания системы мониторинга без (или почти без) ложных срабатываний.

Оповещения (alert) высылаются только тем участникам проекта, который на них подписан. Это позволяет пользователю системы отписаться от оповещений по тем индикаторам, за которые он не отвечает.

Для проведения запланированных работ - есть режим обслуживания (maintenance). Индикатор в этом режиме работает так же, но не отсылает оповещения. Это позволяет команде технических специалистов проводить работы и тестирование системы, без поднимания всей остальной команды по тревоге. Время начала и конца режима обслуживания, продолжительность и имя пользователя, включившего/выключившего его, записываются в журнале индикатора.

Для таких параметров, как Load Average - где возможны кратковременные всплески выше допустимого предела (и они не являются поводом для тревоги если вскоре прекращаются) - есть возможность разделить индикатор на два, условно назовем их индикаторами высокого и низкого уровня. Низкоуровневый отражает реальное состояние индикатора, периодически может выходить в состоянии ERROR, но он не будет рассылать оповещение (если установить флаг silent). В то время как индикатор высокого уровня, следит за состоянием этого индикатора низкого уровня, и поднимает тревогу, если низкий индикатор находится в состоянии ERROR дольше какого-то времени. Таким образом, оповещение произойдет только если проблема продолжается достаточно долго, более допустимого предела.

Для периодических операций, например, ежедневной перегрузке сервера с 5 до 6 утра, индикатор высокого уровня может проверять состояние сервера (отраженного в индикаторе низкого уровня), и поднимать тревогу только если он недоступен в незапланированное время, или если пропал более чем на 20 минут.

Для активных проверок (например, проверка SSL сертификата вебсервера) - используется расписание перепроверок. Например, по умолчанию оно равно "30 600". Если инидикатор в состоянии OK и проверка по какой-то причине окажется неуспешной, она будет повторена через 30 секунд. Если опять неудача - еще раз через 600. И только если последняя перепроверка тоже показала ошибку, индикатор переключится из OK в ERR. Ошибки в веб-трафике достаточно редки, но случаются и при большом количестве индикаторов - могут случаться хотя бы по разу каждый день (например, одна из проверок 300 сертификатов может попасть на момент рестарта вебсервера или кратковременного всплеска нагрузки). Подход с расписанием перепроверок позволяет убрать и этот тип ложных срабатываний.