Мониторинг отказоустойчивости#
После настройки отказоустойчивости выделенный IP VIP в случае ошибок на сервере может переключиться с основного сервера на резервный.
Для отслеживания переключения VIP предусмотрена возможность настроить триггеры Zabbix.
Настройка мониторинга состоит из двух шагов:
Настройка zabbix-agent на сервере.
Настройка в панели администратора Zabbix.
Настройка zabbix-agent на сервере#
Примечание
Статья предполагает, что Zabbix-сервер и Zabbix-агент предварительно установлены на серверах.
На основном сервере выполните команду ниже, подставив полный путь к инсталлятору:
Выполните перезапуск zabbix-agent:
Выполните все действия выше также на резервном сервере.
Настройка в панели администратора Zabbix#
Для настройки мониторинга keepalived используйте шаблон Zabbix, предоставленный ниже:
getcompass.ru/static/zabbix/keepalived_template.xml
Выполните следующие действия:
Скачайте шаблон.
В панели администратора в разделе «Data collection» (в старых версиях — «Configuration») откройте вкладку «Templates». Далее нажмите на кнопку «Import».

Выберите скачанный файл «keepalived_template.xml».
Нажмите «Advanced options», чтобы отобразить дополнительные параметры. Затем отметьте галочками в столбце «Create new» следующие правила:
Templates groups
Host groups
Templates
Items
Triggers

Нажмите на кнопку «Import» для создания шаблона.
В панели администратора откройте раздел «Data collection» → «Hosts». Найдите в списке хост основного сервера. Если хост ещё не добавлен — создайте его.
Перейдите во вкладку «Macros» и создайте новый макрос:
Macro: {$VIP}
Value : укажите виртуальный IP-адрес (VIP), используемый в конфигурации Keepalived

Нажмите кнопку «Update» для сохранения изменений.
В окне хоста в строке «Templates» для выделенного хоста введите «Keepalived», выберите предоставленный шаблон.

Нажмите кнопку «Update» для сохранения изменений.
Аналогично настройте хост резервного сервера, используя пункты 6–10.
После этого Zabbix будет осуществлять мониторинг состояния репликации на обоих серверах.
Настройка уведомлений о состоянии репликации#
Скачайте бинарный файл, который будет отвечать за отправку уведомлений в приложение On-premise Compass:
getcompass.ru/static/zabbix/go_compass_noticeДалее добавьте скаченный файл на ваш Zabbix-сервер по следующему пути:
Выдайте соответствующие права для файла:
В панели администратора откройте раздел «Alerts» → «Media types». Далее нажмите на кнопку «Create media type».
Заполните поля как на скриншоте:
Установите 4 новых параметра для поля
Script parameters
:text - текст сообщения при отправке уведомления с Zabbix-сервера.
group_id - ключ чата, в который добавлен бот. Можно получить в интерфейсе добавления бота в чат.
token = токен бота из вашей компании, куда будут отправляться уведомления.
api_endpoint - endpoint, на который будут отправляться уведомления.
В панели администратора откройте раздел «Users» → «User groups». Далее нажмите на кнопку «Create user group».
Добавьте имя в поле Group name, например, «Compass notice».Далее перейдите во вкладку Template permissions. Выберете «Highavailability» в списке доступных групп шаблонов, выдайте этой группе права «Read-write».
Перейдите во вкладку Hosts permissions. Выберете группу хостов, в которой мониторится состояние репликации. Выдайте этой группе права «Read-write».
В панели администратора откройте раздел «Users» → «User roles». Далее нажмите на кнопку «Create user role».
Добавьте имя в поле Name, например, «Compass notice role». Выберете тип «Admin» в поле «User Type».В панели администратора откройте раздел «Users» → «Users». Далее нажмите на кнопку «Create user».
Заполните поля «Username», «Password», «Password (once again)».Во вкладке «Media» выберете ранее созданый Media type:
Во вкладке «Permissions» выберете роль, созданную ранее. Нажмите «Add» для создания пользователя.
В панели администратора откройте раздел «Alerts» → «Actions». Далее нажмите на кнопку «Create action».
Заполните поле «Name».Добавьте в поле «Conditions» новое состояние:
Type = "Trigger severity" Operator = "is greater than or equals" Severity = "Warning"
Далее перейдите во вкладку «Operations». В поле «Operations» добавьте новую операцию, заполняя поля как на скриншоте:
Пример текста для уведомления:
Повторите шаги для поля «Recovery operations»:
Напишите нам в пространстве поддержки On-premise, Telegram или на почту support@getcompass.ru, чтобы получить индивидуальную демонстрацию функционала и помощь по вопросам интеграции мессенджера в вашей компании.