Удаленные команды zabbix agent windows

Обновлено: 07.07.2024

Допустим, у вас есть два сервера (Сервер-А и Сервер-Б) связанных между собой по VPN и в случае, если Сервер-Б стал недоступен (упал VPN), то после поднятия VPN, на Сервере-А нужно перезапустить определенный сервис.

Для выполнения команды на перезапуск сервиса используется SSH.

Меню: Настройка > Действия > Создать действие (источник события: Триггеры)

Menu: Configuration > Actions > Create action (Event source: Triggers)

В Условия (Conditions) добавляем Триггер (Trigger), на который будет реакция.


Zabbix: Создание действия

Настраиваем «Операции восстановления»

Нам нужно перезапустить сервис только когда VPN канал восстановится, т.е. когда два сервер будут уже видеть друг друга. Поэтому, идём в закладку «Операции восстановления» (Recovery operations).

Zabbix: Создание действия > Операции восстановления

Указываем название темы. С данной темой будет приходить письмо с оповещением о выполнении удалённой команды.

Добавляем операции

В поле «Операции» (Operations) нажимаем кнопка «Новый» (New).


Добавляем операцию «Удаленная команда» (Remote command).

Zabbix: Создание действия > Операции восстановления > Удалённая команда

В поле «Список целей» (Target list) указываем Сервер-А (именно на нём нам нужно перезапустить сервис).

В поле «Команды» (Commands), указываем команду, которую нужно выполнить удалённо на Сервере-А для перезапуска нужного сервиса.

Остальные поля понятны.

В результате будет выглядеть следующим образом:

Zabbix: Создание действия > Операции восстановления

Нажимаем кнопку «Добавить»!

Если возникают проблемы с выполнением удалённых команд, то идём в «Отчёты > Журнал действий» (Reports > Actions log) и смотрим, какие там ошибки относящиеся к нашему Действию.


Zabbix: Журнал действий

Команда не выполнилась, неверно указал пароль для подключения по SSH.

Если у вас удалённые команды корректно выполняются, но в «Отчёты > Журнал действий» (Reports > Actions log) появляется следующая ошибка: «Cannot read data from SSH server»,

User Tools

Site Tools

Table of Contents

2 Удаленные команды

Обзор

С помощью удаленных команд вы можете указать какие из предустановленных команд будут выполнены на наблюдаемом узле сети при выполнении некоторых условий.

Таким образом, удаленные команды являются мощным механизмом для умного про-активного мониторинга.

Из наиболее очевидных применений функции вы можете попробовать:

Ограничение длины удаленных команд после раскрытия всех макросов зависит от типа базы данных и заданной кодировки (для хранения не-ASCII символов требуется более одного байта):

База данныхОграничение в символахОграничение в байтах
MySQL6553565535
Oracle Database20484000
PostgreSQL65535не ограничено
IBM DB220482048
SQLite (только Zabbix прокси)65535не ограничено

Смотрите также страницу выполнения команд.

Удаленные команды будут выполнены даже если намеченный узел сети в обслуживании.

Следующее руководство содержит пошаговые инструкции о том, как настроить удаленные команды.

Настройка

Удаленные команды, которые выполняются на стороне Zabbix агента (пользовательские скрипты) сначала должны быть включены в соответствующем zabbix_agentd.conf.

Убедитесь, что параметр EnableRemoteCommands равен 1 и раскомментирован. Перезапустите демона агента, если изменили этот параметр.

Затем, при настройке нового действия в Настройка→Действия:

В этом случае, Zabbix попытается перезапустить процесс Apache. Используя эту команду, убедитесь, что она будет выполнена Zabbix агентом (нажмите на Zabbix агент напротив Выполнять на).


Права доступа

Примеры строк, которые можно использовать в файле sudoers:

Удаленные команды при наличии нескольких интерфейсов

Если целевая система имеет несколько интерфейсов выбранного типа (Zabbix агент или IPMI), удаленные команды будут выполнены на интерфейсе по умолчанию.

До Zabbix 3.0.4 для удаленных команд через SSH и Telnet мог использоваться только интерфейс агента. Начиная с Zabbix 3.0.4, имеется возможность выполнять удаленные команды через SSH и Telnet, используя интерфейс отличный от Zabbix агент интерфейса. Доступный интерфейс, который будет использоваться, выбирается в следующем порядке:

Удаленные команды через IPMI

В случае удаленных команд через IPMI необходимо использовать следующий синтаксис:

