Как стать автором
Обновить

Комментарии 15

Подпишусь под мыслью, что никакие графики не заменят хороший, вовремя отправленный алерт. Всегда стоит начинать с алертов, и затем уже добавлять графики по желанию.
Бывало, что график есть, мы на него посматриваем, мы спокойны. Но забыли о том, что алерт так и не настроен. Как закономерность — поломку просмотреть проще простого.


Простите :), не могу не упомянуть https://github.com/balerter/balerter
Мы создали у себя этот инструмент как раз для тонкой настройки алертов. Когда появилась необходимость не только по временнЫм рядам делать анализ, но и по данных из различных БД, из логов (loki) и тд;

Интересная штука, спасибо, схоронил

У инженеров не возникает трудностей в написании скриптов? Не бывает ситуаций, когда плохо написанный скрипт аффектит производительность?

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

С написанием проблем не возникает, так как пишут те, кто умеет писать в общем то. С проблемами производительности тоже не сталкиваемся, так как скрипты выполняются не "каждую секунду".
GUI хорошо. Но когда мы столкнулись с кейсами, где для принятия решения об алерте надо получить инфо из prometheus, clickhouse и postgres, вот тут такой проект и родился. Потому и только скрипты. Что, в общем-то, не отменяет возможности приделать к balerter какой-то GUI для создания скриптов)

Я бы начинающим дал такой совет: собирать как можно меньше метрик… Например подключив шаблон коммутатора доступа, система монитоинга будет забита 24 или 48 * колочество метрик для каждого порта (от 1 до 10-15) т.е. можно получать несколько сотен метрик, с одного только устройства, по сути ничего не значащей информации, и если будут активны триггеры (алерты) то будут генериться какие то события, а по сути пользователь выключил или перезагрузил компютер. При этом во время реального сбоя, когда он произойдет (выход из строя устройства), вы можете даже не успеть увидеть алерт в мониторинге, т.к. вам уже оборвут телефон.
В тоже время, очень важно иметь мониторинг резервных каналов или нод т.к. за месяцы и годы эксплуатации резерв может сам по себе выйти из строя и в нужный момент подведет.
Так же рекомендую 7 раз подумать об уровнях тревоги, если уровень катастрофа, то то это реально должна быть катастрофа, а не повисший сервис. Низкая чувствительность событий по началу будет доставлять, но со временем начнутся восприниматься как спам, и реально критичное событие(ошибка чтения/записи диска) будет проигнорировано. И уж точно раз 20 подумать, какие сообщения и в какое время следует отправлять по СМС.

Метрик лучше собирать больше. Если это не очень дорого по деньгам выходит.
Отправляются и пусть отправляются, лежат себе в бд и пусть лежат. Есть не просят, никому не мешают.


Когда они понадобятся для поиска редкой ошибки собрать метрики за прошлое уже не выйдет.

НЛО прилетело и опубликовало эту надпись здесь
Не факт. Но если данных нет то и посмотреть точно некуда. А если есть данные, то есть шанс что они что-то покажут.

Я не про обычную отладку. А скорее про поиск аномалий. Когда очень хочется посмотреть а не было ли чего-то похожего раньше? И если посмотреть некуда это очень обидно и заметно затрудняет поиск.
Вы, конечно, правы в том, что несколько сотен метрик могут доставлять неудобство, но если такая ситуация возникла, значит у вас что-то не так с их организацией.
В вашем примере, как мне кажется, метрики портов можно группировать по номерам портов и вынести на отдельный дашборд.

К тому же, как уже заметили, заранее не предугадать, пригодится ли та или иная метрика, и когда, а потому, уж лучше пусть они будут. Тут как у самураев — если меч понадобится один раз, ты будешь носить его всю жизнь.

А с позицией по алертингу полностью согласен — только строгая организация, только тонкая настройка.
Итак, вы решили создать систему мониторинга. Первым шагом предлагаю задуматься о том какие метрики собирать:


Нужно задуматься не об этом, а о том с чего собирать, в контексте какие у Вас ОС и железо. Ну например у Вас AIX и Oracle, да случай наверно редкий, еще более редкое IBM zSeries, но оно есть. И зная это у вас резко, причем прям реально резко сокращается круг решений, сразу отпадает например прометей. Ну что остается сами догадайтесь.

Так что начинать нужно не с того что хочется, а с того что есть у Вас и что потенциально может быть.

Такое хорошее начало было у статьи… А потом все скатилось опять в "инженерный мониторинг". Это не плохо, но оно не дает на самом деле понимания реального положения дел. Простой пример из жизни — по всем метрикам почтовый сервер работает, а почта во вне не ходит — накосячили с spf. По итогу, пока разбирались, получили кучу претензий. А ведь достаточно было сделать простую проверку функции — отправлять письмо и проверять что оно дошло.
Таких историй огромное количество...

Это ведь вопрос настройки периодически выполняемых смок-тестов, их необходимость упоминается

Но вы правы, тема не раскрыта, постараюсь затронуть её в дальнейшем

А ведь еще бизнес-мониторинг, где еще и бабки привязаны к процессам =)

И это я тоже упоминал)

Но тут очень тонкая грань проходит:
Есть метрики работоспособности бизнес-процессов — это «иженерный мониторинг». Тут задача состоит в обеспечении функционирования бизнеса.

А есть бизнес-метрики — данные о продажах, притоку/оттоку клиентов, графики выручки и прочее. Это зона BI-систем, и там специфическая кухня, о которой думают в первую очередь «продажники».

Вторую категорию я не рассматриваю — нет релевантного опыта.
В самом начале статьи вы пишите
Вот уже четвертый год я занимаюсь организацией того, что принято называть Observability

Но при этом, пишите, что мониторинг — это сбор, хранение, визуализация метрик и получения по ним алертов.
Это же совсем не так.
Observability подход — это сбор метрик, сбор трейсов приложения, логов и предоставления контекста данных. И ко всему прочему, observability это про автоматизацию процесса мониторинга.
Зачем «изобретать велосипед», когда уже есть готовые решения? Например платформа Instana, недавно про нее писали — habr.com/ru/company/proto/blog/530158
Вы не дочитали до конца)
Текущая статья — только о мониторинге. Логи, трейсы, детали реализации будут дальше.
Потом, возможно, попробуем в рамках другой статьи собрать всё в минимальный Observability.

К тому же, Instanta платная, а мы тут пробуем собрать решение на OpenSource.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации