ja:documentation:pandorafms:monitoring:02_operations

ソフトウエアエージェントを使った監視

The Software Agents are running on the operating systems from which they collect information, performing a check for each module.

ソフトウェアエージェントは、情報を収集するオペレーティングシステム上で実行され、モジュールごとにチェックを実行します。

The Software Agent's own directives are used to collect certain data directly from the operating system (eg CPU usage, memory, events, etc.), executing operating system's own commands following instructions from predefined scripts.

ソフトウェアエージェント独自のディレクティブは、オペレーティングシステムから特定のデータ (CPU 使用率、メモリ、イベントなど) を直接収集するために使用され、事前定義されたスクリプトの指示に従って オペレーティングシステム独自のコマンド を実行します。

The Pandora FMS Dataserver processes and stores in the database all the information generated and sent in XML files by the software agents.

Pandora FMS データサーバは、ソフトウェア エージェントによって生成され XML ファイルで送信されたすべての情報を処理し、データベースに保存します。

All the configuration and parameters are stored in the pandora_agent.conf file, which is also installed locally together with your Software Agent. The basic configuration is dealt with in "Configuration of Pandora FMS Agents", the advanced configuration is explained below.

すべての設定とパラメータは pandora_agent.conf ファイルに保存され、このファイルはソフトウェアエージェントと一緒にローカルにインストールされます。 基本的な設定については "Pandora FMS エージェントの設定" で説明しています。高度な設定については以下で説明しています。

ローカル設定

ソフトウエアエージェントの設定ファイルでは、以下のテキストの基本構造でモジュールが定義されています。

module_begin
module_name <your module name>
module_type generic_data
module_exec <your command>
module_description <your description>
module_end
  • module_name: The module name.
  • module_exec: Command to be executed.
  • module_description: Description of the task to monitor.
  • module_name: モジュールの名前。
  • module_exec: 実行されるコマンド。
  • module_description: 監視タスクの説明。

例 1

module_begin
module_name Files in var spool
module_type generic_data
module_exec ls /var/spool | wc -l
module_description Number of files incoming dir
module_end

In *nix environment, the command ls lists directory files and is executed with the line module_exec to deliver the value to the wc command, which will count the amount of words received for the same number of files. The value returned by this last execution will be the data that the module will obtain and will be displayed in the monitoring.

*nix 環境 では、コマンド ls はディレクトリファイルを一覧表示します。行 module_exec でそれを実行し、行数をカウントする wc コマンドに値を渡します。 この実行によって返される値は、モジュールが取得するデータであり、監視データとして表示されます。

  • For the Software Agent on MS Windows® and the module_name instruction, if you wish or need to use extended ASCII characters (áéíóú, for example) use an external plugin or script. See plugin section for Software Agents.
  • For the Software Agent on MS Windows®, module_exec_powershell is also available for the native check execution with PowerShell®.
  • MS Windows® のソフトウェアエージェントで、module_name に拡張 ASCII 文字 (áéíóú など) を使用したい、または使用する必要がある場合は、外部プラグインまたはスクリプトを使用する必要がありますソフトウェアエージェントプラグインの章 を参照してください。
  • MS Windows® 上のソフトウェアエージェントの場合、PowerShell® によるネイティブチェックの実行に module_exec_powershell も使用できます。

例 2

module_exec vmstat 1 2 | tail -1 | awk '{ print $13 }'

vmstat コマンドは、仮想メモリの統計をレポートします。この例では、必要な情報を “絞り込む” ための 2つの追加コマンドがあります。 最初にコマンドを手動で起動し、出力を分析することをお勧めします。

$> vmstat 1 2 | tail -1 | awk '{ print $13 }'

結果が要件を満たしていたら、設定ファイルに追加します。ソフトウェアエージェントを介した実行によって返される値は、モジュールデータとして XML に格納されます。

例3

出力が Pandora FMS で受け入れられる値(数値、英数字、または、ブール値)をサポートしていれば、module_exec を介して任意のコマンドまたはソフトウェアを実行できます。そのため、カスタムスクリプトを指定することができます。

module_exec myScript.pl --h 127.0.0.1 -v cpu

この場合も、エージェントはシェルを実行し、オペレーターによって実行されたかのように結果を取得します。

$> myScript.pl --h 127.0.0.1 -v cpu

カスタムフィールド

Custom fields allow you to add additional information to the agent. Custom fields can be created with the PFMS 1.0 API and the command set create_custom_field or through the Web Console in the menu Management → Resources → Custom fields → Create field.

カスタムフィールドを使用すると、エージェントに追加情報を追加できます。 カスタムフィールドは、PFMS 1.0 API とコマンド set create_custom_field を使用して作成するか、ウェブコンソールのメニュー 管理(Management) → リソース(Resources) → カスタムフィールド(Custom fields) → フィールドの作成(Create field) を使用して作成できます。

  • The options Enabled combo, Password type and Link type are mutually exclusive, that is, only one of them can be used (or none, default value).
  • By activating the Display up front field, the information of the custom field will be displayed, if it has any value set, in the agent's overview. Additionally, it will be necessary to activate this token to send the Custom Fields information to the Command Center (Metaconsole).
  • Enabled combo: This parameter allows you to activate the configuration of selectable parameters from a drop-down menu. Once activated, a new field will appear in the configuration window of the corresponding custom field to enter the combo values separated by commas.
  • Password type: The value of the field (password) will be shown using asterisks in the Web Console.
  • Link type: It allows you to add a custom field that will host a web link to be filled in by the Web Console or in a XML received by an agent. It is possible to include links in the custom fields of an XML in JSON format embedded with CDATA instructions <![CDATA[…]]>. For example, if the JSON format of the link is:
  • オプション 選択肢の有効化(Enabled combo)パスワードタイプ(Password type)リンクタイプ(Link type) は相互に排他的です。つまり、いずれか 1 つだけを使用できます (または、デフォルト値のなし)。
  • 前面に表示(Display up front) フィールドを有効にすると、値が設定されている場合、カスタムフィールドの情報がエージェントの概要に表示されます。 さらに、カスタムフィールド情報を コマンドセンター (メタコンソール) に送信するには、このトークンを有効にする必要があります。
  • 選択肢の有効化(Enabled combo): このパラメーターを使用すると、ドロップダウンリストからのパラメータ選択を有効化できます。 有効化した場合、対応するカスタムフィールドの構成ウィンドウに新しいフィールドが表示され、カンマで区切で値を入力します。
  • パスワードタイプ(Password type): ウェブコンソールでは、フィールド (パスワード) の値がアスタリスクを使用して表示されます。
  • リンクタイプ(Link type): ウェブコンソールまたは エージェントから受信した XML によって入力されるウェブリンクをホストするカスタムフィールドを追加できます。JSON 形式の CDATA 命令<![CDATA[…]]> が埋め込まれた XML にリンクを含めることができます。 たとえば、リンクの JSON 形式が次の場合、
["Web name","https://example.com"]

The XML would have this syntax:

XML は次のような書式になります。

<custom_fields>
   <name>![CDATA[web]]</name>
   <value>![CDATA[["Web name","https://example.com"|]]]</value>
</custom_fields>

See “XML Validation”, the Security Architecture for the Tentacle protocol (mechanism responsible for delivering data in XML format to the PFMS Data server) and the Security Architecture for the PFMS Data server (limit the auto-creation of agents and set a password for the agent group each agent belongs to).

