Zabbix на сервере: частые ошибки и решения
Zabbix установлен, но веб-интерфейс ругается на базу, агент показывает «недоступен», а графики пустые. Знакомая ситуация — Zabbix мощный, но требователен к деталям, и почти все проблемы упираются в десяток типовых причин: права базы, firewall, конфиги, часовой пояс. Разберём частые ошибки Zabbix на сервере и то, как их быстро чинить, с командами для диагностики.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Сервер Zabbix не запускается
Первое, что стоит проверить при любой проблеме, — запущен ли сам сервер и что пишет в лог:
systemctl status zabbix-server
tail -n 50 /var/log/zabbix/zabbix_server.log
Самая частая причина падения — сервер не может подключиться к базе. В логе вы увидите строку вроде «cannot connect to database». Проверьте три вещи: верный ли пароль в /etc/zabbix/zabbix_server.conf (поле DBPassword), совпадает ли он с паролем пользователя zabbix в MySQL, и запущена ли сама СУБД (systemctl status mysql).
Вторая частая причина — не импортирована схема базы. Если вы создали базу, но забыли залить server.sql.gz, сервер стартует и тут же падает, потому что не находит нужных таблиц. Импортируйте схему заново. Третья — нехватка памяти: на слабом VPS сервер Zabbix может не подняться из-за кэшей. В логе будет «cannot allocate shared memory». Уменьшите размеры кэшей в конфиге (CacheSize, HistoryCacheSize) или добавьте RAM.
Агент показывает «недоступен»
Узел в списке подсвечен красным, метрики не идут. Это проблема связи между сервером и агентом, и причин обычно три.
- Firewall блокирует порт 10050. Агент слушает этот порт, сервер к нему стучится. Откройте порт на машине с агентом:
ufw allow 10050/tcp. - В конфиге агента не тот адрес сервера. В
/etc/zabbix/zabbix_agentd.confполеServerдолжно содержать IP вашего Zabbix-сервера. Если там осталось127.0.0.1, агент не пустит внешний сервер. - Агент не запущен или не перезапущен после правки конфига:
systemctl restart zabbix-agent.
Проверить доступность агента с сервера можно напрямую, запросив у него любую метрику:
zabbix_get -s IP_АГЕНТА -k agent.ping
Если в ответ приходит 1 — связь есть, проблема в настройке хоста в веб-интерфейсе. Если таймаут — дело в сети или firewall. Эта команда — ваш главный инструмент диагностики: она проверяет ровно тот путь, по которому ходит сам сервер, и сразу отсекает половину гипотез. Отдельно учтите пассивный и активный режимы агента: в пассивном сервер сам опрашивает агент (нужен открытый порт 10050 на агенте), в активном агент сам шлёт данные на сервер (нужен открытый порт 10051 на сервере). Если вы настроили активные проверки, а порт 10051 закрыт, узел будет молчать при живом агенте — частая путаница у новичков.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS под ZabbixПустые графики и нет данных
Узел зелёный, но графики пустые. Чаще всего дело в том, что к хосту не привязан шаблон или не прошло достаточно времени для сбора первых значений. Zabbix собирает метрики по интервалу, и первые точки появляются через минуту-другую после привязки шаблона.
Проверьте в разделе Monitoring → Latest data, приходят ли значения по элементам данных. Если элементы есть, но со статусом «not supported» — агент не умеет отдавать эту метрику: возможно, не хватает прав или нужного модуля. Наведите на статус, Zabbix покажет причину. Ещё одна ловушка — poller-процессы перегружены: если в логе есть «Zabbix poller processes more than 75% busy», сервер не успевает опрашивать узлы. Увеличьте число поллеров в конфиге:
StartPollers=10
Ошибки базы данных и переполнение
Со временем база метрик разрастается и начинает тормозить или переполнять диск. Zabbix пишет в лог предупреждения о housekeeper — процессе, который чистит старые данные. Если он не справляется, история копится бесконечно.
Решение — настроить хранение данных разумно. В шаблонах и элементах данных задайте адекватные периоды хранения истории (History) и трендов (Trends): держать посекундные данные годами не нужно. Для крупных инсталляций включают партиционирование таблиц истории, чтобы удаление старых данных шло мгновенно. Следите за местом на диске:
df -h
du -sh /var/lib/mysql
Если диск уже заполнен и MySQL встала, сначала освободите место (почистите старые логи), потом уменьшите периоды хранения. Профилактика простая — закладывайте достаточный диск сразу и мониторьте его рост самим же Zabbix. Полезно завести отдельный триггер на свободное место раздела с базой: тогда мониторинг предупредит о переполнении заранее, а не встанет молча. Ещё один нюанс производительности — housekeeper тяжело удаляет данные из огромных таблиц построчно; на больших объёмах переход на партиционирование по датам решает проблему радикально, потому что удаление старого периода превращается в мгновенный сброс целой партиции вместо долгого перебора строк.
Проблемы с часовым поясом и временем
Классическая путаница: графики показывают данные «в будущем» или со сдвигом на несколько часов, триггеры срабатывают не вовремя. Причина — расхождение часового пояса между сервером, базой и PHP веб-интерфейса.
Сначала выставьте правильное время на сервере:
timedatectl set-timezone Europe/Moscow
timedatectl set-ntp true
Затем проверьте часовой пояс PHP: в конфиге веб-интерфейса Zabbix или в php.ini параметр date.timezone должен совпадать с системным. После правки перезапустите PHP-FPM и Nginx. Рассинхрон времени также ломает точность триггеров по таймауту, поэтому включённый NTP — обязательное условие корректной работы мониторинга.
Открытый веб-интерфейс и безопасность
Отдельная категория проблем — не техническая, а связанная с безопасностью. Zabbix, открытый в интернет со стандартным паролем Admin/zabbix, — это приглашение для взлома. Через веб-интерфейс с админскими правами можно выполнять команды на узлах, так что последствия серьёзные.
Минимальная защита: сразу смените пароль Admin, ограничьте доступ к порту веб-интерфейса по IP через firewall или закройте его за VPN, включите HTTPS. Не оставляйте панель мониторинга на публичном порту без нужды — лучше пускать на неё только со своего адреса:
ufw allow from ВАШ_IP to any port 8080
Чтобы мониторинг работал стабильно и без сюрпризов, нужен надёжный VPS в правильной локации. У MAATRIX сервер под Zabbix готов за пару минут, с оплатой картой РФ, СБП или криптой — без иностранной карты, и вы сразу занимаетесь настройкой, а не платёжкой.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS под ZabbixОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Почему сервер Zabbix не стартует?
В 90% случаев — проблема с базой: неверный пароль в zabbix_server.conf, не импортирована схема или не запущена СУБД. Смотрите /var/log/zabbix/zabbix_server.log, там указана точная причина.
Агент недоступен, что делать?
Проверьте, открыт ли порт 10050 на машине с агентом, верно ли указан IP сервера в поле Server конфига агента, и перезапущен ли агент. Диагностика — командой zabbix_get.
Почему графики пустые при зелёном узле?
Либо не привязан шаблон, либо ещё не прошло время сбора первых точек, либо элемент в статусе «not supported». Смотрите Monitoring → Latest data.
Как оплатить VPS под Zabbix из России?
Картой РФ, по СБП, криптовалютой или токеном MAAT. Иностранная карта не нужна, сервер поднимается за пару минут.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.