Серверы и DevOps

Мониторинг IT-инфраструктуры: как узнавать о сбоях раньше сотрудников

Если о проблеме с сервером вы узнаёте от сотрудников, мониторинга по сути нет. Разбираю, что стоит отслеживать в небольшой компании, как настроить оповещения, чтобы их не игнорировали, и что выбрать: Zabbix или Prometheus.

Алексей Сергеев 2 мин чтения

Типичная картина без мониторинга: утром бухгалтер сообщает, что «база не открывается», и начинается расследование. Выясняется, что ночью закончилось место на диске, резервная копия не сделалась, а база остановилась. Всё это можно было увидеть заранее — место заканчивалось не за одну ночь.

Задача мониторинга — не красивые графики, а своевременное уведомление о том, что требует внимания, до того как это станет аварией.

Что отслеживать в первую очередь

Не нужно начинать с сотен метрик. Для небольшой инфраструктуры я начинаю с короткого списка, который закрывает большинство реальных проблем:

Что Почему важно
Свободное место на дисках Самая частая причина остановки баз данных и почты
Доступность ключевых сервисов (HTTP, почта, 1С, VPN) Сервер может работать, а сервис на нём — нет
Результат резервного копирования Копия, которая не делается, обнаруживается только при попытке восстановиться
Срок действия TLS-сертификатов и доменов Истёкший сертификат «ломает» сайт и почту в один момент
Состояние интернет-каналов Особенно если есть резервный канал — нужно знать, что офис на нём
Состояние дисков (SMART) и RAID Деградация массива часто незаметна до второго отказа
Нагрузка: процессор, память Помогает понять причину «тормозов» и планировать рост
Минимальный набор проверок для небольшой компании.

Оповещения, которые не игнорируют

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

  • Уведомление — только о том, что требует действия. Всё остальное — на графики.
  • Задержка срабатывания. Проблема должна держаться какое-то время (например, 10–15 минут), прежде чем отправлять уведомление.
  • Уровни важности. «Через неделю закончится место» и «сервер недоступен» — разные события и разные каналы.
  • Удобный канал. Чаще всего это Telegram или почта; главное, чтобы уведомление видел тот, кто будет реагировать.

Пример правила для Prometheus: уведомить, если на файловой системе меньше 10% свободного места дольше 15 минут.

alerts.yml
groups:
  - name: base
    rules:
      - alert: DiskAlmostFull
        expr: |
          node_filesystem_avail_bytes{fstype!~"tmpfs|overlay"}
            / node_filesystem_size_bytes{fstype!~"tmpfs|overlay"} < 0.10
        for: 15m
        labels:
          severity: warning
        annotations:
          summary: "Мало места на {{ $labels.instance }} ({{ $labels.mountpoint }})"

Zabbix или Prometheus

Оба инструмента открытые и бесплатные, оба подходят для бизнеса. Выбор зависит от того, что именно нужно наблюдать:

  • Zabbix удобен, когда много «классической» инфраструктуры: серверы, сетевое оборудование по SNMP, Windows-машины, принтеры. Много готовых шаблонов, настройка через веб-интерфейс.
  • Prometheus с Grafana хорошо подходит для серверов на Linux, контейнеров и собственных приложений. Конфигурация хранится в файлах, её удобно держать в Git.

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

С чего начать

  1. Составить список того, что критично для работы компании.
  2. Подключить к мониторингу эти узлы и сервисы с минимальным набором проверок.
  3. Настроить уведомления в один понятный канал и неделю наблюдать за «шумом», подстраивая пороги.
  4. Добавить проверки резервного копирования и сроков сертификатов.

Подключение мониторинга — первый шаг, с которого начинается IT-аутсорсинг, и одна из типовых задач в направлении «Серверы и DevOps».

Хотите узнавать о проблемах раньше пользователей?

Опишите, какие серверы и сервисы есть в компании. Я предложу, что и как поставить на мониторинг.

Обсудить задачу

Алексей СергеевИнженер, IT-инфраструктура и DevOps

Читайте также

Резервное копирование для малого бизнеса: правило 3-2-1 и проверка восстановления

Почему копия на соседнем диске - это ещё не бэкап, как применить правило 3-2-1 в небольшой компании и почему резервная копия считается существующей только после проверки восстановления. С примером на restic.

Сегментация офисной сети на MikroTik: VLAN для сотрудников, гостей и серверов

Почему «плоская» сеть, где все устройства видят друг друга, - главный источник проблем в небольшом офисе, и как разделить её на VLAN на MikroTik с RouterOS 7: схема, настройка моста, правила firewall и типичные ошибки.

Резервный интернет в офисе: два провайдера и автоматическое переключение на MikroTik

Как настроить второй интернет-канал так, чтобы офис переключался на него сам и возвращался обратно, когда основной провайдер восстановится. Рекурсивная маршрутизация на MikroTik, проверки доступности и подводные камни.