Расширенный мониторинг

Расширенный мониторинг помогает следить в Zabbix за одним сервером Compass On-premise или за обоими серверами отказоустойчивой установки. Он показывает доступность сайта, состояние сервера и контейнеров, работу звонков, внешних подключений и резервного копирования. В отказоустойчивой конфигурации дополнительно видны репликация MySQL, синхронизация файлов и состояние кластера Manticore на каждом сервере.

Что показывает мониторинг

  • Сайт и сертификат. Доступность сайта, время ответа, HTTP 5xx, срок действия сертификата, проверка его цепочки и имени.

  • Сервер и приложение. CPU, память, диски, сеть, Docker, службы Compass, перезапуски контейнеров, ошибки в журналах и состояние Manticore.

  • Звонки и подключения. Состояние JVB, UDP, ICE и DTLS; доступность настроенных TURN, SMTP, SMS, LDAP и ICAP, а также push-шлюза и сервера лицензий.

  • Резервные копии. Наличие отметок о завершении копирования баз и конфигурации и возраст последней копии.

  • Отказоустойчивая конфигурация. Владелец VIP и переходы Keepalived, MySQL IO/SQL и отставание репликации, rsync и состояние Manticore на обоих серверах. Общая запись HTTPS в Zabbix проверяет публичный адрес через VIP.

Перед установкой

Подготовьте сервер Zabbix 7.0 без proxy и штатные шаблоны Linux by Zabbix agent active и Website certificate by Zabbix agent 2. На каждом сервере Compass должен работать Zabbix Agent 2 серии 7.0 или совместимый zabbix-agent версии 1.4–7.0. Для проверки сертификата нужен Agent 2, доступный с сервера Zabbix; если он работает на самом сервере Zabbix, установщик мониторинга предложит 127.0.0.1. На серверах Compass также нужны Python 3, PyYAML, systemd и Docker CLI. Установщик мониторинга проверит выбранный агент перед изменением файлов.

Разрешите соединение от каждого сервера Compass к Zabbix по TCP 10051, от сервера Zabbix к публичному домену Compass по HTTPS 443 и к Agent 2 для проверки сертификата по TCP 10050. При использовании TLS PSK после импорта настройки шифрования записи сервера в Zabbix должны совпадать с настройками агента.

Установка пакета

  1. На сервере Compass скачайте архив:

    wget -O compass-onpremise-monitoring.tar.gz https://file4.getcompass.ru/files/c43257/d97/def/edc/7df/c9a/047794820396e043.gz
    
  2. Распакуйте архив и откройте каталог пакета:

    tar -xzf compass-onpremise-monitoring.tar.gz && cd compass-onpremise-monitoring/
    
  3. Для отказоустойчивой установки перед первым запуском запишите технические имена обоих серверов. Если записи уже созданы в Zabbix, откройте Data collection → Hosts и возьмите имя каждого сервера из поля Host name. Если записей ещё нет, выберите имена, совпадающие с фактическим Hostname агента на каждом сервере.

    Для общей записи HTTPS укажите одинаковое имя на обоих серверах: при переходе сохраните существующее.

    Если отказоустойчивость уже наблюдается по инструкции мониторинга отказоустойчивости, откройте в Zabbix Data collection → Hosts. Нажмите на имя основного сервера Compass и посмотрите подключённые шаблоны в поле Templates. Повторите проверку для резервного сервера. По запросу установщика мониторинга укажите имена фактически подключённых шаблонов: Keepalived, Mysql replica и Rsync могли быть подключены выборочно. Если ни один не подключён, подтвердите новую установку мониторинга отказоустойчивости.

  4. Запустите установщик мониторинга:

    sudo bash install.sh --setup
    

    Установщик мониторинга найдёт каталог Compass либо попросит указать его полный путь. Затем покажет домен, адрес сервера Zabbix, адрес Agent 2 для сертификата, пути журналов и дисков. Нажмите Enter, если предложенное значение верно. Изменения настроек Zabbix Agent установщик покажет перед записью и сохранит копии изменяемых файлов.

  5. Для отказоустойчивой установки повторите скачивание того же архива, распаковку и запуск установщика мониторинга на втором сервере. Переходите к импорту только после успешного завершения установки на обоих серверах.

