Pandora: Documentation ja: Omnishell

From Pandora FMS Wiki
Revision as of 06:26, 13 February 2020 by Junichi (talk | contribs) (Created page with "Pandora FMS ドキュメント一覧に戻る = 概要 = <br> インフラ管理に向けた最初のアプローチとして、<b>Pandora FMS</...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Pandora FMS ドキュメント一覧に戻る

1 概要


インフラ管理に向けた最初のアプローチとして、Pandora FMS は、Omnishell を提供します。

コマンドまたはコマンドブロックを定義し、それらを実行する対象を選択できるツールです。

2 Omnishell


Omnishell では、リモート設定が有効になっている(バージョン 741 以降の)エージェントでコマンドまたはコマンドブロックを実行できます。

Omnishell1.png

Omnishell は、Tentacle を介した Pandora FMS の異なるコンポーネント間の通信に基づいており、プログラムしたいコマンドの実行と応答を安全に実現します。

設定するためには、以下のパッケージのインストールが必要です。

php-yaml 

この機能を利用したい全コンソールでは以下が必要です。

perl-YAML-Tiny

この機能を使用する場合は、Linux/Unix エージェントが必要です。

2.1 Tentacle の新オプション


Omnishell を追加すると、Tentacle の新たなオプションが有効化されます。

  • Tentacleは、".rcmd" ファイルに対応できるように設定を変更する必要があります。
  • これらは、コマンド定義ファイルです。定義をダウンロードして評価するのは、エージェント自身です。
  • "プッシュ" 型のオペレーションはありません。

以下のファイルの設定を更新します。

/etc/tentacle/tentacle_server.conf
# Filters (regexp:dir,regexp:dir...)
filters .*\.conf:conf;.*\.md5:md5;.*\.zip:collections;.*\.lock:trans;.*\.rcmd:commands

pandora_serverサーバーのインストール時に配布されるtentacle_server.conf.new</ b>ファイルを使用することもできます。

.rcmd ファイルは新しいフォルダ <b>/var/spool/pandora/data_in/commands で公開されます。

ハッシュは、コマンド定義の特定のパラメーターに基づいて使用されます。 Tentacle のインストールをセキュアにすることにより、セキュリティを改善できます。

https://pandorafms.com/docs/index.php?title=Pandora:Documentation_ja:Tentacle

このフォルダには、Pandora FMS サーバを管理するユーザとコンソールを管理するApache のアクセス許可が必要であることに注意してください。

chown pandora:apache -R /var/spool/pandora/data_in/commands
chmod g+s /var/spool/pandora/data_in/commands



2.2 エージェントの更新


この機能は、Pandroa FMS エージェントのバージョン 741 以降に存在します。

正しく動作するためには、YAML::Tiny という perl ライブラリが必要です。このライブラリが無い場合は、この機能は無効化されて動作します。

ライブラリをインストールすることにより、この機能が有効化されます。エージェントを再起動する必要はなく、すぐに動作を開始します。

リモート設定を有効化する以外の変更は必要はありません。 Omnishell システムは、ファイルコレクションと同様の手順を使用します。

2.3 利用例


新しい Omnishell ツールの動作プロセスをより理解するために例を説明します。

問題: 目的は、CentOS 6 システムで HTTPD サービスの自動起動をまとめて設定することです。

  • 前提条件は何か? サービスがインストール済みとして表示されることで、そうでない場合は次のようにインストールします。

例:

[ `rpm -qa | grep -i httpd | wc -l` -lt 1 ] || yum install -y httpd

この行は、サービスがインストールされているかどうかを確認し、インストールされていない場合はインストールします。

  • 主なゴールは何か? HTTPD サービスを起動し自動起動設定をすることです。

これをするには、以下のコマンドを利用します。

/etc/init.d/httpd restart
chkconfig httpd on

これにより、リモートマシンでサービスが開始され、サービスが起動するように構成されます。

  • 何が行われたか検証する方法は? システムがサービスを有効化し、リッスンしていることを確認します。
[ `netstat -lptn | grep 80 | grep LISTEN | wc -l` -gt 0 ]

エージェントが実行する必要のあるアクションが明確になったら、Omnishell でコマンドを作成します。

Omnishell2.png

コマンドを作成したら、必要なエージェントを割り当てます。

Omnishell3.png

コマンド実行の進捗は、選択したエージェントで見ることができます。

Omnishell4.png

表示画面で、コマンド実行の予測残り時間を見ることができます。

Omnishell5.png

大量のコマンド実行を適用すると、表示はつぎのようになります。

Omnishell7.png

エージェントの応答を受信すると実行結果が表示されます。 ボックスをクリックすると、追加情報を含む画面が表示されます。

Omnishell6.png


2.4 コメント


  • エージェントは、それぞれのブロックのそれぞれの要求を実行します。
  • 各要求の評価が 0 (error_level!= 0) でない場合、評価を停止しコマンドは失敗したと見なされます。
  • エージェントは、再試行回数と最大実行時間として、リトライパラメータとタイムアウトパラメータの値を利用します。
  • 結果に関係なく、エージェントは実行済状態を保存します。 各コマンドは1回だけ実行されます
  • コマンドの名前を更新すると、参照先が変更されるため、エージェントはコマンドを再度実行します。
  • 同じエージェントに必要な数のコマンドを割り当てることができます。
  • エージェントコマンドの実行は、監視に影響する場合があります。 エージェント間隔よりも長いタイムアウトを使用しないでください。

Pandora FMS ドキュメント一覧に戻る