This topic has been removed from the official Pandora FMS documentation. Consult the last version in which it was published, the 776.
この項目は、Pandora FMS の公式ドキュメントから削除されました。 これが公開された最後のバージョンである 776 を参照してください。
Omnishellは、IT オーケストレーション/自動化に使用される Pandora FMS Enterprise の機能です。これは、完全にネイティブな Pandora FMS コンソールおよびエージェントを統合したコンソールであり、コマンドまたはコマンドのブロックを定義し、それらを実行する対象を選択できます。我々のチュートリアル動画 «IT automation in Pandora FMS: Omnishell» も参照ください。
Omnishell は、Tentacle を介した Pandora FMS の異なるコンポーネント間の通信に基づいており、プログラムしたいコマンドの実行と応答を安全に実現します。
Pandora FMS コンソールに、依存パッケージ php-yaml のインストールおよび、GNU/Linux エージェントに依存パッケージ perl-YAML-Tiny をインストールしておく必要があります。
バージョン NG 742 およびそれ以前のみ
.rcmd
ファイルに対応できるように設定を変更する必要があります。/etc/tentacle/tentacle_server.conf
を修正します。# Filters (regexp:dir,regexp:dir...) filters .*\.conf:conf;.*\.md5:md5;.*\.zip:collections;.*\.lock:trans;.*\.rcmd:commands
tentacle_server.conf.new
をコピーしても構いません。/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 タスクは、3つの要素から定義されます。
前提条件(Precondition)
順次実行ごとの 1つまたは複数のコマンドで、それらすべてが正常実行される必要があります。(結果 errorlevel 0
)
コマンド(Commands)
対象のソフトウエアエージェントで逐次実行さる一覧です。
事後条件(Postcondition)
順次実行ごとの 1つまたは複数のコマンドで、それらすべてが正常実行される必要があります。(結果 errorlevel 0
)
If any of the commands defined in Precondition, Commands or Postconditions goes into interactive mode, blocking the execution flow, the task will be interrupted. The Software agent itself will destroy the process after the timeout configured for that task.
前提条件、コマンド、または事後条件で定義されたコマンドのいずれかが対話モードになり、実行フローがブロックされると、タスクは中断されます。 ソフトウェアエージェント自体は、そのタスクに設定された タイムアウト の後に処理を破棄します。
新しい Omnishell ツールの動作プロセスをより理解するために例を説明します。
問題> 目的は、CentOS 6 システムで HTTPD サービスの自動起動をまとめて設定することです。
例:
[ `rpm -qa | grep -i httpd | wc -l` -lt 1 ] || yum install -y httpd
この行は、サービスがインストールされているかどうかを確認し、インストールされていない場合はインストールします。
これをするには、以下のコマンドを利用します。
/etc/init.d/httpd restart chkconfig httpd on
これにより、リモートマシンでサービスが開始され、サービスが起動するように構成されます。
[ `netstat -lptn | grep 80 | grep LISTEN | wc -l` -gt 0 ]
エージェントが実行する必要のあるアクションが明確になったら、Omnishell でコマンドを作成します。
コマンドを作成したら、必要なエージェントを割り当てます。
コマンド実行の進捗は、選択したエージェントで見ることができます。
表示画面で、コマンド実行の予測残り時間を見ることができます。
大量のコマンド実行を適用すると、表示はつぎのようになります。
エージェントの応答を受信すると実行結果が表示されます。 ボックスをクリックすると、追加情報を含む画面が表示されます。
この環境の 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 shell です。 これには、インタラクティブなシステムシンボルと一緒にまたは別々に使用できるスクリプト環境が含まれます。これはオペレーティングシステムとともにインストールされますが、GitHub のリポジトリから PowerShell Core をインストールして、最新の更新バージョンを入手することもできます。 PowerShell に関するさらに興味深い情報は、Pandora FMS ブログ で確認できます。
前提条件では、PowerShell がインストールされて使用できることが確認されます。インストールされていない場合は、エラーが返され、次のステップが実行できません。
メインタスクでは、PowerShell で記述された スクリプト の実行可否について確認します。適切に実行されれば、チェック段階でコードを追加して、より長く複雑なタスクを実行できます。詳細については、モジュールでスクリプトを実行する方法 または PowerShell を用いたモジュールを作成するためのテンプレートの使用方法 に関するドキュメントを確認してください。
ソフトウェアエージェントのインストール中に、オプション リモート設定を有効にする(Enable remote config) をチェックします。 そのエージェントがすでにインストールされている場合は、管理者権限でファイル %PROGRAMFILES%\pandora_agent\pandora_agent.conf
を変更し、次の行を追加(または変更)します: remote_config 1
。 ホームメニューの Pandora FMS プログラムのグループでは、スクリプト %PROGRAMFILES%\ pandora_agent\scripts\edit_config_file.bat
に直接アクセスして、作業を簡単に行うことができます。
error_level!= 0
) でない場合、評価を停止しコマンドは失敗したと見なされます。