Содержание

Автоматизация IT Omnishell

Вернуться в оглавление Документации Pandora FMS

Введение в Omnishell

Versión Enterprise.Версия NG 741 или выше.

Omnishell - это функция Pandora FMS Enterprise, используемая для оркестрации/автоматизации ИТ. Это инструмент, полностью встроенный в консоль и агентов PFMS , который позволяет определять команды или блоки команд и выбирать цели для их выполнения. Вы можете узнать больше из обучающего видеоролика «Автоматизация IT в Pandora FMS: Omnishell».

Omnishell основана на связи между различными компонентами Pandora FMS посредством Tentacle, чтобы безопасным образом координировать выполнение и ответы команд, которые вы хотите запрограммировать.

Вы должны установить в консоли Pandora FMS зависимость php-yaml, а в программных агентах GNU/Linux - зависимость perl-YAML-Tiny.

Дополнительные конфигурации Tentacle Server

Только для версии NG 742 или более ранних версий.

# Filters (regexp:dir,regexp:dir...)
filters .*\.conf:conf;.*\.md5:md5;.*\.zip:collections;.*\.lock:trans;.*\.rcmd:commands
/var/spool/pandora/data_in/commands
chown pandora:apache -R /var/spool/pandora/data_in/commands
chmod g+s /var/spool/pandora/data_in/commands

Функционирование

Задача Omnishell определяется тремя элементами:

Предусловие

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

Команды

При выполнении целевого программного агента в последовательном списке.

Постусловие

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

Если какая-либо из команд, определенных в Предусловии, Командах или Постусловии, переходит в интерактивный режим, блокируя поток выполнения, задание прерывается;. Программный агент сам уничтожает процесс по истечении тайм-аута, настроенного для задания.

Пример в GNU Linux

Настройка автозапуска службы HTTPD на системах CentOS 7 в массовом порядке.

[ `rpm -qa | grep -i httpd | wc -l` = 0 ] && yum install -y httpd

В этой строке с помощью команды rpm приводится список установленного программного обеспечения и подсчитывается количество упоминаний ключевого слова httpd. Если равно нулю, он установится.

 systemctl restart httpd
 systemctl enable httpd.service

Первая строка запускает службу на удаленной машине. Следующая строка настраивает систему на загрузку при каждой перезагрузке удаленного сервера.

[ `netstat -lptn | grep httpd | grep LISTEN | wc -l` -gt 0 ]

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

После создания команды необходимо назначить необходимых агентов.

Прогресс выполнения команды показан на следующем изображении:

Так выглядит предполагаемое время ожидания выполнения команды:

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

Нажмите на поле, чтобы открыть модальную форму с дополнительной информацией:

Вы можете узнать больше из обучающего видеоролика «Что нового в версии 741 Pandora FMS».

Пример в MS Windows

Для данной среды Omnishell все еще находится на стадии тестирования, поэтому некоторые ее функции могут быть изменены или недоступны. Мы приносим свои извинения за неудобства, мы работаем над устранием этого недочета.

Что касается процесса настройки в консоли Pandora FMS, вам следует повторить те же шаги, которые были выполнены в в предыдущем примере с GNU/Linux , лишь изменив код при выполнении настройки.

Для упрощения данного примера используются только предусловие и основная задача соответственно:

powershell.exe -command "Start-Sleep -Seconds 1"
powershell.exe -command "$mode = Get-Executionpolicy ; if ( $mode -like "restricted" ) {Write-Error -Message "0"}"

PowerShell - это новая оболочка Windows, разработанная специально для системных администраторов. Она включает в себя интерактивный символ системы и среду сценариев, которые могут использоваться независимо или вместе. Она поставляется в комплекте с этой операционной системой, хотя вы можете установить PowerShell Core из ее репозитория GitHub, чтобы получить последнюю обновленную версию.. Вы можете получить интересную информацию о PowerShell в блоге Pandora FMS.

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

В основной задаче исследуется возможность выполнения скриптов, написанных в PowerShell. Если выполняется без ошибок, то на этапе тестирования можно будет добавить код, чтобы использовать его для выполнения более длительных и сложных задач. Для получения дополнительной информации, пожалуйста, обратитесь к документации о том, как запускать скрипты в модуле o как использовать шаблон для создания модуля с помощью PowerShell.

Во время установки программного агента необходимо отметить опцию Enable remote config. Если у вас уже установлен такой агент, вы должны изменить файл %PROGRAMFILES%\pandora_agent\pandora_agent.conf с правами администратора и добавить (или изменить) следующую строку: remote_config 1. В группе программы Pandora FMS стартового меню есть прямой доступ к сценарию %PROGRAMFILES%% Pandora_agent_scripts edit_config_file.bat для более быстрого и удобного доступа.

Примечания

Вернуться в оглавление Документации Pandora FMS