XML の確認Tentacle プロトコルのセキュリティアーキテクチャ(XML フォーマットでの Pandora FMS データサーバへのデータ送信の仕組)、Pandora FMS データサーバのセキュリティアーキテクチャ(エージェントの自動作成の制限、各エージェントが属するエージェントグループのパスワード設定) を参照してください。

Custom fields can also be passed from the agent configuration file, using the tokens custom_fieldx_name and custom_fieldx_value, for example:

カスタムフィールドは、custom_fieldx_name および custom_fieldx_value トークンを用いて、エージェント設定ファイルから渡すこともできます。 例:

custom_field1_name Serial Number
custom_field1_value 56446456KS7000

The custom field called Serial Number is created by default when installing PFMS and you may create as many custom fields as needed and of each different type (simple value, web link, password type and option list type). The order of the numerical identifier of each custom field is irrelevant, you just have to ensure that the name is exactly the same:

シリアル番号(Serial Number) と呼ばれるカスタムフィールドは、Pandora FMS のインストール時にデフォルトで作成されます。カスタムフィールドは必要に応じて必要なだけ作成でき、それぞれのタイプ (単一値、ウェブリンク、パスワードタイプ、およびオプションリストタイプ) を作成できます。 各カスタムフィールドの数値識別子の順序は関係ありません。名前がまったく同じであることを確認する必要があるだけです。

custom_field11_name Simple custom field name
custom_field11_value Simple custom field value

custom_field12_name Custom field Link type
custom_field12_value ["Pandora FMS web site","https://pandorafms.com"]

custom_field13_name Custom field Password type
custom_field13_value My;Password;

custom_field14_name Custom field Combo type
custom_field14_value Two

In the custom fields Combo type, the value sent by the software agent must correspond exactly to one of its items, otherwise the value will not be changed.

カスタムフィールド Combo type では、ソフトウェア エージェントによって送信される値がその項目の 1 つに正確に一致する必要があります。そうでない場合、値は変更されません。

共通設定パラメータ

Most important parameters for the basic configuration of Software Agents:

基本的なエージェント設定における、最も重要なパラメータ (より詳細は、Pandora FMS ソフトウエアエージェント を参照してください):

  • server_ip: IP address of the Pandora FMS server.
  • server_path: Path of the incoming input folder of the Pandora FMS server, by default /var/spool/pandora/data_in.
  • temporary: Folder, default /tmp.
  • logfile: Software Agent log file, by default /var/log/pandora/pandora_agent.log.
  • interval: Agent execution interval, by default 300 seconds.
  • server_ip: Pandora FMS サーバの IP アドレスです。
  • server_path: Pandora FMS サーバの 'incoming' フォルダのパスです。デフォルトは、/var/spool/pandora/data_in です。
  • temporal: ソフトウエアエージェントのテンポラリフォルダです。デフォルトは、/var/spool/pandora/data_out です。
  • logfile: ソフトウエアエージェントのログファイルです。デフォルトは、/var/log/pandora/pandora_agent.log です。
  • interval: エージェントの実行間隔です。デフォルトは、300 です。

パスワード保護グループ

By default, when an agent sends data for the first time to the Pandora FMS server, it is automatically added to the group that has been defined in the agent's configuration file.

デフォルトでは、エージェントが初めて Pandora FMS サーバにデータを送信すると、そのデータはエージェント設定ファイルで定義されているグループに自動的に追加されます。

is possibleIt is possible to set a password for a group, so an agent will not be added to a group unless the correct password is specified in the agent's configuration file.

オプションで、Pandora FMS コンソールからグループのパスワードを設定できます。この場合、エージェント設定ファイルで正しいパスワードが指定されていない限り、エージェントはグループに追加されません。

To edit and add a group password go to Management menu → ProfilesManage agent groups → click on group name.

グループパスワードを編集して追加するには、管理(Management) メニュー → プロファイル(Profiles)エージェントグループ管理(Manage agent groups) に移動し、グループ名をクリックします。

To add a new agent to this group, edit its configuration file and add the following configuration option group_password and restart the agent software.

このグループに新しいエージェントを追加するには、その設定ファイルを編集し、設定オプション group_password を追加し、エージェントソフトウェアを再起動します。

モジュールの種類

データのタイプに応じた、ソフトウエアエージェントのモジュールのタイプは次の通りです。

  • generic_data: 数値および浮動小数点データです。
  • generic_data_inc: インクリメンタルな数値データです。前の値と現在の値の差分を間隔で割った値を保存します。このデータタイプは、'秒間の回数' をカウントするのに利用します。たとえば、秒間のログエントリー数、秒間受信バイト数、秒間のコネクション数などです。
  • generic_data_inc_abs: 絶対増加する数値データのタイプです。 これは、経過した秒数で割ることなく、前と現在のデータの差分を格納します。したがって、値は 2回の実行の間の差となり、1秒あたりの値にはなりません。このタイプのデータは、ログエントリ、合計受信バイト数、接続数など何かが発生した回数をカウントするために使用されます。
  • generic_proc: ブール型のデータです。値が 0 の場合は障害を意味し、0 より大きい場合は正常であることを意味します。 generic_proc 型には、あらかじめ設定された障害(0)および正常(1以上)の状態があります。
  • generic_data_string: 文字列(テキスト)データです。
  • async_data: 非同期の数値データです。'generic_data' と同じですが非同期のデータで、変化したときのみ更新されます。非同期データは、収集間隔の定義がありません。
  • async_string: 非同期の文字データです。generic_string と同じですが非同期のデータで、変化したときのみ更新されます。データを取得したあとに、次の新たなデータの取得がいつになるかわからないような、ログやイベントをモニタするのに利用します。新しいデータを数秒間隔で受信したり、逆に数日間何もデータがない場合もあります。
  • async_proc: 非同期のブーリアンデータです。generic_proc と同じですが非同期のデータで、変化したときのみ更新されます。
  • Image module: テキスト文字列型モジュール(generic_data_string または async_string)をもとにしたものです。モジュール内のデータが base64 イメージの場合、つまり文字列の一部に “data:image” が含まれている場合、それは画像データとして識別され、表示画面では画像を表示するウィンドウを開くリンクが有効になります。 また、ヒストリデータとしても文字列として保存され、画像を構築/生成し表示されます。

ローカルモジュールの実行間隔

ローカルモジュール(ソフトウエアエージェントのモジュール)には、ベースとしてエージェントの実行間隔があります。ただし、module_interval パラメータにゼロより大きい整数を設定することによって、エージェントの実行間隔にそれを乗じた値をモジュールの実行間隔とすることができます。例:

module_interval 2

この場合、エージェントの実行間隔が 300 のとき、モジュールの実行間隔は 300×2 (600) になります。

モジュール作成インタフェース

The remote configuration of the respective Software Agent must be enabled.

ソフトウエアエージェントのリモート設定を有効化する必要があります。

The creation of local modules in the console is done through a form where, in addition to the common configuration of all modules (thresholds, type, group, etc.), there is a text box where you can specify the configuration data to be established in the configuration file. Software Agent configuration.

