Безопасность

Как настроить мониторинг Bitrix-проектов в Zabbix: Полный гайд от практика

Как настроить мониторинг Bitrix-проектов в Zabbix: Полный гайд от практика

Владельцы проектов на 1С-Битрикс часто сталкиваются с тем, что сайт “тормозит” или падает без видимых причин. Часто виноваты тяжелые агенты, разросшийся кэш, атаки ботов или просто нехватка ресурсов.

В этой статье я расскажу, как мы настроили полноценный мониторинг серверов с Bitrix, используя Zabbix 6.x/7.x. Мы не просто будем смотреть “жив ли сервер”, а настроим слежение за безопасностью (Fail2Ban, антивирусы), сроками SSL-сертификатов и “пожирателями” процессора.


1. Архитектура

У нас есть:

  • Zabbix Server (центр сбора данных).

  • Клиентские сервера (CentOS 7/9, где крутится Битрикс).

Наша задача — установить агенты, пробросить данные и вывести их на красивый дашборд.


2. Установка Zabbix Agent 2 на сервер Битрикс

Мы используем zabbix-agent2, так как он написан на Go, поддерживает плагины и работает стабильнее старой версии.

Шаг 1. Подключение репозитория

Для CentOS 7 (частая ОС для VMBitrix):

rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
yum clean all

Для CentOS 9 / AlmaLinux 9:

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/9/x86_64/zabbix-release-7.0-2.el9.noarch.rpm
yum clean all

Шаг 2. Установка

yum install zabbix-agent2
systemctl enable zabbix-agent2

Шаг 3. Настройка конфига

Открываем /etc/zabbix/zabbix_agent2.conf и правим 3 параметра:

  • Server=IP_ВАШЕГО_ZABBIX_СЕРВЕРА (для пассивных проверок).

  • ServerActive=IP_ВАШЕГО_ZABBIX_СЕРВЕРА (для активных проверок и авто-регистрации).

  • Hostname=имя-вашего-сервера (важно! должно совпадать с именем хоста в админке Zabbix).

Шаг 4. Настройка Firewall

Битрикс (VMBitrix) использует firewalld. Нужно открыть порт 10050:

firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --reload

Шаг 5. Запуск

systemctl start zabbix-agent2

Лайфхак: Если агент падает со статусом activating или ошибкой bind: address already in use (хотя порт свободен), проверьте наличие папки /run/zabbix. На некоторых системах она не создается сама. Лечится так: mkdir -p /run/zabbix && chown zabbix:zabbix /run/zabbix


3. Что мониторить в Битриксе?

Стандартного шаблона Linux by Zabbix agent мало. Вот что мы добавили дополнительно:

А. Мониторинг “Пожирателей CPU”

Битрикс часто вешают “тяжелые” cron-задачи (cron_events.php) или clamscan (антивирус). Чтобы видеть это в Zabbix:

  • Создаем файл /etc/zabbix/zabbix_agent2.d/procs.conf.

  • Добавляем UserParameter:

UserParameter=system.proc.top,ps -eo pcpu,pmem,user,comm,args --sort=-pcpu | head -n 11
  • В Zabbix создаем Item типа “Text”, который дергает этот ключ. Теперь мы всегда видим топ процессов прямо на дашборде.

Б. Мониторинг Безопасности (Fail2Ban, ClamAV)

Важно знать, если Fail2Ban “умер” и не банит ботов.

Добавляем в конфиг агента:

# Статус Fail2Ban
UserParameter=security.fail2ban.status,systemctl is-active --quiet fail2ban && echo 1 || echo 0
# Кол-во забаненных IP
UserParameter=security.fail2ban.banned_count,fail2ban-client status sshd 2>/dev/null | grep "Currently banned" | grep -o "[0-9]*" || echo 0

Теперь Zabbix пришлет аллерт, если сервис упал или число банов резко возросло (атака).

В. SSL и Домены

Никаких сторонних сервисов. Агент сам может проверять срок действия сертификата и домена. Мы используем простой скрипт на Bash + openssl и whois, который отдаёт кол-во дней до просрочки. Триггер в Zabbix срабатывает, если осталось < 7 дней.


4. Оптимизация (Грабли, на которые мы наступили)

В процессе настройки мы столкнулись с проблемой High Load на одном из серверов.

Симптомы:

  • Load Average улетал к 15.

  • Swap забит.

  • Сайт тормозит.

Причина: В VMBitrix есть встроенный антивирус (ClamAV), который по крону запускает “быструю проверку”. На серверах с 2-4 ГБ RAM запуск clamscan (который сам ест 1 ГБ под базы) + параллельная работа MySQL и Web-сервера приводила к исчерпанию памяти (OOM Killer) или жесткому свопу.

Решение: Мы отключили автоматические проверки в /etc/cron.d/bitrix-security, оставив только обновление баз. Сканирование теперь запускаем вручную перед важными релизами, предварительно останавливая “тяжелые” службы, если нужно.

Мораль: Не ставьте “тяжелый” мониторинг на слабые машины.


5. Итоговый Дашборд

В Zabbix мы собрали единый дашборд для всех проектов (Data Overview), который показывает:

  • CPU/RAM usage (светофор: зелёный/желтый/красный).

  • Веб-статус: Дни до истечения SSL и доменов.

  • Безопасность: Статус Fail2Ban и даты баз антивируса.

  • Топ процессов: Отдельный виджет для каждого сервера, чтобы видеть, кто именно грузит процессор прямо сейчас.

Теперь администрирование парка серверов занимает 5 минут в день — просто взглянуть на зеленый экран.