Примеры

Пример 1

Перезагрузка Windows при определенном условии.

Для того, чтобы автоматически перезагрузить Windows, когда Zabbix обнаруживает проблемы, определим следующие действия:

Пример 2

Перезагрузка узла сети с использованием управления по IPMI.

Пример 3

Выключение узла сети с использованием управления по IPMI.

Задача: отследить выполнение команды на Zabbix агенте, которые не входят в стандартную комплектацию.

Для примера, давайте выведем самую простую команду echo 1. Все остальные ничем не отличаются, только подставляем другую команду 🙂 Подсоединяемся к нашему серверу, на котором кстественно уже должен стоять и работать Zabbix Agent и выполняем следующие команды:

Добавления команды на стороне Zabbix-a


Заходим в админку, Настройка, Узлы сети, Элементы данных. Переходим и нажимаем "Создать элемент данных". Вводим параметры в соответствии с задачами. У нас это будет так

Zabbix устанавливает триггеры, выполняет команды удаленно и отправляет оповещения по электронной почте

Создайте элемент мониторинга для мониторинга порта 8080. Когда порт 8080 выйдет из строя, сначала перезапустите nginx. Если проблема не устранена, перейдите ко второму шагу. Используйте Zabbix Email alarm. Если проблема не решена, перейдите к шагу 3. Использование пользовательских сценариев для отправки оповещений по электронной почте, что позволяет повысить уровень оповещения

Создайте элемент мониторинга для мониторинга порта 8080





Затем добавьте его, и все готово


На этом этапе был создан элемент, который проверяет, отслеживается ли порт 8080.

Добавление будильника

Если мы хотим сделать тревогу, нам нужно установить среду для будильника. Вообще говоря, носителем обычно является почта или нестандартные сценарии. Если есть SMS-шлюз, вы также можете использовать SMS-сигнал мобильного телефона.
Установите здесь 2 носителя тревоги.

Тревога по электронной почте




Пользовательский скрипт будильника

Необходимо разместить пользовательские сценарии в каталоге / usr / lib / zabbix / alertscripts /
Пользовательский сценарий выглядит следующим образом

Необходимо иметь разрешения на выполнение скрипта


Затем на веб-странице настройте нестандартный скрипт аварийного носителя


После настройки среды тревоги, пользователь должен использовать эту среду следующим.


Установить триггер

Триггер: будет срабатывать при выполнении условия




Затем вы можете добавить его, чтобы триггер был установлен, и вам нужно действовать с триггером

Настроить действие

Когда сработает триггер, будет сгенерировано действие, которое может быть удаленной командой или аварийным сигналом.


Настроить, когда выполняется действие, здесь, когда триггер срабатывает

Затем вам нужно настроить действия и выполнить команды удаленно.Если выполнение команды все еще не решает проблему, вы сообщите о тревоге.

Настроить действие для выполнения удаленных команд

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

  • Команды IPMI
  • пользовательский скрипт
  • SSH использует SSH для подключения к прошлому и выполнения команд
  • telnet выполняет команды, используя telnet
  • глобальный скрипт глобальный скрипт

При настройке пользовательского сценария необходимо настроить агент, чтобы разрешить выполнение команд, и установить разрешения sudo.
. Сначала установите права доступа sudo, введите visudo, начните редактирование файла, добавьте следующие две строки

Затем измените файл конфигурации агента /etc/zabbix/zabbix_agentd.conf, чтобы разрешить удаленные команды

После внесения изменений перезапустите службу агента



Если вы обнаружите, что иногда zabbix отображает команду успешного выполнения, но на самом деле команда не выполняется, возможно, ваша команда сценария не использовала sudo, а непосредственно ввела команду. Это также может привести к проблемам с правами доступа. Команда, кажется, выполнена успешно, но фактически не выполнена.

Почтовый сигнал


Пользовательский скрипт будильника


Затем добавляется действие, и вы можете проверить его.


Запустите nginx, чтобы открыть порт 8080



Теперь вы видите, что состояние в порядке, то есть порт 8080 прослушивает, затем измените файл конфигурации, чтобы позволить nginx прослушивать порт 1080, и затем остановите nginx, чтобы увидеть, будет ли триггер выполнять команду restart nginx. После перезапуска вы увидите, что он прослушивает порт 1080, который может определить, успешно ли выполнена команда.

Измените детали и остановите nginx напрямую

