Допустим, у вас есть два сервера (Сервер-А и Сервер-Б) связанных между собой по VPN и в случае, если Сервер-Б стал недоступен (упал VPN), то после поднятия VPN, на Сервере-А нужно перезапустить определенный сервис.
Для выполнения команды на перезапуск сервиса используется SSH.
Логика работы
В Zabbix настроен мониторинг Сервера-Б (icmppingloss) и когда 100% потери пакетов до Сервера-Б, то срабатывает Триггер (Trigger), который инициирует Действие (Action) — «Отправить сообщение» (Send message) о проблеме на e-mail. В нашем случае будет и второе Действие (Action) — «Удалённая команда» (Remote command), т.е. перезапуск сервиса.
Создаём действие
Меню: Настройка > Действия > Создать действие (источник события: Триггеры)
Menu: Configuration > Actions > Create action (Event source: Triggers)
В Условия (Conditions) добавляем Триггер (Trigger), на который будет реакция.
Настраиваем «Операции восстановления»
Нам нужно перезапустить сервис только когда VPN канал восстановится, т.е. когда два сервер будут уже видеть друг друга. Поэтому, идём в закладку «Операции восстановления» (Recovery operations).
Указываем название темы. С данной темой будет приходить письмо с оповещением о выполнении удалённой команды.
Добавляем операции
В поле «Операции» (Operations) нажимаем кнопка «Новый» (New).
Добавляем операцию «Отправить сообщение« (Send message).
Добавляем операцию «Удаленная команда» (Remote command).
В поле «Список целей» (Target list) указываем Сервер-А (именно на нём нам нужно перезапустить сервис).
В поле «Команды» (Commands), указываем команду, которую нужно выполнить удалённо на Сервере-А для перезапуска нужного сервиса.
Остальные поля понятны.
В результате будет выглядеть следующим образом:
Нажимаем кнопку «Добавить»!
Теперь, когда сработает Триггер и произойдёт восстановление (VPN канал поднялся), нам придёт сообщение на e-mail и произойдёт подключение по SSH к Серверу-А и выполнение команды на перезапуск сервиса.
Отладка «Действий»
Если возникают проблемы с выполнением удалённых команд, то идём в «Отчёты > Журнал действий» (Reports > Actions log) и смотрим, какие там ошибки относящиеся к нашему Действию.
Например:
Команда не выполнилась, неверно указал пароль для подключения по SSH.
Если у вас удалённые команды корректно выполняются, но в «Отчёты > Журнал действий» (Reports > Actions log) появляется следующая ошибка: «Cannot read data from SSH server»,
то вам нужно в конфигурационном файле zabbix_server.conf (в CentOS 7 он находится в /etc/zabbix) настроить параметр: Timeout=30
Ссылки
Похожие записи...
Latest posts by Андрей Торженов (see all)
- Куда переходить с Helpdesk OTRS? Альтернативы OTRS - 27/02/2022
- Windows 11. Не работает обновление, не входит в OneDrive, OneNote и другие Microsoft сервисы - 29/01/2022
- Попытка взлома Mikrotik? - 24/12/2021
- После обновления до Proxmox 7.1 не запускаются виртуальные машины - 28/11/2021
- libflashplayer.so пропатченный от Time bomb - 11/02/2021