Переход на расширенный мониторинг

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

  1. До импорта откройте Data collection → Hosts → Macros и установите {$COMPASS.HA.ALERTS.ENABLED} в 0 на обеих существующих записях серверов и, если она уже есть, на общей записи HTTPS. Значение 0 временно отключает новые предупреждения; прежние работают до проверки.

  2. Импортируйте файл сначала через Templates → Import, затем через Hosts → Import с параметрами из раздела «Импорт в Zabbix». Оставьте Hosts → Update existing выключенным, чтобы сохранить индивидуальные настройки.

  3. В Monitoring → Latest data дождитесь свежих compass.ha.* и проверьте состояние источников на обоих серверах. Если данные не появились, сохраните значение 0 и прежние связи шаблонов.

  4. После проверки свежих данных на каждом из двух серверов откройте Data collection → Hosts → Triggers через ссылку Triggers в строке сервера. Выделите прежние триггеры фактически подключённых шаблонов Keepalived, Mysql replica и Rsync — имя шаблона показано перед именем триггера — и нажмите Disable. Прежние шаблоны и их данные оставьте.

  5. Установите {$COMPASS.HA.ALERTS.ENABLED} в 1 на обеих записях серверов и общей записи HTTPS и проверьте предупреждения в Monitoring → Problems. При откате верните значение 0 и повторно включите прежние триггеры.

После установки файл /etc/compass-monitoring/zabbix-import.json содержит шаблоны и записи серверов Zabbix: для одного сервера — три шаблона и две записи; для отказоустойчивой установки — четыре шаблона, две записи серверов и одну общую запись HTTPS. На сервере, с которого будете скачивать файл, подготовьте копию для текущего SSH-пользователя:

sudo install -m 0600 -o "$(id -un)" /etc/compass-monitoring/zabbix-import.json "$HOME/zabbix-import.json"

На компьютере с браузером Zabbix скачайте файл командой ниже. Замените user и host на SSH-пользователя и адрес сервера Compass, с которого подготовили копию:

scp user@host:~/zabbix-import.json .

Импорт в Zabbix

Один и тот же zabbix-import.json импортируйте дважды, в указанном порядке:

  1. Откройте Data collection → Templates → Import. Выберите файл, включите Update existing и Create new, выключите все Delete missing. Проверьте предварительный просмотр и нажмите Import.

  2. Откройте Data collection → Hosts → Import и выберите тот же файл. Разверните Advanced options. Включите Create new и выключите Delete missing во всех строках, где доступны эти параметры. В строке Hosts оставьте Update existing выключенным, а в остальных строках включите его, если он доступен. Проверьте настройки и нажмите Import.

Внимание

Не включайте Hosts → Update existing даже при повторном импорте: Zabbix может заменить индивидуальные macros существующих записей. При настройках выше они сохраняют свои macros и дополнительные связи шаблонов. Изменившиеся домен, адрес Agent 2 для сертификата или включение веб-версии на существующей записи HTTPS перенесите в её macros и interface вручную.

Проверка результата

Откройте Monitoring → Latest data. Для каждого сервера Compass проверьте свежие значения compass.collected_at и состояния источников. В отказоустойчивой конфигурации дополнительно проверьте compass.ha.* на обоих серверах и compass.ha.vip.owners на общей записи HTTPS. Состояния unknown, unavailable и unsupported требуют проверки; значение -1 (not_applicable) ожидаемо для MySQL на активном сервере и rsync на резервном. Посмотрите события в Monitoring → Problems.

На каждом сервере Compass проверьте службы мониторинга:

sudo systemctl status compass-zabbix-collector.timer --no-pager
sudo journalctl -u compass-zabbix-collector.service -n 10 --no-pager

При первом подключении штатный Linux template может до часа обнаруживать диски и сетевые интерфейсы. Дождитесь появления их данных и повторно проверьте производные показатели Compass. Если сервер уже наблюдается, сначала дождитесь данных net.if.* и vfs.dev.* штатного шаблона Linux, затем свяжите шаблон Compass.

Изменение порогов

Пороги заданы в шаблонах. Чтобы изменить отдельный порог для узла, откройте Data collection → Hosts → Macros → Inherited and host macros и задайте значение на этом узле. Удаление переопределения вернёт значение шаблона. Для длительных плановых работ используйте maintenance Zabbix.


Напишите нам в пространстве поддержки On-premise, Telegram или на почту support@getcompass.ru, чтобы получить индивидуальную демонстрацию функционала и помощь по вопросам интеграции мессенджера в вашей компании.