Допустим, у вас есть два сервера (Сервер-А и Сервер-Б) связанных между собой по VPN и в случае, если Сервер-Б стал недоступен (упал VPN), то после поднятия VPN, на Сервере-А нужно перезапустить определенный сервис.

Для выполнения команды на перезапуск сервиса используется SSH.

Меню: Настройка > Действия > Создать действие (источник события: Триггеры)

Menu: Configuration > Actions > Create action (Event source: Triggers)

В Условия (Conditions) добавляем Триггер (Trigger), на который будет реакция.

Zabbix: Создание действия

Zabbix: Создание действия

Zabbix: Создание действия > Операции восстановления

Zabbix: Создание действия > Операции восстановления

Указываем название темы. С данной темой будет приходить письмо с оповещением о выполнении удалённой команды.

Добавляем операции


Zabbix: Создание действия > Операции восстановления > Удалённая команда

Zabbix: Создание действия > Операции восстановления > Удалённая команда

Остальные поля понятны.

В результате будет выглядеть следующим образом:

Zabbix: Создание действия > Операции восстановления

Zabbix: Создание действия > Операции восстановления

Zabbix: Журнал действий

Zabbix: Журнал действий

Команда не выполнилась, неверно указал пароль для подключения по SSH.

Zabbix. Cannot read data from SSH server

Zabbix. Cannot read data from SSH server

то вам нужно в конфигурационном файле zabbix_server.conf (в CentOS 7 он находится в /etc/zabbix) настроить параметр: Timeout=30

Похожие записи.

Андрей Торженов

В профессиональной сфере занимаюсь всем, что связанно с IT. Основная специализация - VoIP и сети передачи данных. Стараюсь не заниматься Windows серверами (но иногда приходится) и 1С.

Latest posts by Андрей Торженов (see all)

Запись опубликована 07/11/2018 автором Андрей Торженов в рубрике Софт с метками Zabbix.

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Вы можете авторизоваться используя Вашу учётную запись из социальных сетей

Оповещение по e-mail о новых комментариях.
Также вы можете не оставляя комментарий подписаться но новые комментарии.


После установки Zabbix сервера , произведем установку, настройку zabbix клиента на операционной системе Windows. Zabbix клиент обеспечит передачу и обработку данных на сервере.

Установка, настройка и удаление zabbix агента

1. Скачиваем с сайта zabbix дистрибутив zabbix агента для операционной системы Windows.


2. Разархивируем архив и переименовываем папку, например Zabbix_agent.

setup del zabbix agent windows2

3. Перемещаем папку в нужную директорию, например С:\Program Files\.

setup del zabbix agent windows3

.

Конфигурация zabbix агента

4. Следующим шагом необходимо сконфигурировать zabbix агент, чтобы была возможность работы связки клиент-сервер. Для этого открываем конфигурационный файл zabbix_agentd.win.conf.

setup del zabbix agent windows4

5. Меняем путь до лог файла, например LogFile=C:\Program Files\Zabbix_agent\zabbix_agentd.log.

setup del zabbix agent windows5

6. Для того, чтобы определить ip адрес сервера, открываем терминал на сервере и набираем команду ip addr.

setup del zabbix agent windows6

7. В конфигурационном файле zabbix агента в секции "Option Server" указываем ip адрес сервера:

Server=192.168.20.158

setup del zabbix agent windows7

8. В секции "Option: ServerActive" также указываем ip адрес сервера zabbix:

Server=192.168.20.158

В секции "Option: Hostname" указываем имя компьютера, например Hostname=Int.

setup del zabbix agent windows8

Установка и запуск службы zabbix

9. После того, как сохранили конфигурационный файл, открываем командную строку с административными правами. Для установки и запуска службы Zabbix agent в командной строке набираем:

"C:\Program Files\Zabbix_agent\bin\zabbix_agentd.exe" -- config "C:\Program Files\Zabbix_agent\conf\zabbix_agentd.win.conf" -- install

C:\Program Files\Zabbix_agent\bin\zabbix_agentd.exe - путь до программы;

C:\Program Files\Zabbix_agent\conf\zabbix_agentd.win.conf - путь до конфигурационного файла.

После успешного применения команды появится вывод:

zabbix_agent.exe [18168]: service [Zabbix Agent] installed successfully

zabbix_agent.exe [18168]: event source [Zabbix Agent] installed successfully

Если командную строку запустить не с правами администратора, то получим ошибку:

