Необходимо при срабатывании триггера выполнять команду/скрипт
Например, при срабатывании триггера о том, что служба обновления баз данных Clamav-антивируса (freshclam-clamav)не запущена, автоматически перезапускать эту службу
Создаем новое ДЕЙСТВИЕ
1 |
Configuration->Action->Create action |
Вкладка Action
1 |
Name->Restart Clamav-freshclam process |
Вклдка Conditions
1 |
Type of calculation -> Custom Expression->(A and B and C) or (A and B and D) or (A and B and E) or (A and B and F) or (A and B and G) |
Или
1 |
A and B and (C or D or E or F or G or H or I) |
где
1 2 3 4 5 |
A – статус/режим «Обслуживание» не включен B – Триггер имеет значение «Проблема» С – Триггер хоста1 с проверкой запущен ли процесс Clamav-freshclam на этом хосте1 D – Триггер хоста2 с проверкой запущен ли процесс Clamav-freshclam на этом хосте2 и т.д. |
Вкладка Operations
1 2 3 4 |
Target list -> Current host Type-> Custom script Execute on->Zabbix server Commands-> /usr/lib/zabbix/externalscripts/clamav-freshclam-restart.sh {HOST.HOST} |
На Zabbix-сервере создаем скрипт
1 |
# nano /usr/lib/zabbix/externalscripts/clamav-freshclam-restart.sh |
1 2 |
#!/bin/bash ssh -p3333 root@$1 "service clamav-freshclam restart" |
1 |
# chmod +x /usr/lib/zabbix/externalscripts/clamav-freshclam-restart.sh |
zabbix-пользователь будет подключаться по SSH как пользователь root к хосту и перезапускать clamav-freshclam службу(предварительно необходимо настроить SSH-аутентификацию по ключам, добавив публичный ключ пользователя zabbix в /root/.ssh/authorized_keys на требуемом хосте)
В качестве усиления безопасности и запрета подключения под рутом необходимо подключаться под пользователем zabbix(требуется предварительная настройка SSH-аутентификации по ключам), а на хосте, на который происходит подключение, через visudo разрешить перезапуск службы clamav-freshclam для пользователя zabbix без запроса пароля
1 |
# visudo |
1 |
zabbix ALL= NOPASSWD: service clamav-freshclam restart |
Теперь при срабатывании триггера о том,что процесс freshclam не запущен, Zabbix подключится по SSH к проблемному хосту и перезапустит незапущенный процесс.