Мониторинг серверов и сети Zabbix: как узнать о сбое раньше, чем на него пожалуются сотрудники
Знакомая картина: бухгалтер звонит и орет в трубку, что 1С зависла, а склад третий час не может провести отгрузки. Начинаешь разбираться — а сервер лежит уже сорок минут, просто до этого никто не пытался туда зайти. Вот про это и статья: как поставить бесплатную систему, которая узнает о проблеме раньше человека, и почему я это делаю в первую же неделю работы с новым клиентом.
Почему звонок бухгалтера — это худший способ узнать о проблеме
Смоделируем ситуацию. У клиента отвалился диск на сервере в три часа ночи. RAID держится на честном слове, второй диск начинает сыпать ошибками с восьми утра. Первый сотрудник приходит в офис в девять, пытается открыть 1С — тормозит, но открывается. Списывает на то, что «понедельник, все зависают». К обеду сервер падает окончательно.
Итог: три часа простоя всей бухгалтерии, склада и производства, потому что никто не узнал о проблеме, пока она не стала катастрофой. А если бы система мониторинга прислала мне уведомление в восемь утра — сервер бы уже чинили, пока сотрудники пили кофе.
У меня было ровно так с одним клиентом — торговая компания, 23 рабочих места. Диск сыпался неделю, никто не заметил, потому что скорость проседала постепенно. В итоге в пятницу вечером — RAID развалился, восстанавливали данные из бэкапа два дня, склад стоял. С тех пор на всех клиентах — Zabbix и алерты в Telegram.
Что такое Zabbix и почему я выбрал именно его
Zabbix — система мониторинга с открытым кодом, бесплатная, существует с 2001 года, версия 7.0 — вполне зрелый продукт. Не путать с платными облачными системами типа Datadog или PRTG, где счет за мониторинг десятка серверов легко переваливает за 15-20 тысяч в месяц. Zabbix ставится один раз на свой сервер или виртуалку и дальше работает бесплатно — платишь только за железо, на котором крутится сам мониторинг, а это копейки.
Я перепробовал разные варианты — Nagios, PRTG, встроенные средства Windows Server. PRTG хорош, но лицензия на 100 датчиков стоит около 1600 евро, а датчики кончаются быстро: один сервер с дисками, сетью, службами и RDP — это уже 15-20 датчиков. Nagios технически посложнее в настройке, интерфейс из девяностых. Zabbix — золотая середина: относительно простая настройка, приличный веб-интерфейс, готовые шаблоны почти под все.
Ставлю его обычно на отдельную виртуалку или физический сервер где-то в своей инфраструктуре — не на сервере клиента, потому что если сервер клиента упадет, мониторинг должен об этом сообщить, а не упасть вместе с ним. Логика простая: наблюдатель не должен зависеть от того, за чем наблюдает.
Что конкретно мониторим на сервере клиента
Начинаю всегда с базовых вещей, без которых любой офис встает колом. Первое — доступность сервера в сети, банальный пинг каждую минуту. Звучит примитивно, но это и есть 80% всех проблем: сервер завис, перезагрузился и не поднялся, упал по питанию.
Второе — загрузка диска. Причем не просто «диск заполнен на 90%», а именно тренд: если место кончается со скоростью 2% в неделю, у меня есть время докупить диск заранее, а не в момент, когда база 1С перестанет открываться из-за нехватки места. У одного клиента база 1С разрослась с 40 до 380 гигабайт за два года, никто не следил — узнали, когда осталось 500 мегабайт свободных.
Третье — состояние RAID-массива и SMART-атрибуты дисков. Zabbix умеет опрашивать контроллеры HP, Dell, LSI через агент и видеть, что один из дисков в массиве уже начал сыпать ошибками чтения. Это ровно тот сценарий, который я описал в начале — сервер работает, но одной ногой уже в могиле, просто пока никто не смотрит на индикаторы.
Дальше — загрузка процессора и памяти, температура (если сервер физический и есть датчики), состояние служб: работает ли сервер 1С, поднят ли SQL Server, отвечает ли RDP на 3389 порту, жив ли DNS и DHCP на контроллере домена. И отдельная тема — Veeam: если ночной бэкап не отработал, я хочу узнать об этом утром, а не через месяц, когда бэкап понадобится и окажется, что последняя рабочая копия — трехнедельной давности.
Как приходят уведомления и почему это должно быть в Telegram
Тут все просто: если алерт падает на почту, которую я проверяю два раза в день, толку от него ноль. Настраиваю интеграцию Zabbix с Telegram-ботом — уведомление приходит в чат в течение минуты после того, как сработал триггер. Отдельно настраиваю уровни: критично — «сервер недоступен», «диск заполнен на 95%», «служба 1С не отвечает» — приходит сразу, с пометкой красным. Предупреждения — «место на диске подходит к порогу», «долгий отклик сети» — можно посмотреть спокойно утром.
Важный момент, который я не сразу продумал в первых внедрениях: нужна логика подавления повторных уведомлений. Если сервер лежит, а Zabbix пингует его раз в минуту, за час придет 60 одинаковых сообщений — и через неделю такой мониторинг просто отключают, потому что он всех задолбал. Настраиваю эскалацию: первое уведомление сразу, повтор через 30 минут, если проблема не устранена, и всё — дальше тишина до момента, когда сервер снова станет доступен, тогда придет отдельное «восстановлено».
Кстати, отдельно завел правило: критичные алерты по клиентам ITfresh дублируются в наш общий рабочий чат, не только мне лично. Потому что если я в отпуске или на встрече, инженер дежурной смены должен увидеть проблему сам, а не ждать, пока я отвечу на звонок.
Реальный пример: как это спасло клиента от простоя в разгар отчетного периода
У клиента — юридическая фирма на 15 рабочих мест — сервер терминалов работал на честном слове года три, никто им особо не занимался, потому что «работает же». Поставил им Zabbix в конце марта, чисто как часть общего наведения порядка в инфраструктуре. Через две недели прилетает алерт: диск C на терминальном сервере заполнен на 92%, и рост — не по дням, а по часам.
Разбираюсь — оказывается, накопились логи RDP-сессий и временные профили пользователей, которые никогда не чистились. Плюс кто-то умудрился скачать и забыть на рабочем столе архив на 40 гигабайт с проектной документацией. Почистил, поставил задачу на автоочистку логов раз в месяц. Если бы не алерт — диск заполнился бы до нуля примерно через полторы недели, а это как раз конец квартала, когда юристы формируют отчетность и активнее всего работают с документами.
Второй похожий случай — производственная компания, сервер 1С висел на старом железе. Zabbix зафиксировал, что температура процессора начала расти — кулер на процессоре забился пылью и начал сбоить. Заменили термопасту и почистили сервер в плановое окно на выходных, вместо того чтобы ловить перегрев и аварийное выключение сервера посреди рабочего дня.
Сколько стоит все это удовольствие и сколько занимает по времени
Сама система — бесплатная, лицензий нет и не будет, это принципиальная позиция разработчиков Zabbix с самого начала. Расходы — это виртуалка под сам сервер мониторинга: хватает 2 ядра, 4 гигабайта памяти, 20-30 гигабайт диска под хранение метрик за пару месяцев. Если своей инфраструктуры под это нет — аренда такой VPS обходится в 400-700 рублей в месяц у большинства хостеров.
По времени — на настройку мониторинга одного сервера у меня уходит от получаса до полутора часов, в зависимости от того, сколько служб и сервисов нужно завести под наблюдение. Установка агента на Windows Server — пять минут, дальше накидываю шаблоны из встроенной библиотеки Zabbix (там уже есть готовые под Windows, Linux, MS SQL, Veeam) и донастраиваю специфичные вещи под клиента.
Отдельно скажу: мониторинг сети — тоже часть этой истории. Роутер, коммутаторы, точки доступа — тоже мониторятся по SNMP, и это отдельный разговор, потому что провалы интернета путают с «сервер лежит» постоянно. Но в целом — один раз настроил, и дальше система работает сама, только присылает уведомления. Сравните это с тем, сколько стоит простой офиса на 20 человек даже на два часа — и станет очевидно, что три часа настройки окупаются с первого же реального инцидента.
С чего начать, если у вас пока вообще ничего не мониторится
Если сейчас единственный способ узнать о проблеме на сервере — звонок сотрудника, начните с малого. Не нужно сразу городить огород из полусотни метрик. Первым делом — доступность сервера и заполненность дисков, это закрывает большую часть реальных аварий. Дальше по мере необходимости добавляете службы, RAID, температуру, бэкапы.
Если у вас есть штатный админ или ИТ-компания на обслуживании — спросите прямо: «а если сервер упадет ночью, кто и когда об этом узнает?». Если ответ — «утром, когда кто-то пожалуется» — это повод задуматься. Хороший подрядчик должен узнавать о проблеме раньше вас, а не после третьего звонка секретарши.
Я обычно ставлю Zabbix клиентам в первый месяц работы, вместе с аудитом инфраструктуры — потому что без него я и сам не вижу, что реально происходит на серверах, кроме как по факту жалоб. А работать вслепую, дожидаясь звонка — так себе стратегия что для админа, что для директора компании.
Частые вопросы
Zabbix правда бесплатный, без скрытых платежей за лицензию?
Да, сама платформа и все ее модули распространяются свободно, платить нужно только за инфраструктуру, на которой она размещена. Компания Zabbix зарабатывает на платной технической поддержке и обучении, но это опционально и малому бизнесу обычно не нужно.
Нужен ли отдельный сервер под Zabbix или можно поставить на существующий?
Лучше отдельная виртуалка или маленький физический сервер, пусть даже слабенький. Если поставить мониторинг на тот же сервер, за которым он следит, при падении этого сервера некому будет прислать уведомление — сам мониторинг тоже ляжет.
Сколько времени занимает настройка мониторинга для небольшого офиса на 20-30 рабочих мест?
Обычно один рабочий день на весь комплект: сервер 1С, файловый сервер, терминальный сервер, роутер и коммутаторы, плюс интеграция с Telegram для алертов. Дальше система работает без постоянного вмешательства, только периодически донастраиваются пороги под конкретную инфраструктуру.
А если у нас все в облаке, серверов своих физически нет — мониторинг вообще нужен?
Нужен, просто фокус смещается на другие вещи: доступность облачного сервиса, скорость отклика, состояние служб внутри виртуальных машин, использование ресурсов, за которые вы платите провайдеру. Zabbix агент ставится и на облачные виртуалки точно так же, как на физические серверы.
Напишите нам — за один день поставим бесплатный мониторинг на вашу инфраструктуру и настроим алерты в Telegram.
Бесплатная консультация →
Подпишитесь на рассылку ITfresh
Раз в неделю — практические гайды для руководителя и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.