コンソールからのローカルモジュールの作成は、リモートモジュール(の閾値、タイプ、グループなど)と同様に、フォームを利用して行います。設定データを指定するテキストボックスがあり、ソフトウエアエージェントの設定ファイルが表示されています。

  • When clicking on the Load basic (template) button, the content of Data configuration will be deleted with a basic template that we must modify according to the need for monitoring.
  • Once modified, clicking Check (syntax) will verify that the template syntax is still correct, however the rest of the commands will not be checked.
  • 基本(テンプレート)のロード(Load basic (template) をクリックすると、データ設定(Data configuration) のコンテンツが監視のニーズに応じて変更する必要のある基本テンプレートに置き換えられます。
  • 変更後、チェック(構文)(Check (syntax)) をクリックすると、テンプレートの構文が正しいことを確認しますが、残りのコマンドはチェックされません。

When a module is loaded from a local component, it can have macros. If you have macros, the configuration box will be hidden and a field will appear for each macro, see more information in Templates and components

モジュールがローカルコンポーネントからロードされる場合、マクロが含まれる場合があります。 マクロがある場合、設定ボックスは非表示のままになり、マクロごとにフィールドが表示されます。詳細については、テンプレートとコンポーネント を参照してください。

事後処理

Pandora FMS ソフトウエアエージェントは、モジュールの実行結果の値に応じたスクリプトの実行をサポートしています。これは、モジュールの実行で得られた値に応じてアクションを行えることを意味します。

例 1

値または値の範囲を示す module_condition パラメータを使用して、取得したデータが条件(CPU 使用率が 200%未満)を満たす場合に、実行する内容を設定します。

module_condition パラメータにて、モジュールの実行の事後処理を定義します。モジュールから返される値にもとづいて実行されるコマンドを定義します。設定ファイルの例を次に示します。

 module_begin
 module_name CPU_Usage_Condition
 module_type generic_data
 module_exec get_cpu_usage.pl
 module_condition <20 add_processes.sh
 module_end

例 2

同じモジュールに対して、範囲内や最小しきい値を指定した複数の条件を指定できます(数学的には、両方のオプションのいずれかが実行されるか、まったく実行されません)。

 module_begin
 module_name CPU_Usage_Condition
 module_type generic_data
 module_exec get_cpu_usage.pl
 module_condition (90, 100) remove_processes.sh
 module_condition <20 add_processes.sh
 module_end

例 3

前の例に似ていますが、両方の条件を実行することも、1つまたはまったく実行しないこともできます(選択した値で試してください: 5、15、または 30 の場合)。

 module_begin
 module_name CPU_Usage_Condition
 module_type generic_data
 module_exec get_cpu_usage.pl
 module_condition < 10 start_new_server.sh
 module_condition < 20 add_processes.sh
 module_end

事前処理

module_precondition パラメータにて、モジュール実行前の事前処理を定義します。この事前処理により、ソフトウエアエージェントはモジュールを実行するかどうか決めます。

module_precondition に想定する値を割り当て、条件と比較する必要があります。

例 1

アクティブなプロセスが 10 を超える場合、CPU 使用率のパーセンテージを取得し、Pandora FMS サーバにレポートします。

 module_begin
 module_name CPU_Usage
 module_type generic_data
 module_precondition> 10 number_active_processes.sh
 module_exec get_cpu_usage.pl
 module_end

例 2

同じモジュールに対して複数の前提条件を定義でき、それらすべてが満たされている必要があります。

 module_begin
 module_name CPU_Usage
 module_type generic_data
 module_precondition> 10 number_active_processes.sh
 module_precondition> 1 important_service_enabled.sh
 module_exec get_cpu_usage.pl
 module_end

この場合、アクティブなプロセスが 10 を超えており、そのうちの少なくとも 1つが重要なプロセスである場合にのみモジュールが実行されます。

重要な実行プロセスやサービスなど、特に重要なモジュールが存在する場合があります。 これらのケース向けに、より制御された監視を可能にする集中監視が利用できます。

エージェントの通常の実行間隔を短くすることなく、問題が発生した場合にのみ短い間隔で監視をします。

ソフトウエアエージェントの設定:

  • Interval: エージェントの実行間隔を秒で指定します。これは、全ローカルモジュールの一般的な間隔で、必須のパラメータです。
  • Intensive_interval: 障害状態のモジュールに対して監視を行う間隔で、オプションパラメータです。

モジュール設定:

  • module_intensive_condition = 0: モジュールの値がこのパラメータで指定した値(この場合 0)の場合、エージェントで定義された高頻度の間隔で監視します。

sshd サービスは、シェルでリモート接続するために使用されるため非常に重要です。その動作を監視する必要があります。 次の例は、sshd プロセスの監視を通常は 5分ごとに実施しますが、障害時は 10秒ごとに監視したい場合の例です。

 intensive_interval 10
 interval 300
 module_begin
 module_name SSH Daemon
 module_type generic_data
 module exec ps aux | grep sshd | grep -v grep | wc -l
 module_intensive_condition = 0
 module_end

サービスがダウンすると、次の 10秒で再度チェックされます。サービスが起動していれば、次のチェックは通常通り 5分後です。

ソフトウエアエージェントは、モジュールを指定時間に実行する設定ができます。書式は crontab と同じです。モジュールの設定例は次の通りです。以下は、モジュールを毎月曜の 12 から 15時の間に実行する例です。

 module_begin
 module_name crontab
 module_type generic_data
 module_exec script.sh
 module_crontab * 12-15 * * 1
 module_end

モジュールを毎時 10分に実行したい場合は、次のようにします。

 module_begin
 module_name crontab
 module_type generic_data
 module_exec script.sh
 module_crontab 10 * * * *
 module_end

モジュールがデータを出力しない期間を設定した場合、モジュールは “不明” 状態になります。このような場合は非同期モジュールを利用します。

Pandora FMS サーバが(セキュリティ上の理由などから)直接アクセスできないシステムに対してリモートチェックを行う場合に使用します。ソフトウェアエージェントをインストールし、そこからリモートチェックを実行し、ブローカエージェントで配布することができます。

ICMP もしくは ping の監視は、マシンがネットワークにつながっているかどうかを確認するのに便利です。単一のソフトウェアエージェントがすべてのマシンのステータスを簡単に監視できます。

Unix

Using the system commands (all parameters in the “command line” module_exec):

システムコマンドを利用して ping チェックを実行するモジュールを作成することができます。 (すべてのパラメータは module_exec の “コマンドライン” にあります)

module_begin
module_name Ping
module_type generic_proc
module_exec ping -c 1 192.168.100.54>/dev/null 2>&1; if [ $? -eq 0 ]; then echo 1; else echo 0; fi
module_end

このモジュールの例では、192.168.100.54 宛の ping チェックを実行します。他のホストをチェックしたければ、IP アドレスを変更するだけです。

Windows

The parameters must be specified in module_ping_count (number of packets, 1 by default) and module_ping_timeout (time limit in seconds, 1 by default); example:

パラメータは、module_ping_count (パケット数、デフォルトは 1) および module_ping_timeout (秒単位のタイムアウト値、デフォルトは 1) で指定する必要があります。以下に例を示します。

 module_begin
 module_name Ping
 module_type generic_proc
 module_ping 192.168.100.54
 module_ping_count 2
 module_ping_timeout 5
 module_end

Note: module_advanced_options allows advanced options for ping.exe.

注意: module_advanced_options で、ping.exe の高度なオプションを指定できます。

TCP チェックは、ホストのポートが開いているかを確認するのに便利です。アプリケーションがネットワーク上で応答するかどうかを確認することができます。

Unix

Unix のソフトウエアエージェントでは、次のようなモジュール設定にて TCP チェックを実行します。

module_begin
module_name PortOpen
module_type generic_proc
module_exec nmap 192.168.100.54 -p 80 | grep open> /dev/null 2>&1; echo $?; if [ $? == 0 ]; then echo 1; else echo 0; fi
module_timeout 5
module_end

このモジュールでは、ホスト 192.168.100.54 の 80番ポートが開いているかどうかをチェックします。

Windows

Windows のソフトウエアエージェントを使っている場合は、TCP チェックを設定するためのパラメータがあります。パラメータは次の通りです。

  • module_tcpcheck: チェックするホスト
  • module_port: チェックするポート番号
  • module_timeout: チェックのタイムアウト値

モジュールの設定例を以下に示します。

module_begin
module_name TcpCheck
module_type generic_proc
module_tcpcheck 192.168.100.54
module_port 80
module_timeout 5
module_end

このモジュールも同様に、192.168.100.54 の 80番ポートに対してチェックを行います。

SNMP チェックは、一般的にネットワークデバイスのインタフェースのステータス、送受信トラフィックなどをチェックするのに利用します。

Unix

Unix のソフトウエアエージェントを利用している場合は、次のように snmpget コマンドを使ったモジュールを作成します。

module_begin
module_name SNMP get
module_type generic_data
module_exec snmpget 192.168.100.54 -v 1 -c public .1.3.6.1.2.1.2.2.1.1.148 | awk '{print $4}'
module_end

このモジュールは、ホスト 192.168.100.54 の OID .1.3.6.1.2.1.2.2.1.1.148 の値を返します。

Windows

Windows のソフトウエアエージェントでは、モジュールを設定するための次のパラメータがあります。

  • module_snmpversion [1,2c,3]: SNMP version (Default value is '1').
  • module_snmp_community <community» SNMP community (Default value is 'public').
  • module_snmp_agent <host» The host to monitor.
  • module_snmp_oid <oid» OID.
  • module_advanced_options: Advanced options for 'snmpget.exe'.
  • module_snmpversion [1,2c,3]: SNMP バージョン (デフォルトは 1)
  • module_snmp_community <community>: SNMP コミュニティ(デフォルトは public)
  • module_snmp_agent <host>: モニタ対象のホスト
  • module_snmp_oid <oid>: OID.
  • module_advanced_options: snmpget.exe の拡張オプション

モジュールの設定例を以下に示します。

 module_begin
 module_name SNMP get
 module_type generic_data
 module_snmpget
 module_snmpversion 1
 module_snmp_community public
 module_snmp_agent 192.168.100.54
 module_snmp_oid .1.3.6.1.2.1.2.2.1.1.148
 module_end

このモジュールは、Unix のソフトウエアエージェントと同じ動作をします。

Linux/Unix システムで、エージェントのプロキシモードを利用するためには、エージェントを root 以外のユーザで実行 する必要があります。そのため、Pandora FMS エージェントのカスタムインストールが必要です。カスタムインストールの詳細については、エージェントのカスタムインストールを参照してください。

Pandora FMS ソフトウエアエージェントには、エージェントから Pandora FMS サーバへの通信をプロキシするする、プロキシモードがあります。プロキシモードを有効にしたソフトウエアエージェントは、モニタリング処理も実行可能です。

プロキシモードは、1台のマシンのみ Pandora FMS サーバと通信できないといったネットワークの場合にとても便利です。この場合、すべてのマシンにインストールされたソフトウエアエージェントは直接 Pandora FMS サーバへは通信できず、XML ファイルをプロキシとして動作しているエージェントに送ります。プロキシはそれを Pandora FMS サーバへ送信します。

プロキシモードでは、XML ファイル送信をプロキシすることに加えて、リモート設定 および ファイルコレクション の機能もサポートしています。

これらの機能により、プロキシモードは接続が制限されたネットワークでのソフトウエアエージェントの「透過的な操作」を提供します。

プロキシモードを有効にするには、ソフトウエアエージェントにて次のパラメータを設定します。

  • server_ip: Pandora FMS server IP address.
  • proxy_mode: On (1) or Off (0).
  • proxy_max_connection: number of concurrent proxy connections, by default 10.
  • proxy_timeout: response timeout for the proxy, default 1 second.
  • proxy_address: address on which the proxy listens.
  • proxy_port: port on which the proxy listens.
  • server_ip: Pandora FMS サーバの IP アドレスです。
  • proxy_mode: 有効(1) または 無効(0)。
  • proxy_max_connection: プロキシへの最大接続数です。デフォルトは 10です。
  • proxy_timeout: プロキシのタイムアウトです。デフォルトは 1秒です。
  • proxy_address: プロキシのアドレスです。
  • proxy_port: プロキシのポート番号です。

設定例を以下に示します。

 server_ip 192.168.100.230
 proxy_mode 1
 proxy_max_connection 20
 proxy_timeout 3

ソフトウエアエージェントの接続を中継するには、ソフトウエアエージェントの設定で接続先の Pandora FMS サーバのアドレスとしてプロキシモードのエージェントのアドレスを指定します。例えば次の通りです。

プロキシモードが有効なエージェントの IP アドレスが、192.168.100.24 とします。

直接 Pandora FMS サーバへ接続できないソフトウエアエージェントでは、server_ip パラメータを次のように設定します。

server_ip 192.168.100.24

この設定により、Pandora FMS サーバと直接通信ができないソフトウエアエージェントが、プロキシモードの他のソフトウエアエージェントを経由して通信できるようになります。リモート設定、ポリシー、ファイルコレクションといったすべての機能が利用できます。

ソフトウエアエージェントには、複数のソフトウエアエージェントがインストールされているかのように一つのエージェントを設定し、モニターするブローカーモードがあります。

ブローカーモードを有効にしたソフトウエアエージェントは、新たな設定ファイルを生成します。同一のマシンで複数のソフトウエアエージェントを動かすのと同じように、オリジナルのソフトウエアエージェントと新たなブローカーがそれぞれの設定ファイルで動作します。

ブローカーモードのメインの機能は次の通りです。

  • ローカルのデータを他のエージェントとして送信します。異なるソフトウエアの状態を異なるエージェントとしてモニタリングするのに便利です。
  • リモートチェックを行ったデータを、ソフトウエアエージェントがインストールされているマシンから送られたかのように送信します。

ブローカーを設定するには、broker_agent <ブローカー名> という設定行を追加するだけです。次のように、必要な数分 broker_agent の設定行を追加するだけで複数のブローカーを作成することが可能です。

 broker_agent dev_1
 broker_agent dev_2

ブローカーを設定したら、オリジナルのソフトウエアエージェントの設定と同じような内容で、エージェント名の設定が異なる dev_1.conf および dev_2.conf ファイルを作成します。dev_1.conf および dev_2.conf の設定ファイルでのモジュール追加、削除をすることで、ブローカーの設定を変更します。

Pandora FMS ウェブコンソールで、プローカーが表示され、他のエージェントと同じように管理できます 。2つのブローカーでソフトウエアエージェントをインストールしていれば、ウェブコンソールでは、異なる 3つのエージェントでそれぞれのモジュールや設定が参照できることを意味します。

注意: ブローカーエージェントインスタンスは、ファイルコレクションを利用できません。コレクションを利用したい場合は、インスタンスのコレクションからファイルの “実行” ができますが、インスタンスではなく “メイン” エージェントで配布する必要があります。

ブローカーエージェントが有効な場合、実行中にメモリ内にデータを保持しているモジュール (module_logevent と MS Windows® における module_regexp) は動作しません。

異なるエージェントとしてのローカルデータベースのモニタリング

マシンの基本的な情報(CPU、メモリ、ディスク)および、インストールされているデータベースの情報を分けてモニタリングしたいとします。

このモニタリングを行うには次のような手段をとります。

  • インストールしたソフトウエアエージェント: CPU、メモリ、ディスクをモニタします。
  • データベース用のブローカー: データベース内の状態をモニタします。

これを行うには、ソフトウエアエージェントを CPU、メモリ、ディスクをモニタするマシンにインストールします。ソフトウエアエージェントの設定で次の行を追加します。

broker_agent DBApp

この設定を追加することにより、DBApp というブローカーエージェントを作成します。それにより、dbapp.conf という設定ファイルができます。この設定ファイルには、データベースの状態をチェックするモジュールを追加します。

 module_begin
 module_name Num Users
 module_type generic_data
 module_exec get_db_users.pl
 module_end

 module_begin
 module_name Num slows queries
 module_type generic_data
 module_exec get_db_slows_queries.pl
 module_end

これにより、Pandora ウェブコンソールに 2つのエージェントが現れます。一つはマシン名で CPU、メモリ、ディスクのモジュールがあり、もう一つは、DBApp という名前で Num Users および Num slow queries というモジュールがあります。

ブローカーを使ったリモートデバイスのモニタリング

この例では、Windows マシンにソフトウエアエージェントをインストールし、(CPU、メモリ、ディスクを)モニタリングしています。また、エージェントのインストールなしに 192.168.100.54 の IP を持ったルータをモニタリングしたいとします。この問題を解決するためにブローカーを利用できます。

次の設定で、ブローカーを作成します。

broker_agent routerFloor5

これにより、routerFloor5 という名のブローカーエージェントを作成します。ソフトウエアエージェントが Windows マシンにインストールされているので、Windows のソフトウエアエージェントの機能で ping および snmp でルータをモニタできます。それには、routerFloor5.conf ファイルに次の設定を行います。

 module_begin
 module_name Ping
 module_type generic_proc
 module_ping 192.168.100.54
 module_ping_count 2
 module_ping_timeout 500
 module_end

 module_begin
 module_name Eth 1 up
 module_type generic_data
 module_snmpget
 module_snmpversion 1
 module_snmp_community public
 module_snmp_agent 192.168.100.54
 module_snmp_oid .1.3.6.1.2.1.2.2.1.1.1
 module_end

 module_begin
 module_name Eth 2 up
 module_type generic_data
 module_snmpget
 module_snmpversion 1
 module_snmp_community public
 module_snmp_agent 192.168.100.54
 module_snmp_oid .1.3.6.1.2.1.2.2.1.1.2
 module_end

この例では、Pandora FMS のウェブコンソールには 2つのエージェントが表示されます。一つは CPU、メモリ、ディスクのモジュールを持った Windows マシン、もう一つは、Ping、Eth 1 up、Eth 2 up というモジュールを持った routerFloor5 です。

直接通信できないネットワークのリモートモニタリング

デバイスをリモートからモニタする必要があるが、Pandora FMS のリモートサーバがそれらに直接通信できない場合があります。

この例では、本社からある会社のサイトのデバイスをリモートからモニタする必要があるとします。Pandora FMS サーバは本社にあり、他の会社のサイトに VPN で接続しています。何らかの制限により Pandora のリモートサーバはリモートでアクセスできません。会社のサイトをモニタリングするには、ブローカーモードを使います。ソフトウエアエージェントは、異なるデバイスとして Pandora サーバに XML を送信できます。

ソフトウエアエージェントの設定ファイルでは、モニタするデバイスの数だけブローカーを追加します。設定例は次の通りです。

 broker_agent device_1
 broker_agent device_2
 broker_agent device_3
 broker_agent device_4
 ...

ブローカーが作成されると、それぞれのデバイスのモニタリングをそれぞれのブローカーの設定ファイルで設定できます。例えば、Windows マシンで、device_1 の設定は次の通りです。

module_begin
module_name Ping
module_type generic_proc
module_ping 192.168.100.54
module_ping_count 2
module_ping_timeout 500
module_end

module_begin
module_name CPU_Load
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Processor
module_wmicolumn LoadPercentage
module_end

module_begin
module_name Mem_Free
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Memory
module_wmicolumn FreeMemory
module_end

module_begin
module_name Disk_Free
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Disk
module_wmicolumn FreeSpace
module_end

この設定で、異なる会社のサイト間で通信に制限があったとしても、リモート設定機能を利用でき、また、モニタした情報を Pandora FMS サーバへ送信することができます。

ブローカーを使ったモニタリング負荷分散

ブローカーモードは、複数のネットワークでモニタリングの負荷を分散するのにとても便利です。

この例では、A から Z の複数のネットワークがあり、それぞれ 1000のデバイスがあります。Pandora FMS のリモートサーバの許容量は、役 2000エージェントです。そのため、負荷分散のためにブローカーモードでソフトウエアエージェントを利用することにします。ブローカーモードを有効にしたソフトウエアエージェントは、リモートでネットワークから全てのデバイスをモニタし、データを XML で Pandora FMS の中央サーバへ送ります。

それぞれのネットワークに、ブローカーモードを有効にしたエージェントがあります。モニタするデバイスの分だけブローカーを作成します。ソフトウエアエージェントの Broker_Agent_Net_A の設定は次のようになります。

 broker_agent device_1
 broker_agent device_2
 broker_agent device_3
 broker_agent device_4
 ...

さらに、それぞれのブローカーには、モニタするデバイスのモジュールを追加します。例えば、ブローカー device_1 はルータで、次のような設定です。

 module_begin
 module_name Ping
 module_type generic_proc
 module_ping 192.168.100.54
 module_ping_count 2
 module_ping_timeout 500
 module_end

 module_begin
 module_name Eth 1 up
 module_type generic_data
 module_snmpget
 module_snmpversion 1
 module_snmp_community public
 module_snmp_agent 192.168.100.54
 module_snmp_oid .1.3.6.1.2.1.2.2.1.1.1
 module_end

 module_begin
 module_name Eth 2 up
 module_type generic_data
 module_snmpget
 module_snmpversion 1
 module_snmp_community public
 module_snmp_agent 192.168.100.54
 module_snmp_oid .1.3.6.1.2.1.2.2.1.1.2
 module_end

他の例として、ブローカー device_2 は次のようなモジュールで Windows マシンをモニタします。

module_begin
module_name Ping
module_type generic_proc
module_ping 192.168.100.54
module_ping_count 2
module_ping_timeout 500
module_end

module_begin
module_name CPU_Load
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Processor
module_wmicolumn LoadPercentage
module_end

module_begin
module_name Mem_Free
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Memory
module_wmicolumn FreeMemory
module_end

module_begin
module_name Disk_Free
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Disk
module_wmicolumn FreeSpace
module_end

ソフトウエアエージェントをブローカーモードを有効にして使うことで、数千のデバイスからのデータを簡単に負荷分散して収集することができます。

Pandora FMS ソフトウエアエージェントは、ハードウエアおよびソフトウエアのインベントリの機能をサポートします。インベントリシステムは、企業のサーバで使われている CPU、拡張カード、メモリ、パッチ、ソフトウエアなどの情報を取得することができます。また、インベントリに変化が発生したときにアラートを上げることもできます。例えば、ディスクを交換したり、アプリケーションが削除されたときです。

より詳細の情報は、ソフトウエアエージェントによるローカルインベントリを参照してください。

For more information visit the topic Log collection and monitoring.

詳細に関しては、ログ収集と監視 を参照してください。

ソフトウェアエージェントは、リモートリクエストを受信して処理を実行することができます。

UDP は本質的に安全ではないことに注意してください(ただし、応答を損なうことなくメッセージを送信するには効率的です)。

Pandora FMS サーバが担当するソフトウェアエージェントに要求を送信できるようにするには、以下を設定します。

  • udp_server: この機能を有効化(1)または無効化(0)します。
  • udp_server_port: ソフトウエアエージェントの UDP サーバのリスニングポートです。
  • udp_server_auth_address: UDP サーバがリクエストを受け付ける IP アドレスです。0.0.0.0 に設定すると、すべての発信元からのリクエストを受け付けます。

変更を適用するためにソフトウエアエージェントを再起動します。

どこからでも要求を受け入れるために 0.0.0.0 に設定できますが、この方法はお勧めしません。 複数の Pandora FMS サーバがある場合や IPv6 を利用している場合は、異なる IP をカンマで区切って設定できます。たとえば、IPv6 で 2001:0db8:0000:130F:0000:0000:087C:140B がある場合、その省略形は 2001:0db8:0:130F::87C:140B です。両方をコンマで区切って使用します。

You must use the script located at:

以下のスクリプトを利用する必要があります。

/usr/share/pandora_server/util/udp_client.pl

It can be executed from the command line or used in an alert, through the command that comes preconfigurada in the Remote agent control console.

コマンドラインやから実行したり、コンソールの 設定済のコマンド “Remote agent control” を使ったアラートで使うことができます。

In addition to the Software Agent service restart action, custom actions can be specified.

ソフトウェアエージェントサービスの再起動アクションに加えて、カスタムアクションを指定できます。

process_<order_name>_start command

例えば、リモートから sshd サービスを起動したい場合は次のようにします。

process_sshd_start /etc/init.d/sshd start

You can also create commands that call scripts to perform multiple remote actions with the click of a button.

ボタンをクリックするだけで複数のリモートアクションを実行するスクリプトを呼び出すコマンドを作成することもできます。

プラグインは、ソフトウェアエージェントから複雑で高度なチェックを実行することができるものです。単一の値だけではなく、複数のモジュールを返すことができます。 Pandora FMS サーバによって実行されるサーバプラグインとは異なり、エージェントプラグインはXMLでデータを返し、同時に1つまたは複数のモジュールのデータを返します。

Windows では、デフォルトの全プラグインは、VBScript でプログラムされています。これらを実行するには、フルパスで適切なインタプリタを使用する必要があります。

以下に、Windows エージェントにデフォルトで含まれているプラグインのいくつかの使い方を示します。

module_plugin cscript.exe //B "%ProgramFiles%\pandora_agent\util\logevent_log4x.vbs" Aplication System 300
module_plugin cscript.exe //B "%ProgramFiles%\pandora_agent\util\df.vbs"
module_plugin cscript.exe //B "%ProgramFiles%\pandora_agent\util\ps.vbs" iexplore.exe myapp.exe

Windows エージェントでは、さまざまなプラグインを使用できます。

PowerShell チェックの利用

From version 776 onwards, there is module_exec_powershell, which allows more complex commands to be entered in PowerShell, with special characters and complex instructions (one instruction delivers results to the next) that are not supported using the module_exec module.

バージョン 776 以降には、module_exec_powershell があり、module_exec モジュールの使用ではサポートされていない特殊文字や複雑な命令 (1 つの命令が次の命令に結果を渡す) を含む、より複雑なコマンドを PowerShell に入力できるようになります。

# Example of Powershell execution module
module_begin
module_name Powershell
module_type generic_data_string
module_exec_powershell < command_1 > | < command_2 > || < command_N >
module_end

The commands are entered as they are, without the need of quotation marks for them to be processed by PFMS Software Agent (PowerShell commands, on the other hand, may need quotation marks). If the command is not valid, an error is added to the agent log (file pandora_agent.log).

コマンドは、PFMS ソフトウェアエージェントによって処理されるように引用符無しにそのまま入力します (一方、PowerShell コマンドには引用符が必要な場合があります)。 コマンドが正しくない場合、エージェントログ (ファイル pandora_agent.log) にエラーが追記されます。

Unix プラグインは、デフォルトでエージェントのディレクトリの “/plugin” 以下、/etc/pandora/plugins にあります。そのため、このディレクトリにある限りは実行時にフルパスを指定する必要はありません。

いくつかのプラグイン利用例を以下に示します。

  module_plugin grep_log /var/log/syslog Syslog .
  module_plugin pandora_df tmpfs /dev/sda1

Unix ソフトウエアエージェントには、デフォルトでいくつかのプラグインが含まれています。

By having remote configuration enabled, a Software Agent in its administration view will have the plugin editor tab.

リモート設定を有効にすると、設定ファイルを直接編集せずに管理することができます。管理画面のソフトウェアエージェントにプラグインエディタータブが表示されます。

例 1

ソフトウエアエージェントのプラグインは、一つのデータもしくはグループ化したデータを返すことができます。Windows で一つのデータを返す ps.vbs の例を示します。次の設定でプラグインを実行します。

module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\ps.vbs" IEXPLORE.EXE

プロセスがダウンしている場合は 0 を返し、プロセスがいる場合は 1 を返すモジュールです。

<module>
    <name><![CDATA[IEXPLORE.EXE]]></name>
    <description><![CDATA[Process IEXPLORE.EXE status]]></description>
    <data><![CDATA[1]]></data>
</module>

例 2

次に Windows で複数のデータを返す df.vbs プラグインの例を示します。次の設定でプラグインを実行します。

module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\df.vbs"

プラグインは見つけたモジュールごとにモジュールを返します。出力結果は次の通りです。

 <module>
     <name><![CDATA[C:]]></name>
     <description><![CDATA[Drive C: free space in MB]]></description>
     <data><![CDATA[805000]]></data>
 </module>
 
 <module>
     <name><![CDATA[D:]]></name>
     <description><![CDATA[Drive D: free space in MB]]></description>
     <data><![CDATA[90000]]></data>
 </module>

It is possible to add a token in the agent plugins configuration that when enabled allows the option to 'encapsulate' the plugin definitions inside the module_begin and module_end tags.

module_begin タグと module_end タグ内にプラグイン定義を 'カプセル化' すると、エージェントのプラグイン設定にトークンを追加することができます。

This enabled token allows you to insert configuration blocks such as module_interval or module_crontab, among others.

module_intervalmodule_crontab などを、設定に入れることができるようになります。

Plugins can be created in any programming language. Just bear in mind the general rules and the specific rules for its development.

プラグインは、任意のプログラミング言語で作成することができます。一般的なルール と開発の特別なルールに気を付けてください。

Make sure you finish the output of your plugin (if it is a script) with an errorlevel 0, or the agent will think that the plugin has had an error and was not able to be run.

カスタムプラグインの終了コードは 0 になるようにしてください。そうでないと、Pandora FMS エージェントはプラグインでエラーが発生したものと認識し、出力を無視します。

シェルスクリプト(Linux/Unix)によるプラグインの例

#!/bin/bash
# Detect if local Mysql is without password
# First, do we have a running MySQL?
CHECK_MYSQL=`netstat -an | grep LISTEN | grep ":3306 "`
if [ ! -z "$CHECK_MYSQL" ]
then

        CHECK_MYSQL_ROOT=`echo "select 1234" | mysql -u root 2> /dev/null | grep 1234`
        if [ -z "$CHECK_MYSQL_ROOT" ]
        then
        echo "<module>"
        echo "<type>generic_proc</type>"
        echo "<name>mysql_without_pass</name>"
        echo "<data>1</data>"
        echo "<description>MySQL have a password</description>"
        echo "</module>"
        else
        echo "<module>"
        echo "<type>generic_proc</type>"
        echo "<name>mysql_without_pass</name>"
        echo "<data>0</data>"
        echo "<description>MySQL do not have a password</description>"
        echo "</module>"
        fi
fi

exit 0

VBScript (Windows) によるプラグインの例

' df.vbs
' Returns free space for avaible drives.
' --------------------------------------

Option Explicit
On Error Resume Next

' Variables
Dim objWMIService, objItem, colItems, argc, argv, i

' Parse command line parameters
argc = Wscript.Arguments.Count
Set argv = CreateObject("Scripting.Dictionary")
For i = 0 To argc - 1
    argv.Add Wscript.Arguments(i), i
Next

' Get drive information
Set objWMIService = GetObject ("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery ("Select * from Win32_LogicalDisk")

For Each objItem in colItems
    If argc = 0 Or argv.Exists(objItem.Name) Then
        If objItem.FreeSpace <> "" Then
            Wscript.StdOut.WriteLine "<module>"
            Wscript.StdOut.WriteLine "    <name><![CDATA[" & objItem.Name & "]]></name>"
            Wscript.StdOut.WriteLine "    <description><![CDATA[Drive " & objItem.Name & " free space in MB]]></description>"
            Wscript.StdOut.WriteLine "    <data><![CDATA[" & Int(objItem.FreeSpace /1048576) & "]]></data>"
            Wscript.StdOut.WriteLine "</module>"
            Wscript.StdOut.flush
        End If
    End If
Next

Nagios has a large number of plugins that you can use with Pandora FMS. One way to do this is to use the remote plugins with the Plugin Server, using the Nagios compatibility.

Nagios には多くのプラグインがあり、Pandora FMS で利用することができます。プラグインサーバで nagios 互換モード を使ってリモートでプラグインを利用することができます。 ただし、ステータスを取得するのみで、いくつかの nagios プラグインが持っている詳細情報を扱うことができません。

この問題は、ソフトウエアエージェントで nagios プラグインラッパーを使うことで解決できます。ラッパーは、Unix エージェントにデフォルトで付属しています。Pandora FMS Windows エージェント用の同様のプラグインは、 Pandora FMS リソースライブラリからダウンロードできます。

nagios プラグイン用のプラグインラッパーは何をするのでしょうか。

nagios プラグインをそれ独自のパラメータを使って実行し、出力データを Pandora FMS で使いやすいように、次のような 2種類のデータに変換します。

  • ステータス情報: 正常(1)、異常(0)、警告(2)、不明() および、その他(4)。デフォルトでは、proc モジュールを利用します。正常および異常状態は、デフォルトで認識します。もし、警告やその他の状態を利用したい場合は、手動でモジュールのしきい値を設定してください。
  • 詳細情報: 通常は文字列データで、モジュールの説明フィールドに入ります。例えば、次のような形になります。
<![CDATA["OK: successfully logged in"]]>

実行権限がついた pop3 プラグイン (/tmp/check_pop3_login) があったとします。これは、pop3 アクセスが正常かどうかチェックします。リモートホストに接続し、ユーザ名とパスワードを送信し、問題ないかを確認します。コマンドラインからは、次のように実行できます。

/tmp/check_pop3_login  mail.artica.es sanler@artica.es mypass

次のような結果が返ってきます。

OK: successfully logged in.

異常の場合はつぎのようになります。

Critical: unable to log on

ラッパーの利用は簡単で、コマンドの前に、ラッパーとモジュール名を設定します。

/etc/pandora/plugins/nagios_plugin_wrapper sancho_test /tmp/check_pop3_login  mail.artica.es sanler@artica.es mypass

これで、エージェントプラグイン用に完全な XML を生成します。

<module>
<name>sancho_test</name>
<type>generic_proc</type>
<data>0</data>
<description><![CDATA[Critical: unable to log on]]></description>
</module>

または、

<module>
<name>sancho_test</name>
<type>generic_proc</type>
<data>1</data>
<description><![CDATA[OK: successfully logged in.]]></description>
</module>

pandora_agent.conf の全設定は次のようになります。

module_plugin nagios_plugin_wrapper POP3_artica.es /tmp/check_pop3_login mail.artica.es sanler@artica.es mypass

これは、モジュール内で次のように表示されます。(障害時)

The KeepAlive module can only be created from the Console, even if remote configuration is not enabled and it does not leave any trace in the pandora_agent.conf file.

KeepAlive モジュールは、リモート設定が有効になっていない場合でも コンソールから作成することができます。また、pandora_agent.conf ファイルの変更は発生しません。

A unique module in Pandora FMS is the type called keep_alive, used to alert if a Software Agent has stopped sending information.

Pandora FMS の固有のモジュールで keep_alive と呼ばれるタイプで、ソフトウェアエージェントが情報の送信を停止した場合に警告するために使用されます。

You must go to the modules tab (ManagementManage agents → click on agent name → Modules).

設定には、モジュールタブに移動する必要があります (管理(Management)エージェント管理(Manage agents) → エージェント名をクリック → モジュール(Modules))。

Click Create module and select Create a new data server moduleCreate → enter the name of the new module → Create.

モジュールの作成(Create module) をクリックし、データサーバモジュールの新規作成(Create a new data server module)作成(Create) → 新しいモジュールの名前を入力 → 作成(Create) を選択します。

Commands that have extensive outputs, such as top or netstat -n can be captured completely by a module and fully reproduced. The module must be configured as a text type, example:

topnetstat -n などの複数行の出力を持つコマンドは、モジュールによって完全にキャプチャでき、完全に再現できます。 モジュールはテキストタイプとして設定する必要があります。例:

module_begin
module_name process_table
module_type generic_data_string
module_exec ps aux
module_description Command snapshot of running processes
module_group System
module_end
  • In order for it to work like this, it is necessary to configure properly both Pandora FMS console (setup) and the agent that collects this information, making sure that it is untreated text.
  • In Console, option Command line snapshot must be activated.
  • 動作させるには、Pandora FMS コンソール (セットアップ) とこの情報を収集するエージェントの両方を適切に設定し、情報が 未処理 テキストであることを確認する必要があります。
  • コンソールでは、コマンドラインスナップショット オプションを有効化する必要があります。

This method allows defining modules of the string type (generic_data_string or async_string) that contain images in text format with a base64 encoding, being able to display said image instead of a specific result.

この監視では、base64 エンコードを使用したテキスト形式の画像を含む文字列型 (generic_data_string または async_string) のモジュールを定義でき、特定の文字列の代わりにその画像を表示できます。

For example:

例:

#!/bin/bash
echo "<module>"
echo "<name>Actual leader</name>"
echo "<type>async_string</type>"
echo "<data><![CDATA[data:image/jpeg;base64,/9j/4AAQSkZ....]]></data>"
echo "</module>"

Write that content to a file on the agent (or distribute by collections) and run it like this:

上記のファイルをエージェント上で保存し(またはファイルコレクションで配り)し、次のように実行します。

module_plugin <complete path to the file>
module_plugin <ファイルへのフルパス>
  • If the process name contains white spaces do not use “ ” .
  • The process name must be the same as the one displayed in the Windows Task Manager ( taskmngr ), including the extension .exe.
  • It is important to respect upper and lower case letters.
  • プロセスの名前に空白が含まれている場合は、 “ ” を使用しない でください。
  • プロセスの名前は、拡張子 .exe を含め、Windows のタスク管理 ( taskmngr ) に表示されているものと同じである必要があります。
  • 大文字と小文字を尊重する ことが重要です。

プロセスモニタリング

The module_proc parameter checks if a certain process name is running on this machine. Example:

module_proc パラメータは、指定した名前のプロセスがそのマシンで動いているかどうかをチェックします。例:

module_begin
module_name CMDProcess
module_type generic_proc
module_proc cmd.exe
module_description Process Command line
module_end

The parameter module_async yes must be added:

module_async yes のパラメータを指定する必要があります。

 module_begin
 module_name CMDProcess
 module_type generic_proc
 module_proc cmd.exe
 module_async yes
 module_description Process Command line
 module_end

プロセスウォッチドック

Windows のソフトウエアエージェントのウォッチドック機能は、プロセスがダウンしたときに再起動することができます。ウォッチドックは、モジュールが非同期の場合にのみ動作します。

ウォッチドックモジュールの設定例を以下に示します。

 module_begin
 module_name Notepad
 module_type generic_data
 module_proc notepad.exe
 module_description Notepad
 module_async yes
 module_watchdog yes
 module_user_session yes
 module_start_command "%SystemRoot%\notepad.exe"
 module_startdelay 3000
 module_retrydelay 2000
 module_retries 5
 module_end

Each time the notepad.exe process is deactivated and the command:

notepad.exe プロセスがいなくなるたびに、

%SystemRoot%\notepad.exe

will be executed (see common rules at the beginning of the Windows section). The process reactivation will be attempted 5 times with an initial waiting time of 3 seconds and a waiting time between retries of 2 seconds in the user's active session.

が実行されます(Windows の章の冒頭にある一般的なルールを参照してください)。 また、再起動のリトライは 3秒間隔で 5回まで実施し、1回のタイムアウトは 2秒という設定です。この例では、notepad.exe プロセスはユーザのセッションで起動します。

サービスモニタリング

module_service パラメータは、指定したサービスがマシンで動作しているかどうかをチェックします。モジュールの設定例を以下に示します。

 module_begin
 module_name Service_Dhcp
 module_type generic_proc
 module_service Dhcp
 module_description Service DHCP Client
 module_end

サービス名にスペースが含まれる場合、«“ “» は使わないようにしてください。サービス名を見つけるには、Windows サービスマネージャのサービス名フィールドを見てください。大文字、小文字の確認が重要です

サービスがダウンしたときにソフトウエアエージェントがすぐに通知して欲しい場合は、module_async yes を追加する必要があります。モジュールの設定例を以下に示します。

 module_begin
 module_name Service_Dhcp
 module_type generic_proc
 module_service Dhcp
 module_description Service DHCP Client
 module_async yes
 module_end

サービスウォッチドック

プロセスと同様に、ダウンしたサービスを再起動できるウォッチドックモードがあります。ウォッチドックを使ったモジュール定義例は次の通りです。

 module_begin
 module_name ServiceSched
 module_type generic_proc
 module_service Schedule
 module_description Service Task scheduler
 module_async yes
 module_watchdog yes
 module_end

ウォッチドックの定義には、特別なパラメータは必要ありません。サービスの定義内にあるためです。

When installing the PFMS Software Agent for MS Windows® the necessary basic modules are included, some of them come active and others must be activated by Remote Configuration (or locally editing the agent's .conf file).

MS Windows® 用 Pandora FMS ソフトウェアエージェントをインストールすると、必要な基本モジュールが含まれています。その一部は有効になっていますが、その他は リモート設定 (またはエージェントの .conf ファイルをローカルで編集) によって有効化する必要があります。

CPU のモニタリング

CPU をモニタするには、CPU 使用率を返す module_cpuusage パラメータを利用します。

次のような設定で、CPU の ID を元に CPU をモニタすることができます。

module_begin
module_name CPU_1
module_type generic_data
module_cpuusage 1
module_description CPU usage for CPU 1
module_end

また、次のように、すべての CPU の平均使用率をモニタすることもできます。

 module_begin
 module_name CPU Usage
 module_type generic_data
 module_cpuusage all
 module_description CPU Usage for all system
 module_end

メモリのモニタリング

メモリをモニタするには、システムの空きメモリ容量を返す module_freememory と、空き率をパーセンテージで返す module_freepercentmemory の 2つのパラメータを利用できます。

module_freememory を使ったモジュールの例を以下に示します。

 module_begin
 module_name FreeMemory
 module_type generic_data
 module_freememory
 module_description Non-used memory on system
 module_end

module_freepercentmemory を使ったモジュールの例を以下に示します。

 module_begin
 module_name FreePercentMemory
 module_type generic_data
 module_freepercentmemory
 module_end

ディスクのモニタリング

ディスクスペースをモニタするには、空き容量を返す module_freedisk と、空き率をパーセンテージで返す module_freepercentdisk の 2つのパラメータを利用できます。両方のパラメータには、モニタするドライブ名の指定が必要で、”:” を忘れないように してください。

module_freedisk を使ったモジュールの設定例を以下に示します。

 module_begin
 module_name FreeDisk
 module_type generic_data
 module_freedisk C:
 module_end

module_freepercentdisk を使ったモジュールの設定例を以下に示します。

 module_begin
 module_name FreePercentDisk
 module_type generic_data
 module_freepercentdisk C:
 module_end

WMI クエリ

Pandora FMS のソフトウエアエージェントは、システムに関連した情報や外部の情報を保持するのに使われる共通の技術である WMI クエリおよび ODBC 接続を使って情報を取得することができます。

module_wmiquery パラメータを使って、ソフトウエアエージェントはローカルで WMI クエリを実行することができます。クエリを実行するには、実行するクエリを module_wmiquery パラメータで設定し、取得したい情報を持つカラムを module_wmicolumn で指定します。

例えば、次の設定ではインストールされているサービス一覧を取得できます。

 module_begin
 module_name Services
 module_type generic_data_string
 module_wmiquery Select Name from Win32_Service
 module_wmicolumn Name
 module_end

WMI を使って、CPU ロードも取得できます。

 module_begin
 module_name CPU_Load
 module_type generic_data
 module_wmiquery SELECT LoadPercentage FROM Win32_Processor
 module_wmicolumn LoadPercentage
 module_end

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

Pandora FMS バージョン 7 以降では、エージェントには、別名と名前(またはユニークな識別子)があります。デフォルトでは、エージェントはランダムの 16進数から成る文字列の名前(または識別子)を生成します。また、マシンのホスト名から成る別名(または表示名)を生成します。

以前のバージョンでは、マシンの “名前” しかありませんでしたが、以前のシステムは Pandora FMS の最新バージョンと完全に互換性があります。同じPandora FMS インストールで同じ識別子(または名前)両方のエージェントのデータが混在し、上書きされます。 そのため、バージョン7以降では、異なる名前のエージェントが同じ別名を持つ可能性があります。

以下の設定トークンにより、この動作を変更できます。

 pandora_agent
 pandora_alias

デフォルトでは、設定ファイルのいずれかを使用しないので、マシンのホスト名を別名として取得し、非常に大きなランダムな16進数を名前または識別子として取得します。エージェント名は表示されなくなり(エージェント詳細表示を除く)、変更することはできません。 エージェントの一意の識別子はエージェントの「名前」であるため、エージェントの別名はソフトウェアエージェントの設定を心配することなく、いつでも変更できます。

  • ja/documentation/pandorafms/monitoring/02_operations.txt
  • 最終更新: 2024/11/15 23:38
  • by junichi