zabbix_agentd.exe [20260]: ERROR: cannot connect to Service Manager: .

Для запуска службы "Zabbix Agent" выполняем следующую команду:

net start "Zabbix agent"

После успешного выполнения команды в командной строке появится:

Служба "Zabbix Agent" успешно запущена.

setup del zabbix agent windows9

Прописываем правила соединения в брандмауэре Защитника Windows

10. Для того, чтобы обеспечить передачу данных с клиента на сервер, необходимо разрешить zabbix агенту связываться с сервером. Пропишем необходимые правила для сетевого соединения в брандмауэре Windows. Открываем "Панель управления" далее "Брандмауэр Защитника Windows".

setup del zabbix agent windows10

11. Далее выбираем "Дополнительные параметры".

setup del zabbix agent windows11

12. В следующем окне выбираем "Правила для входящих подключений" - "Создать правило".

setup del zabbix agent windows12

13. В открывшемся окне делаем выбор "Для программы", нажимаем "Далее".

setup del zabbix agent windows13

14. Указываем с помощью кнопки "Обзор. " путь до программы, например %ProgramFiles%\Zabbix_agent\bin\zabbix_agentd.exe, нажимаем "Далее".

setup del zabbix agent windows14

15. Выбираем "Разрешить подключение" - "Далее".

setup del zabbix agent windows15

16. В новом окне задаем "Имя", например: "Zabbix_agent_in" - "Готово".

setup del zabbix agent windows17

17. Затем открываем вновь созданное соединение Zabbix_agent_in, затем выбираем вкладку "Протоколы и порты"

Тип протокола: TCP

Специальные порты:

10050

Затем нажимаем "ОК".

setup del zabbix agent windows18

Добавление узла сети на сервере Zabbix

18. Для добавления узла сети на сервере Zabbix заходим в веб-панель сервера с помощью логина и пароля, далее выбираем: "Настройка" - "Узлы сети" - "Создать узел сети".

setup del zabbix agent windows19

19. В новом окне указываем:

Имя узла сети: например, Int

Группы: выбираем из списка с помощью кнопки "Выбрать" или пишем новое имя группы

Интерфейсы агента: задаем IP адреса клиента (в командной строке клиента надо набрать ipconfig /all)

setup del zabbix agent windows20

20. Переходим на вкладку "Шаблоны", нажимаем "Выбрать" и из списка шаблонов, выбираем нужный, в данном случае "Template OS Windows", нажимаем "Выбрать".

setup del zabbix agent windows21

21. Далее выбираем " Добавить " для присоединения выбранного шаблона, затем ниже нажимаем "Добавить" для добавления нового узла сети.

setup del zabbix agent windows22

22. В списке появится новый узел сети, и через некоторое время узел сети станет зеленым. Это значит, что все настроено правильно и связь с клиентом установлена.

setup del zabbix agent windows29

23. Если узел сети остается красным, то необходимо разбираться, в чем дело. Для этого наводим на значок в графе "Доступность" и читаем диагностическое объявление.

setup del zabbix agent windows24

24. Далее переходим к клиенту и открываем лог файл zabbix агента (C:\Program Files\Zabbix_agent\conf\zabbix_agentd.win.conf).

Смотрим проблему, в данном случае:

failed to accept an incoming connection: connection from "192.168.11.49" rejected, allowed hosts: "192.168.20.158"

setup del zabbix agent windows25

25. Для решения проблемы прописываем IP адрес клиента в конфигурационный файл zabbix агента:

Option: Server

Server=192.168.11.69, 192.168.20.158

setup del zabbix agent windows26

26. Для применения измененных настроек перезапускаем службу Zabbix agent:

net stop "Zabbix agent"

net start "Zabbix agent"

setup del zabbix agent windows27

27. Проверяем лог файл.

setup del zabbix agent windows28

28. Если нет проблем, на сервере появится зеленый значок клиента.

setup del zabbix agent windows29

Удаление zabbix агента

29. Для удаления zabbix агента, удаляем узел сети на сервере.

setup del zabbix agent windows30

30. Останавливаем службу "Zabbix agent" на клиенте.

net stop "Zabbix Agent"

setup del zabbix agent windows31

31. Удаляем папку с компонентами zabbix агента.

setup del zabbix agent windows32

32. Удаляем правило для входящих подключений для zabbix агента.

setup del zabbix agent windows33

Посмотреть видео как произвести установку, настройку и удаление zabbix агента можно здесь:

Читайте также: