Мониторинг IT-инфраструктуры: как узнавать о сбоях раньше сотрудников
Если о проблеме с сервером вы узнаёте от сотрудников, мониторинга по сути нет. Разбираю, что стоит отслеживать в небольшой компании, как настроить оповещения, чтобы их не игнорировали, и что выбрать: Zabbix или Prometheus.
Алексей Сергеев2 мин чтения
Типичная картина без мониторинга: утром бухгалтер сообщает, что «база не открывается», и начинается расследование. Выясняется, что ночью закончилось место на диске, резервная копия не сделалась, а база остановилась. Всё это можно было увидеть заранее — место заканчивалось не за одну ночь.
Задача мониторинга — не красивые графики, а своевременное уведомление о том, что требует внимания, до того как это станет аварией.
Что отслеживать в первую очередь
Не нужно начинать с сотен метрик. Для небольшой инфраструктуры я начинаю с короткого списка, который закрывает большинство реальных проблем:
Копия, которая не делается, обнаруживается только при попытке восстановиться
Срок действия TLS-сертификатов и доменов
Истёкший сертификат «ломает» сайт и почту в один момент
Состояние интернет-каналов
Особенно если есть резервный канал — нужно знать, что офис на нём
Состояние дисков (SMART) и RAID
Деградация массива часто незаметна до второго отказа
Нагрузка: процессор, память
Помогает понять причину «тормозов» и планировать рост
Минимальный набор проверок для небольшой компании.
Оповещения, которые не игнорируют
Главная ошибка — слишком много уведомлений. Если мониторинг каждый день присылает десятки сообщений о кратковременных всплесках нагрузки, через неделю их перестают читать, и важное сообщение тонет в шуме. Несколько правил, которых я придерживаюсь:
Уведомление — только о том, что требует действия. Всё остальное — на графики.
Задержка срабатывания. Проблема должна держаться какое-то время (например, 10–15 минут), прежде чем отправлять уведомление.
Уровни важности. «Через неделю закончится место» и «сервер недоступен» — разные события и разные каналы.
Удобный канал. Чаще всего это Telegram или почта; главное, чтобы уведомление видел тот, кто будет реагировать.
Пример правила для Prometheus: уведомить, если на файловой системе меньше 10% свободного места дольше 15 минут.
Оба инструмента открытые и бесплатные, оба подходят для бизнеса. Выбор зависит от того, что именно нужно наблюдать:
Zabbix удобен, когда много «классической» инфраструктуры: серверы, сетевое оборудование по SNMP, Windows-машины, принтеры. Много готовых шаблонов, настройка через веб-интерфейс.
Prometheus с Grafana хорошо подходит для серверов на Linux, контейнеров и собственных приложений. Конфигурация хранится в файлах, её удобно держать в Git.
Для небольшой компании я обычно выбираю что-то одно, чтобы не поддерживать две системы. Иногда к основному мониторингу добавляется простая внешняя проверка доступности сайта — чтобы узнать о проблеме, даже если упал весь офис вместе с сервером мониторинга.
С чего начать
Составить список того, что критично для работы компании.
Подключить к мониторингу эти узлы и сервисы с минимальным набором проверок.
Настроить уведомления в один понятный канал и неделю наблюдать за «шумом», подстраивая пороги.
Добавить проверки резервного копирования и сроков сертификатов.
Подключение мониторинга — первый шаг, с которого начинается IT-аутсорсинг, и одна из типовых задач в направлении «Серверы и DevOps».
Хотите узнавать о проблемах раньше пользователей?
Опишите, какие серверы и сервисы есть в компании. Я предложу, что и как поставить на мониторинг.
Почему копия на соседнем диске - это ещё не бэкап, как применить правило 3-2-1 в небольшой компании и почему резервная копия считается существующей только после проверки восстановления. С примером на restic.
Почему «плоская» сеть, где все устройства видят друг друга, - главный источник проблем в небольшом офисе, и как разделить её на VLAN на MikroTik с RouterOS 7: схема, настройка моста, правила firewall и типичные ошибки.
Как настроить второй интернет-канал так, чтобы офис переключался на него сам и возвращался обратно, когда основной провайдер восстановится. Рекурсивная маршрутизация на MikroTik, проверки доступности и подводные камни.