Назад | Перейти на главную страницу

Сценарий уведомления Keepalived не выполняется

Я только что настроил скрипт уведомления в /etc/keepalived/keepalived.conf

/etc/keepalived/keepalived.conf

global_defs {
  notification_email {
    admin@example.com
  }
  notification_email_from keepalived@example.com
  smtp_server 127.0.0.1
  smtp_connect_timeout 30
  router_id DEFAULT_ROUT_ID
}


vrrp_script notification {
  script ""
  interval
  weight
}

vrrp_instance VI_1 {
  interface eth0
  virtual_router_id 10
  nopreempt
  state backup
  priority 110
  advert_int 1
  virtual_ipaddress {
    22.22.22.22
  }
  track_script {
    notification
  }

  notify_master "/etc/keepalived/master.sh"
  notify_backup "/etc/keepalived/backup.sh"
}

И всякий раз, когда состояние меняется, выходит

Кажется, работает, но эти сценарии оболочки не выполняются.

Есть ли у вас предложения?

У меня была такая же проблема, мой сценарий уведомления не выполнялся, в конце дня я понял, что SELinux блокирует запуск моего сценария, я узнал об этом, набрав:

[root@server ~]# journalctl

так что просмотрите вывод, он даст вам подсказку относительно команды для отключения SELinux, чтобы ваш сценарий уведомления мог работать. Кроме того, я не использовал уведомление, но

      notify_master "/path/to/script"
      notify_backup "/path/to/script"

Результат SELinux: Если вы считаете, что keepalived по умолчанию должен иметь возможность dac_override. Тогда вы должны сообщить об этом как об ошибке. Вы можете создать модуль локальной политики, чтобы разрешить этот доступ. Разрешите этот доступ сейчас, выполнив следующие команды:

   ausearch -c 'keepalived' --raw | audit2allow -M my-keepalived

   semodule -i my-keepalived.pp

После выполнения этих команд перезапустите keepalived:

   service keepalived restart

В моем случае мне пришлось указать полный путь (по праву).

Feb 14 17:14:01 lb0-0 Keepalived_vrrp[22728]: WARNING - script `killall` resolved by path search to `/usr/bin/killall`. Please specify full path.
Feb 14 17:14:01 lb0-0 Keepalived_vrrp[22728]: Cannot find script  in path
Feb 14 17:14:01 lb0-0 Keepalived_vrrp[22728]: Disabling track script chk_haproxy since not found