news
Расширенные конфигурации в Амстердаме
VS
21 апреля 2023
Обновлено 27 апреля 2023

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

Zabbix Мониторинг

Скрипты в Zabbix могут использоваться для выполнения настраиваемых проверок мониторинга, сбора и обработки данных из внешних источников и автоматизации задач на основе событий мониторинга. Zabbix поддерживает различные языки программирования, включая Bash, Python, Perl и Ruby. В этой статье мы рассмотрим скрипты оповещения Zabbix, как их создавать и как настроить агента Zabbix для работы с ними.

Настройка агента Zabbix для работы с удаленными командами

Сначала нам понадобится настроить агент Zabbix для работы со скриптами:

  1. Войдите на хост, на котором запущен агент.
  2. Отредактируйте файл zabbix_agentd.conf:
  3. Пропишите 1 в параметр “EnableRemoteCommands”, чтобы агент мог выполнять удаленные команды.
  4. Так же поменяйте “UnsafeUserParameters” на 1, чтобы позволить агенту
  5. Zabbix выполнять пользовательские скрипты.
  6. Можно ещё включить “LogRemoteCommands”, если нужно вести журналы.

Настройка конфигурационного файла агента

Перезапустите службу агента Zabbix, чтобы применить изменения.

Создание скриптов оповещения Zabbix

Чтобы создать скрипт оповещения в Zabbix, выполните следующие действия:

Перейдите в раздел “Administration” → “Scripts” в левом меню. Нажмите на кнопку “Create Script” в правом верхнем углу экрана.
Дайте скрипту имя, выберите нужный параметр области действия, заполните необходимую информацию, которая может включать параметры скрипта, аргументы команды или настройки типа медиа, и нажмите “Add”.

Создание скрипта

 

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

Направления скриптов

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

Скрипты действий на хосте:
Это скрипты, которые можно выполнять вручную на конкретном хосте. Они связаны с конкретным хостом и могут использоваться для выполнения задач, таких как перезапуск сервиса, запуск диагностической команды или выполнение резервного копирования. Скрипты действий на хосте выполняются вручную пользователем из веб-интерфейса Zabbix или API и могут быть выполнены только на хосте, с которым они связаны.

Скрипты действий на событии:
Это скрипты, которые можно выполнять вручную на конкретном событии. Они связаны с конкретным событием и могут использоваться для выполнения задач, таких как отправка пользовательского уведомления, обновление системы учета инцидентов или запуск рабочего процесса. Скрипты действий на событии выполняются вручную пользователем из веб-интерфейса Zabbix или API и могут быть выполнены только на событии, с которым они связаны.

Типы скриптов

Скрипты webhook: webhook – это способ для одного приложения предоставлять данные другому приложению в режиме реального времени. Скрипты webhook в Zabbix могут использоваться для отправки данных во внешнюю систему, такую как чат-приложение или платформа управления инцидентами. Чтобы настроить скрипт webhook в Zabbix, вам нужно создать новый тип медиа с соответствующими настройками (например, URL webhook и любые необходимые заголовки или аутентификация), а затем связать этот тип медиа с действием.

Скрипты: Zabbix также поддерживает настраиваемые скрипты, которые могут быть написаны на различных языках программирования (таких как Bash, Perl, Python или PowerShell) и выполняться в различных областях действия в зависимости от того, где предполагается запуск скрипта. Существуют три разных области действия для настраиваемых скриптов, которые определяют, где они могут быть использованы:

  • Агент Zabbix
  • Прокси-сервер Zabbix
  • Сервер Zabbix

Чтобы настроить настраиваемый скрипт в Zabbix, вам нужно создать новый скрипт с соответствующими настройками кода и языка. Затем вы сможете использовать этот скрипт в различных контекстах, таких как в действии или в настраиваемом ключе элемента.

Скрипты SSH: скрипты SSH в Zabbix могут использоваться для выполнения команд или скриптов на удаленном хосте через SSH. Чтобы настроить скрипт SSH в Zabbix, вам нужно создать новую пару ключей SSH и добавить открытый ключ в файл authorized_keys на удаленном хосте. Затем вам нужно создать новый скрипт в Zabbix, который указывает команду для выполнения на удаленном хосте вместе с необходимыми деталями подключения SSH.

Скрипты Telnet: Telnet – это протокол сетевого взаимодействия, который обеспечивает виртуальное терминальное соединение с удаленным хостом. Чтобы настроить скрипт Telnet в Zabbix, вам нужно создать новый элемент Telnet в конфигурации Zabbix (на любом выбранном вами хосте, это проверка без агента, которая может указывать на любой IP-адрес, что может быть полезно для мониторинга хостов, не способных запускать агент), указав имя хоста или IP-адрес удаленного хоста, а также номер порта и любые необходимые учетные данные для входа. Затем вам нужно создать новый скрипт в Zabbix, который указывает команду для выполнения на удаленном хосте.

Создание Telnet элемента

Скрипты IPMI: IPMI (Intelligent Platform Management Interface) – это стандарт для удаленного управления сервером, который позволяет администраторам мониторить и управлять аппаратными компонентами, такими как блоки питания, вентиляторы и датчики температуры. Скрипты IPMI в Zabbix могут использоваться для выполнения IPMI-команд на удаленном сервере. Чтобы настроить скрипт IPMI в Zabbix, вам нужно включить IPMI на удаленном сервере и настроить необходимые сетевые настройки. Затем вам нужно создать новый скрипт в Zabbix, который указывает IPMI-команду для выполнения вместе с необходимыми деталями подключения.

Примеры скриптов оповещения Zabbix

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

Вот несколько примеров скриптов оповещения из базовой конфигурации Zabbix:

Обнаружение операционной системы: этот скрипт можно использовать для определения версии операционной системы на хосте

sudo /usr/bin/nmap -O/usr/bin/traceroute {HOST.CONN} {HOST.CONN}

Ping: говорит сам за себя

ping -c 3 {HOST.CONN}; case $? in [01]) true;; *) false;; esac

Перезапуск сервиса: перезапускает службу на хосте Windows, обнаруженном функцией автообнаружения

net start {TRIGGER.DESCRIPTION}

Заключение

Мы рассмотрели настройку скриптов Zabbix. В целом для настройки этих скриптов требуется некоторые технические знания протоколов и технологий, а также понимание возможностей скриптинга и автоматизации Zabbix. Однако с правильной настройкой эти скрипты могут обеспечить мощные возможности автоматизации и интеграции для вашей системы мониторинга Zabbix.

Вам также может быть интересно

Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
191028 Санкт-Петербург Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700 300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700 300