Okerr: мониторинг для малых и средних проектов
Главное предназначение okerr - автоматически обнаруживать проблемы и оповещать пользователя.
Обычно мониторинг либо пишут сразу “большие ребята” (Например, популярный сегодня Prometheus создавался SoundCloud), либо большие ребята спонсируют проекты и заказывают фичи. Из-за этого продукт становится более удобный для их задач, а задачи малого-среднего бизнеса обычно отличаются.
Что делает okerr особенным
Самостоятельный, автоматический мониторинг
В okerr каждый индикатор (понятие, близкое к понятию метрика в prometheus) имеет два состояния - либо OK
либо ERR
, лампочка либо горит зеленым, либо красным. Все зеленое? Хорошо, отдыхаем. Что-то красное - паникуем и чиним. При переходе между состояниями высылается алерт (email/telegram). Внутри, под этим, может быть количественная величина (например, температура процессора или трафик) или строковая, но главное предназначение мониторинга - чтобы мониторинг сам за вас проверял все, что можно и оповещал о проблемах или аномалиях.
Мониторинг с Prometheus/Grafana: Высокооплачиваемые аналитики напряженно смотрят в красивые графики и думают.
Мониторинг с Okerr: Вы делаете свои дела и имеете обоснованную уверенность, что с вашей сетью и серверами все в порядке. Если вдруг будет не в порядке - вы получите оповещение.
Внешнее наблюдение более надежно
Okerr позволяет выполнять внешние проверки, например, доступен ли вебсайт или SMTP сервер снаружи? Кроме того, сам сервер окерр может быть внешним - в результате, он обнаружит, если наблюдаемые сервера недоступны. А как вы получите алерт с хостовой системы мониторинга, если он выключен?
Использовать или нет свой собственный сервер okerr (или пользоваться нашим) - вопрос выбора. Можно сэкономить время и не ставить его, не администрировать.
Все что надо - есть сразу же из коробки
Dashboard создается автоматически. Алерты в почту и/или телеграм - автоматически высылаются. (Если надо можно что-то отключить). Так же из телеграмма можно быстро посмотреть, все ли в порядке (какие индикаторы не в порядке). Если мониторинга нет, то начать пользоваться okerr и подключить первый сервер можно за 20 минут.
Что может отслеживать okerr?
Я расскажу, что он отслеживает у нас:
- Те же параметры, которые обычно отслеживают и другие мониторинги:
- Объем свободного места на диске
- Load average
- Аномалии (например, лог файл растет необычно быстро)
- Трафик с серверов
- HTTP статусы и контент веб-страниц (если вдруг наш сайт изменился, может PHP Error, может дефейс, может просто сервер прилег)
- Список открытых портов на каждом сервере
- Свежесть всех сертификатов (предупреждает, если скоро протухнет. Например, если автообновление не прошло.)
- Срок оплаты доменов (предупредит, если наш скоро протухнет, или если чужой сладкий домен освободился)
- Самый свежий бэкап каждого сервера создан не позднее суток и его размер разумный (не сильно меньше)
Расширяется okerr легко, разными способами. Например, достаточно написать свой скрипт/команду, которая выдаст OK или ERR или число (температура процессора) или код выхода. Например systemctl status nginx
- вполне нормальная команда, которую можно легко добавить в okerr чтобы он (изнутри сервера) отслеживал nginx.
Отказоустойчивость (Failover)
Okerr может (через Dynamic DNS) перенаправлять трафик на работающий сервер, если вдруг обнаруживается проблема на одном из серверов. Например, есть проект вечно живущая страница cat.okerr.com. Странится хостится на трех разных серверах. Главный “ломается” (пишет status=ERR вместо status=OK) в 20-ую минуту каждого часа. И okerr тут же перенаправляет DNS запись на резервный сервер. Тот тоже “ломается” в 40 минут. И okerr перенаправляет на последний, “sorry” сервер. В 0 минут следующего часа все сервера “оживают”, okerr это замечает и перенаправляет DNS запись снова на главный сервер.
Страницы статуса
Страница статуса, например статус okerr позволяет отобразить ключевые индикаторы, чтобы пользователи видели, все ли у вас в порядке. Кроме того, есть микро-блог, где можно написать текущее состояние дел, и прогноз на ближайшее время. Согласитесь, для пользователя ситуация “У нас что-то поломалось, мы уже в курсе и чиним, через полчаса зайдите - будет работать” гораздо лучше чем просто неопределенность, когда система не работает, непонятно почему (может ему надо комп перегружать и на вирусы проверять) и непонятно чего ждать. Пользователи любят открытость, прозрачность и ответственные IT службы.
Как okerr меняет подход к работе?
Утром, перед началом работы, приходит общая сводка от okerr, и видно, все ли в порядке. Если проблема предсказуемая (как протухающий сертификат), мы о ней узнаем вовремя и исправляем, пока она не случилась. Если непредсказуемая - узнаем сразу как обнаружилась (проверять можно хоть каждую минуту) и иногда можем исправить до гневного звонка клиентов.
Если вдруг проблема случилась где-то и как-то так, что окерр ее не видел… пишем небольшую проверочку за 10 минут и пусть автоматически себе проверяет. Как правило, проблемы, которые второй раз уже никогда не случатся, случаются примерно через полгода.