skip to content
検索
ログイン
☰
ログイン
メインメニューを表示
English documentation
Documentación en español
Documentation en Français
ドキュメント (日本語)
(c) 2009-2023 ドキュメンテーションチーム Pandora FMS.
Documentation home
/
ドキュメント (日本語)
/
管理者ガイド
/
Part 2. インストールと設定
/
エージェント設定
04-show_file-document
Created with Sketch.
07-revisions_history
Created with Sketch.
08-backlink_link-variant
Created with Sketch.
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
Editor CKG
====== エージェント設定 ====== {{indexmenu_n>5}} [[:ja:documentation:start|Pandora FMS ドキュメント一覧に戻る]] ===== ソフトウエアエージェントとは? ===== その名前が示すとおり、OS にインストールされ、監視情報を抽出して Pandora FMS サーバへ定期的に送信するための小さなソフトウエアです。 インストールしたシステムの情報を取得するために、OS のコマンドやツールを利用します。[[https://en.wikipedia.org/wiki/XML|XML]] フォーマットのファイルにデータをまとめ、それを処理しデータベースへ蓄える Pandora FMS データサーバへ送信します。 それぞれの監視項目は、//モジュール// と呼びます。 ===== エージェント設定概要 ===== ソフトウエアエージェントの動作は、//pandora_agent.conf// という設定ファイルによって決まります。Windows であればインストール先ディレクトリ、Linux であれば ///etc// 以下にあります。 設定ファイルには、そのエージェントの動作パラメータおよびモジュールが含まれます。 ===== エージェントの一般的なパラメータ ===== この章では、エージェントの一般的なパラメータ設定について説明します。Windows および UNIX 共通のものや、それぞれ専用のものがあります。以下に一般的なパラメータ詳細について記載します。 <WRAP center round important 60%> エージェントから最初にサーバがデータを受け取った時は全ての情報がデータベースに保存されます。以降に受信したデータは(学習モードの有効・無効により)、XML ファイルにおける **version**, **date**, **OS version** および、設定ファイルの **gis_exec**, **latitude**, **longitude**, **altitude** **parent_agent_name**, **timezone_offset**, **address**, **custom_field** フィールドのみ更新されます。 </WRAP> <WRAP center round important 60%> Linux および Windows システム共に、**エージェント設定ファイルの文字コードは、UTF-8です。** ファイルを編集するときは、上書きする前に文字コードを確認してください。文字コードが UTF-8 ではなく、かつ記号(マークや拡張記号など)を使う場合は、エージェントが記号を誤認識する可能性があり、設定を正しく解釈するか保証できません。 </WRAP> Pandora FMS XML フォーマットに関する詳細は[[:ja:documentation:08_technical_reference:01_development_and_extension#pandora_fms_xml_データファイルフォーマット|こちら]]を確認してください。[[:ja:documentation:05_big_environments:08_optimization#pandora_fms_の_xml_負荷|テストデータ生成]](キャパシティ分析ツール)についても確認してください。 UNIX でソフトウエアエージェントのパラメータ変更後、再起動、停止、起動するには以下のようにします。 <code> /etc/init.d/pandora_agent_daemon restart </code> <code> /etc/init.d/pandora_agent_daemon stop </code> <code> /etc/init.d/pandora_agent_daemon start </code> ==== server_ip ==== データを保持する Pandora FMS サーバのホスト名もしくは IP アドレスを設定します。 ==== server_path ==== エージェントから送られるデータを受け取るサーバのディレクトリパスを設定します。通常は、/var/spool/pandora/data_in です。 ==== temporal ==== エージェントがサーバにデータを送信する前にローカルで利用するフォルダのパスを設定します。 ==== description ==== XML でエージェントが送る「説明」を設定します。Pandora FMS はエージェントを作成する時に、この「説明」を取り込みます。 ==== group ==== エージェントが所属するグループ名を設定します。このパラメータで指定された名前のグループがある場合、サーバが特定のグループにエージェントを作成するようにしていなければ、指定したグループ内にエージェントが作成されます。 ==== temporal_min_size ==== テンポラリディレクトリのパーティション空き容量がここで指定したサイズ (MB 単位) より小さくなったら、**データパケットの生成を停止します。** (デフォルトは 1MB) 何らかの理由でプライマリおよび[[:ja:documentation:02_installation:05_configuration_agents#セカンダリサーバ|セカンダリ]]の Pandora FMS サーバへの接続が長時間切れた場合に、ディスクがいっぱいになるのを避けます。 <WRAP center round tip 90%>[[:ja:documentation:04_using:02_events#一般情報|Pandora FMS イベント表示]]で、原因が何であれ、ソフトウェアエージェントがメインおよびセカンダリ Pandora FMS サーバへのデータ配信を停止したかどうかをタイムリーに知ることができます。この場合、その状態は ''不明'' になります。必要に応じて、[[:ja:documentation:04_using:01_alerts#ステップ_2状態|アラート条件の作成]]も参照してください。 [[:wiki:pfms-gitlab_ticket_7146.png?id=ja%3Adocumentation%3A02_installation%3A05_configuration_agents&media=wiki:pfms-gitlab_ticket_7146.png|{{ :wiki:pfms-gitlab_ticket_7146.png }}]] 4日間オフラインのこの例では、1メガバイト(または設定した値)の空きディスク容量が残るまで、監視データが保存されます。</WRAP> <WRAP center round important 60%>上記の理由により、ソフトウェアエージェントが改めてプライマリおよびセカンダリ Pandora FMS サーバに接続するときに、蓄積された量のデータで[[:ja:documentation:01_understanding:02_architecture#データ_data_サーバ|Pandora FMS データサーバ]]の高負荷が発生する可能性があることに注意が必要です。</WRAP> ==== temporal_max_size ==== XML バッファの最大サイズ(メガバイト)です。デフォルトは ''1024'' です。 ''[[:ja:documentation:02_installation:05_configuration_agents#temporal_min_size|temporal_min_size]]'' も確認してください。 ==== temporal_max_files ==== XML バッファの最大ファイル数です。デフォルトは ''1024'' です。 ''[[:ja:documentation:02_installation:05_configuration_agents#temporal_min_size|temporal_min_size]]'' も確認してください。 ==== logfile ==== Pandora FMS エージェントのログファイルのパスです。 ==== interval ==== エージェントの秒単位のデータ収集間隔です。この間隔でエージェントは情報を収集し、Pandora FMS サーバへ送ります。 ==== disable_logfile ==== このパラメータは、pandora_agent.log へのログ出力を無効化します。Windows のみ。 ==== debug ==== 有効化すると、エージェントのデータファイルはテンポラリディレクトリ内に名前を変えて保存され、サーバへ送信したあとも削除されません。XML ファイルを開いて内容を確認することができます。 ==== agent_name ==== カスタム名を設定できます。設定していない場合、エージェント名はマシンのホスト名になります。 ==== agent_name_cmd ==== 外部コマンドを使ってエージェント名を定義したい場合に設定します。これはオプションです。このパラメータを設定した場合、'agent_name' は無視されます。外部コマンドはエージェント名を標準出力に返す必要があります。複数行を返した場合、1行目がエージェント名として扱われます。 ==== agent_alias_cmd ==== <WRAP center round tip 60%>バージョン NG 7 以上</WRAP> 外部コマンドを使ってエージェントの別名を定義したい場合に設定します。このパラメータを設定した場合、'agent_alias' は無視されます。外部コマンドはエージェントの別名を標準出力に返す必要があります。複数行を返した場合、1行目がエージェントの別名として扱われます。 ==== address ==== これは、ソフトウエアエージェントの IP アドレスです。X.X.X.X というフォーマットの IP アドレス、'localhost' のようなホスト名、または 'auto' を設定できます。IP アドレスまたはホスト名を指定した場合は、そのアドレスがエージェントに追加され、メインのアドレスとなります。'auto' を指定した場合は、ホストから IP アドレスを取得してエージェントに追加されます。 ==== encoding ==== ISO-8859-15 や UTF-8 のように、システムのエンコーディングの種類を設定します。 ==== server_port ==== このパラメータは、リモートのサーバの待ち受けポートの設定です。Tentacle のデフォルトは 41121 です。 ==== transfer_mode ==== このパラメータには、エージェントからサーバへデータを送信するための方法を設定します。デフォルトは Tentacle です。 ==== transfer_timeout ==== <WRAP center round tip 60%>バージョン 6.0 以上</WRAP> データ転送プログラムの実行タイムアウトを秒単位で指定します。設定されていない場合のデフォルトは 30 です。 ==== server_pwd ==== Windows の FTP もしくは Tentacle 転送モードのパスワードを設定します。Tentacle モードの場合はパスワードは必須ではありません。このパスワードでサーバでの認証を行います。 ==== server_ssl ==== Tentacle の転送モードを設定します。SSL による暗号化を有効化(''yes'')または、無効化(''no'')できます。Tentacle の暗号化通信については、[[:ja:quickguides:secure_communication_with_tentacle|こちらの章]]も参照してください。 ==== server_opts ==== Tentacle の転送モードを設定します。Tentacle クライアントの拡張設定のために渡す、追加パラメータを設定します。 バージョン 3.2 以降のエージェントでは、tentacle がサーバへデータを送信するのに HTTP プロキシをサポートしています。プロキシを利用するには、つぎのような拡張オプションを使います。 <code> server_opts "-y user:pass@proxy.inet:8080" </code> この例では、tentacle クライアントがポート 8080、ユーザ "user"、パスワード "pass" でプロキシ 'proxy.inet' に接続します。プロキシサーバが 192.168.1.2 で、ポート番号が 9000、また、認証が無い場合は次のようにします。 <code> server_opts "-y 192.168.1.2:9000" </code> ==== delayed_startup ==== //デフォルトでは無効です。// エージェント起動後、処理を開始するまでの待ち時間(**秒** または **分**)です。MS Windows 以外のソフトウエアエージェントで利用できます。 ==== startup_delay ==== //デフォルトでは無効です。// エージェント起動後、処理を開始するまでの秒単位の待ち時間です。MS Windows のみ。 ==== pandora_nice ==== このパラメータには、Pandora FMS エージェントプロセスの優先順位を設定します。この設定は、Unix/Linux エージェントにのみ存在します。 ==== autotime ==== これを有効に設定 (1 に設定) すると、エージェントが送信する時間データを無視し、サーバに接続した時間をサーバのローカル時間で認識するようになります。この設定は、何らかの理由によりエージェントの時刻がおかしかったり、サーバの時刻と大きくずれている場合に利用します。 ==== cron_mode ==== このパラメータを有効にすると、エージェントをそれ自身の実行の仕組みではなく、Linux の crontab から指定した時刻に実行できるようになります。デフォルトでは無効になっています。 ==== remote_config ==== (Pandora FMS Enterprise のみ) リモートエージェント設定を有効化(1)または無効化(0)します。Tentacle 転送モードでのみ利用できます。 ==== xml_buffer ==== 有効化(1)すると、エージェントは接続障害等でサーバに XML ファイルを送信できなかったとき、それをテンポラリディレクトリに保存します。それらは、通信が復旧したときに送られます。 ==== timezone_offset ==== エージェントではサーバの[[https://en.wikipedia.org/wiki/Time_zone|タイムゾーン]]とのオフセットを設定できます。これは、エージェントが異なるタイムゾーンのサーバで稼働しているとき、同じ時間に合わせる場合にとても便利です。エージェントは、調整したタイムゾーンでサーバに送信します。 <code> # Timezone offset: Difference with the server timezone timezone_offset 3 </code> サーバのタイムゾーンからエージェントのタイムゾーンを差し引いて計算されます。例えば、サーバのタイムゾーンが UTC+1 で、エージェントのタイムゾーンが UTC-5 であれば、タイムゾーンのオフセットは、6 = 1 - (-5) です。 ==== parent_agent_name ==== ソフトウエアエージェントの親を指定します。Pandora FMS に存在するエージェント名である必要があります。 ==== agent_threads ==== モジュールを並行して実行するエージェントのスレッド数です。デフォルトではシングルスレッドで、すべての処理完了まで 1つずつモジュールを実行します。これは、UNIX エージェントのみの機能です。 <code> # Number of threads to execute modules in parallel agent_threads 4 </code> ==== include ==== <code> include <file> </code> 別の設定 ''<ファイル>'' をインクルードすることができます。このファイルには、メインの設定ファイルに加えて追加のモジュールや収集を含めることができます。これはオプションです。ファイルのアップロードには、ユーザにエージェント書き込み(AW)の[[:ja:documentation:04_using:11_managing_and_administration#pandora_fms_でのプロファイル|プロファイル]] が必要です。 ==== broker_agent ==== <code> broker_agent < broker_name > </code> ブローカーエージェント機能を有効化します。有効化するにはパラメータのコメントを外し、ブローカーエージェントに割り当てる名前 (''< broker_name >'') を指定する必要があるだけです。メインの設定ファイルに記載したブローカーエージェントの名前で新たな設定ファイルが生成されます。この設定はメインのエージェントでのみ利用でき、作成された新たなエージェント設定内では利用できません。 ==== pandora_user ==== <code> pandora_user <user> </code> このパラメータはオプションで、システムの特定のユーザ (''<user>'') でエージェントを実行させるためのものです。指定するユーザは、エージェントの実行権限等を持つ必要があります。 ==== custom_id ==== 外部アプリケーションのための、エージェントのカスタム ID です。 ==== url_address ==== コンソールでエージェントから開くカスタム URL です。 ==== custom_fieldX_name ==== システムに設定済のエージェントのカスタムフィールド名です。存在しない場合は無視されます。 例: <code> custom_field1_name Model </code> ==== custom_fieldX_value ==== 前述のパラメータで定義されたカスタムフィールド X の値です。 例: <code> custom_field1_value C1700 </code> ==== module_macro ==== <WRAP center round tip 60%> Unix/Linux 用ソフトウエアエージェント</WRAP> <code> module_macro<_macro_name_ > < value > </code> モジュールの定義で利用可能な[[:ja:documentation:04_using:03_templates_and_components#ローカル実行マクロ|ローカル実行マクロ]]を定義します。これらのマクロは、メタコンソールシステムとローカルモジュールコンポーネントシステムで使用され、コードを直接編集することで難しくなるモジュール定義を「抽象化」し、高度なユーザに値を「入力」できるローカルインターフェイスを提供します。 これらの値は、ローカルプラグインのマクロシステムに比較的似たマクロシステムを使用して、以下のように使用できます。 ''_fieldx_'' で始まるローカル拡張マクロ。 例: <code> module_begin module_name Particion_opt module_type generic_data module_exec df -kh _field1_ | tail -1 | awk '{ print $5}' | tr -d "%" module_macro_field1_ /opt module_end </code> ==== group_password ==== <code> group_password <password> </code> エージェントグループのパスワードです。グループのパスワード保護をしない場合は、コメントアウトした状態にしてください。 ==== ehorus_conf ==== <WRAP center round tip 60%>バージョン NG 7 以上</WRAP> <code> ehorus_conf <path> </code> 有効な [[:ja:documentation:04_using:12_console_setup#ehorus|eHorus]] エージェント設定ファイルへの絶対パス。エージェントは、eHorus エージェントの識別キーを含む ''eHorusID'' という名前のカスタムフィールドを作成します。 ==== transfer_mode_user ==== <WRAP center round tip 60%>バージョン NG 7.0 OUM713 以上</WRAP> <code> transfer_mode_user <user> </code> ローカル転送モードでコピーされるファイルのユーザでえす。正しく動作するためには、コンソールのフォルダで、このユーザがリモート設定ファイルを読み書きできる権限が必要です。デフォルトは ''apache'' です。 ==== secondary_groups ==== <WRAP center round tip 60%>バージョン NG 7.0 OUM721 以上</WRAP> <code> secondary_groups <group name1>, <group name2>, ... <group nameN> </code> エージェントに割り当てるセカンダリグループ名です。複数のセカンダリグループをカンマ区切りで指定できます。サーバ上に存在しないグループを指定した場合はグループは割り当てられませんが、エージェントの作成には影響ありません。 ==== standby ==== <WRAP center round tip 60%>バージョン NG 7.0 OUM728 以上</WRAP> <code> standby <1|0> </code> エージェントがスタンバイモード(''standby 1'')の場合、エージェントは監視を実行せず XML の生成や送信を行いません。この設定は、リモート設定がある Enterprise 版の利用時に意味があります。これにより、エージェントを無効化した場合に動作を停止することができます。 デバッグモードの場合はこの機能を上書きし、エージェントは通常動作をします。 ===== セカンダリサーバ ===== データを送信するセカンダリサーバを設定することができます。設定により二種類の動作モードがあります。 * **on_error**: プライマリサーバにデータを送信出来なかった場合のみ、セカンダリサーバにデータを送信します。 * **always**: プライマリサーバにデータが送信できるかどうかに関わらず、常にセカンダリサーバにもデータを送信します。 設定例: <code> # Secondary server configuration # ============================== # If secondary_mode is set to on_error, data files are copied to the secondary # server only if the primary server fails. If set to always, data files are # always copied to the secondary server. #secondary_mode on_error #secondary_server_ip localhost #secondary_server_path /var/spool/pandora/data_in #secondary_server_port 41121 #secondary_transfer_mode tentacle #secondary_transfer_timeout 30 #secondary_server_pwd mypassword #secondary_server_ssl no #secondary_server_opts </code> ===== UDP サーバ ===== <WRAP center round important 60%> UDPは本質的に安全ではないことに注意してください(ただし、応答を必須としないメッセージを送信するには効率的です)。 </WRAP> Pandora FMS エージェントは、 [[:ja:documentation:03_monitoring:02_operations#udp_リモートコマンド|リモートからコマンドを受け取る]]設定ができます。このサーバは、ユーザが指定した UDP のポートで待ち受けており、アラートが発生したときに何らかのコマンドを実行するなど、リモートシステム (基本的には Pandora FMS) から命令を受け取ることができます。 UDP リモートサーバの設定には、いくつかのオプションがあり、//pandora_agent.conf// にて設定します。 * **udp_server**:UDP サーバを有効にする場合は 1 を設定します。デフォルトでは無効です。 * **udp_server_port**: 待ち受けポート番号を設定します。 * **udp_server_auth_address**: 命令の送信を許可する IPアドレスを設定します。カンマ区切りで複数のアドレスを指定できます。0.0.0.0 に設定すると、UDP サーバはすべてのアドレスからのリクエストを受け付けます。 <WRAP center round important 60%> すべてのソースからのコマンド受け入れのために 0.0.0.0 に設定できますが、この方法はお勧めしません。複数の Pandora FMS サーバがある場合、または IPv6 を使用している場合は、カンマで区切って異なる IP アドレスを追加できます。たとえば、 IPv6:''2001:0db8:0000:130F:0000:0000:087C:140B'' があり、その省略形が ''2001:0db8:0:130F::87C:140B'' の場合は、両方をカンマで区切って指定します。 </WRAP> * **process_<name>_start <command>**: ユーザ定義プロセスを起動するコマンドを設定します。 * **process_<name>_stop <command>**: プロセスを停止するコマンドを設定します。 * **service_<name> 1**: リモートから停止や起動ができるサービス名 <name> を設定します。 設定例: <code> udp_server 1 udp_server_port 4321 udp_server_auth_address 192.168.1.23 process_firefox_start firefox process_firefox_stop killall firefox service_messenger 1 </code> サーバは、次のコマンドを受け付けます。 <code> * **<START|STOP> SERVICE <サービス名>**: サービスの起動や停止を行います。 * **<START|STOP> PROCESS <プロセス名>**: プロセスの起動や停止を行います。 * **REFRESH AGENT <エージェント名>**: エージェントの強制実行および、データの更新を行います。 </code> 例: <code> STOP SERVICE messenger START PROCESS firefox REFRESH AGENT 007 </code> サーバの ///util/udp_client.pl// に、Pandora FMS サーバでアラート発生時にプロセスやサービスを起動できる実行コマンドとして利用できるスクリプトがあります。次のような書式で利用します。 <code> ./udp_client.pl <address> <port> <command> </code> 例えば、エージェントを再起動するには次のようにします。 <code> ./udp_client.pl 192.168.50.30 41122 "REFRESH AGENT" </code> より詳しくは、[[:ja:documentation:04_using:01_alerts#定義済のコマンド|アラート設定の章]]を参照ください。 ===== モジュール定義 ===== [[:ja:documentation:02_installation:05_configuration_agents#エージェント設定概要|設定ファイル]] ''pandora_agent.conf'' にてローカルモジュールの実行を定義します。利用可能な全パラメータを以下に説明します。一般的な書式は次の通りです。 <code> module_begin module_name <モジュール名> module_type generic_data module_exec <実行するローカルコマンド> module_end </code> ここで ''<モジュール名>'' はモジュールの名前で、''<実行するローカルコマンド>'' は実行されるコマンドです。モジュールには複数の追加オプションがあります。この例では、ほとんどの場合に共通の必須行のみが使用されています。 以下のビデオチュートリアルも参照ください。 * [[https://www.youtube.com/watch?v=Ya-aZ7EpaD4|"How to configure a Linux module in Pandora FMS"]]. * [[https://www.youtube.com/watch?v=iJXvKySFZ8M|"Windows local module creation in Pandora FMS"]]. 以下の章ではそれぞれの詳細を説明します。 ==== 全モジュールで共通の項目 ==== <WRAP center round important 60%> モジュールのフィールド情報はモジュール作成時にのみ反映されます(モジュールデータ、説明、拡張情報を除く)。モジュールがすでに存在する場合は更新されません。 </WRAP> === module_begin === モジュール定義の開始を示す、必須項目です。 === module_name === モジュールの名前です(必須)。重複した名前は設定できません。 <code> module_name <名前> </code> === module_type === <code> module_type <タイプ> </code> モジュールが返すデータタイプです。いずれか一つを選択することが必須です。指定可能なデータタイプは次の通りです。 * **Numerical** (generic_data): 小数または整数の数値データです。小数値の場合は整数に切り捨てられます。 * **Incremental** (generic_data_inc): 前の値と現在の値の差分を間隔の時間で割ったデータです。差分がマイナスの場合は値はリセットされます。これは、差分は再びプラスになること、増分がプラスの値である限りは前のデータとの差が利用されることを意味します。 * **Absolute incremental** (generic_data_inc_abs): 前の値と現在の値の差分データです。絶対的な差分の値であり、単位時間あたりの差分ではありません。差分がマイナスの場合は値はリセットされます。差分が再びプラスになった場合はベースの値として利用され、そこから差分が計算されます。 * **Alphanumeric** (generic_data_string): 文字列です。 * **Booleans** (generic_proc): 正常(1)または異常(0)をとる値です。コンピュータが動いているか、プロセスやサービスが動いているかどうかのチェックに便利です。異常値(0)には障害状態があらかじめ設定されています。それよりも大きい任意の値(1より大きい数字も扱えます)は正常と判断されます。 * **Asynchronous Alphanumeric** (async_string): (定期実行ではない)非同期の文字列収集に使います。非同期監視は、任意のタイミングで発生するイベントや変更に依存するため、このタイプのモジュールは不明状態にはなりません。 * **Asynchronous Monitor** (async_proc): generic_proc と似ていますが、非同期のデータタイプです。 * **Asynchronous Numerical** (async_data): generic_data と似ていますが、非同期のデータタイプです。 === module_min === <code> module_min <値> </code> そのモジュールが返すことを許容されるデータの最小値です。範囲を外れたデータはサーバにより削除されます。 === module_max === <code> module_max <値> </code> そのモジュールが返すことを許容されるデータの最大値です。範囲を外れたデータはサーバにより削除されます。 === module_min_warning === <code> module_min_warning <値> </code> モジュールが警告状態になる最小値です。 === module_max_warning === <code> module_max_warning <値> </code> モジュールが警告状態になる最大値です。 === module_min_critical === <code> module_min_critical <値> </code> モジュールが障害状態になる最小値です。 === module_max_critical === <code> module_max_critical <値> </code> モジュールが障害状態になる最大値です。 === module_disabled === <code> module_disabled <値> </code> モジュールが、有効(0)か無効(1)かを表します。 === module_min_ff_event === <code> module_min_ff_event <値> </code> 連続抑制回数を指定します。連続抑制回数とは、収集データに揺らぎがあるような場合に、それを変化としてとらえないように抑止するものです。 === module_each_ff === <code> module_each_ff <0|1> </code> 有効化(1)すると、module_min_ff_event の代わりに連続抑制回数に個別状態変化(module_min_ff_event_normal, module_min_ff_event_warning および module_min_ff_event_critical)を利用します。 === module_min_ff_event_normal === <code> module_min_ff_event_normal <値> </code> 個別状態変化で、正常状態へ移行する場合の連続抑制回数です。 === module_min_ff_event_warning === <code> module_min_ff_event_warning <値> </code> 個別状態変化で、警告状態へ移行する場合の連続抑制回数です。 === module_min_ff_event_critical === <code> module_min_ff_event_critical <値> </code> 個別状態変化で、障害状態へ移行する場合の連続抑制回数です。 === module_ff_timeout === <code> module_ff_timeout <秒> </code> 指定した秒数が経過したら連続抑制回数のカウンターをリセットします。これは、//module_min_ff_event// に指定した抑制回数の状態変化が //module_ff_timeout// に指定の秒数以内に発生する必要があることを意味します。 === module_ff_type === <code> module_ff_type <値> </code> これは、連続抑制の高度なオプションで、モジュールの状態を制御します。 "カウンタを保持する" ことによって、値の代わりに、受け取った値を持つモジュールの状態に応じて、ある状態から別の状態に渡すカウンタ値をいくつか設定します。 有効(1)か無効(0)かを指定します。 === module_ff_event === <code> module_ff_event X </code> これは、モジュールの連続抑制実行のしきい値(秒単位)です。 === module_description === <code> module_description <テキスト> </code> モジュールの任意のコメントです。 === module_interval === <code> module_interval <間隔倍率> </code> それぞれのモジュールの実行間隔をエージェントの間隔の倍率で設定することができます。例えば、エージェントが 300 (5 分)間隔の設定であった場合に、あるモジュールだけ 15分間隔にしたいときに、module_interval 3 を設定します。そのモジュールは、300秒 x 3 = 900秒 (15分) 間隔で実行されます。 <WRAP center round important 60%> ブローカーエージェントで module_interval が動作するようにするには、元のエージェントと同じ間隔に設定する必要があります。 そうしないと、正しく動作しない可能性があります。 </WRAP> === module_timeout === <code> module_timeout <秒数> </code> モジュールの最大実行時間を秒単位で指定します。実行中にこの時間を超過した場合は、実行が中止されます。 === module_postprocess === <code> module_postprocess <倍率> </code> モジュールから返される値を何倍するかの値です。データの単位を変換するのに便利です。もし、エージェントが取得した値に 1024 を掛けたい場合は、1024 を設定します。また、1024 で割りたい場合は、1/1024 を意味する 0.000976563 を設定します。 === module_save === <code> module_save <変数名> </code> このパラメータで定義された名前の変数にモジュールから返された値を保存します。この値はあとから他のモジュールで利用できます。 例: <code> module_begin module_name echo_1 module_type generic_data module_exec echo 41121 module_save ECHO_1 module_end </code> "ECHO_1" という変数に、値 41121 を保存します。 <code> module_begin module_name echo_2 module_type generic_data module_exec echo $ECHO_1 module_end </code> 2つ目のモジュールでは、"$ECHO_1" という変数の内容を表示します。"41121" となります。 Windows エージェントでは、変数は $var ではなく %var% で指定します。 以下に例を示します。 <code> module_begin module_name echo_2 module_type generic_data module_exec echo %ECHO_1% module_end </code> === module_crontab === バージョン 3.2 から、モジュールを指定した日時に実行させるようにすることができます。この設定は、**module_crontab** にて、[[https://en.wikipedia.org/wiki/Cron#CRON_expression|crontab]] ファイルに似た設定を行うことにより実現します。 <code> module_crontab <分> <時間> <日> <月> <曜日> </code> 指定可能な範囲は次の通りです。 * 分 0-59 * 時間 0-23 * 日 1-31 * 月 1-12 * 曜日 0-6 (0 が日曜です) 期間を指定する **-** を利用することも可能です。 例えば、あるモジュールを毎週月曜の 12時から 15時の間に実行するには、次のような設定をします。 <code> module_begin module_name crontab_test module_type generic_data module_exec script.sh module_crontab * 12-15 * * 1 module_end </code> コマンドを毎時 10分に実行したい場合は、次のようにします。 <code> module_begin module_name crontab_test3 module_type generic_data module_exec script.sh module_crontab 10 * * * * module_end </code> === module_condition === <code> module_condition <評価式> <コマンド> </code> バージョン 3.2 から、モジュールが特定の値を返す場合にコマンドを実行させることが可能です。次に示すオプションの一つを定義します。 * **>** [値]: モジュールの値が指定された値よりも大きい場合にコマンドを実行します。 * **<** [値]: モジュールの値が指定された値よりも小さい場合にコマンドを実行します。 * **=** [値]: モジュールの値が指定された値と同じ場合にコマンドを実行します。 * **!=** [値]: モジュールの値が指定された値と異なる場合にコマンドを実行します。 * **=~** [正規表現]: モジュールの値が指定された正規表現にマッチする場合にコマンドを実行します。 * **(** 値, 値**)**: モジュールの値が指定された値の範囲の場合にコマンドを実行します。 同一のモジュールに複数の条件を設定することも可能です。以下の例では、モジュールの値が 1 と 3 の間の時に//script_1.sh// が実行されます。また、モジュールの値が 5.5 より大きい時に //script_2.sh// が実行されます。//module_exec// の結果が 2.5 なので、最初の //script_1.sh// のみ実行されます。 <code> module_begin module_name condition_test module_type generic_data module_exec echo 2.5 module_condition (1, 3) script_1.sh module_condition> 5.5 script_2.sh module_end </code> 例: <code> module_begin module_name MyProcess module_type generic_data module_exec tasklist | grep MyProcess | wc -l module_condition> 2 taskkill /IM MyProcess* /F module_end </code> <code> module_begin module_name PandoraLogSize module_type generic_data module_exec ls -la "c:\Archivos de programa\pandora_agent\pandora_agent.log" | gawk "{ print $5 }" module_condition> 10000 del "c:\Archivos de programa\pandora_agent\pandora_agent.log" module_end </code> <code> module_begin module_name Service_Spooler module_type generic_proc module_service Spooler module_condition = 0 net start Spooler module_end </code> * 注意: Windows プラットホームでは、コマンドの実行にはそれが正しく実行されていることを確認するために **cmd.exe /c** を利用することをお勧めします。例えば次の通りです。 <code> module_begin module_name condition_test module_type generic_data module_exec echo 5 module_condition (2, 8) cmd.exe /c script.bat module_end </code> === module_precondition === <code> module_precondition <評価式> <コマンド> </code> 事前状態定義にマッチした場合モジュールを実行します。次に示すオプションの一つを定義します。 * **>** [値]: コマンドの実行結果が指定された値よりも大きい場合にモジュールを実行します。 * **<** [値]: コマンドの実行結果が指定された値よりも小さい場合にモジュールを実行します。 * **=** [値]: コマンドの実行結果が指定された値と同じ場合にモジュールを実行します。 * **!=** [値]: コマンドの実行結果が指定された値と異なる場合にモジュールを実行します。 * **=~** [正規表現]: コマンドの実行結果が指定された正規表現にマッチする場合にモジュールを実行します。 * **(** 値, 値**)**: コマンドの実行結果が指定された値の範囲の場合にモジュールを実行します。 以下の例では、precondition で設定した実行結果が 2 と 8 の間の場合に、モジュール //monitoring_variable.bat// が実行されます。この例では //module_precondition// の実行結果が 5 であるため、値が 2 と 8 の間であり、//monitoring_variable.bat// が実行されます。 <code> module_begin module_name Precondition_test1 module_type generic_data module_precondition (2, 8) echo 5 module_exec monitoring_variable.bat module_end </code> module_condition と同様に、複数の事前状態定義を利用することができます。モジュールは、すべての事前状態定義にマッチした場合のみ実行されます。 <code> module_begin module_name Precondition_test2 module_type generic_data module_precondition (2, 8) echo 5 module_precondition <3 echo 5 module_exec monitoring_variable.bat module_end </code> * 注意: Windows プラットホームでは、コマンドの実行にはそれが正しく実行されていることを確認するために **cmd.exe /c** を利用することをお勧めします。例えば次の通りです。 <code> module_begin module_name Precondition_test3 module_type generic_data module_precondition (2, 8) cmd.exe /c script.bat module_exec monitoring_variable.bat module_end </code> === module_unit === <code> module_unit <単位> </code> これは、モジュールの値に付与する単位です。 例: <code> module_unit % </code> === module_group === <code> module_group <値> </code> これは、モジュールグループ名です。 例: <code> module_group Networking </code> === module_custom_id === <code> module_custom_id <値> </code> モジュールのカスタム ID です。 例: <code> module_custom_id host101 </code> === module_str_warning === <code> module_str_warning <値> </code> 文字列タイプのモジュールで警告状態を定義する正規表現です。 例: <code> module_str_warning .*NOTICE.* </code> === module_str_critical === <code> module_str_critical <値> </code> 文字列タイプのモジュールで障害状態を定義する正規表現です。 例: <code> module_str_critical .*CRITICAL.* </code> === module_warning_instructions === <code> module_warning_instructions <値> </code> モジュールが警告状態に変化したときのオペレータへの指示です。 例: <code> module_warning_instructions Increase incident priority </code> === module_critical_instructions === <code> module_critical_instructions <値> </code> モジュールが障害状態に変化したときのオペレータへの指示です。 例: <code> module_critical_instructions Call to sys department </code> === module_unknown_instructions === <code> module_unknown_instructions <値> </code> モジュールが不明状態に変化したときのオペレータへの指示です。 例: <code> module_unknown_instructions Open incident </code> === module_tags === <code> module_tags <値> </code> カンマ区切りでモジュールに割り当てるタグを指定します。 例: module_tags tag1,tag2,tag3 === module_warning_inverse === <code> module_warning_inverse <値> </code> 警告閾値範囲の反転を有効化(1)します。 例: <code> module_warning_inverse 1 </code> === module_critical_inverse === <code> module_critical_inverse <値> </code> 障害閾値範囲の反転を有効化(1)します。 例: <code> module_critical_inverse 1 </code> === module_native_encoding === <WRAP center round tip 60%>Win32 のみ</WRAP> <code> module_native_encoding <値> </code> この設定トークンは、module_exec によってコマンドラインから実行されるモジュールにのみ影響します。 Windows では、コマンドラインエンコーディング(OEM)、システムエンコーディング(ANSI)および、UTF-16 の 3つのプロセスのエンコーディングがあります。いずれのエンコーディングも通常の文字を扱うことができますが、アクセントを表したものなどいくつかの文字に違いがあります。このトークンにより、Pandora エージェントが設定ファイル(pandora_agent.conf)で指定したエンコーディングに出力を変換します。 module_native_encoding は、次の 4種類の値を設定できます。 * module_native_encoding OEM: コマンドラインエンコーディングに変換 * module_native_encoding ANSI: システムエンコーディングに変換 * module_native_encoding UTFLE: UTF-16 のリトルエンディアンに変換 * module_native_encoding UTFBE: UTF-16 のビッグエンディアンに変換 module_native_encoding の設定が無い場合は、変換は行われません。 === module_quiet === <code> module_quiet <値> </code> 有効化(''1'')すると、モジュールは静観モードになります。イベントやアラートを生成しません。 例: <code> module_quiet 1 </code> === module_ff_interval === <code> module_ff_interval <値> </code> 収集データに揺らぎがあるような場合に、それを変化としてとらえるべきかを判断する期間のデータ収集間隔です。(秒単位) 例: <code> module_ff_interval 2 </code> === module_macro === <code> module_macro<マクロ> <値> </code> コンソールから、ローカルコンポーネントにのみ適用できます。設定ファイルで直接設定しません。 === module_alert_template === <code> module_alert_template <テンプレート名> </code> このマクロは、パラメータ名([[:ja:documentation:04_using:01_alerts#アラートテンプレート|アラートテンプレート]] 参照)に対応したモジュールにアラートテンプレートを割り当てます。 例: <code> <module> <name><![CDATA[CPU usage]]></name> <type>generic_data</type> <module_interval>1</module_interval> <min_critical>91</min_critical> <max_critical>100</max_critical> <min_warning>70</min_warning> <max_warning>90</max_warning> <alert_template><![CDATA[Critical condition]]></alert_template> <data><![CDATA[92]]></data> </module> </code> === intensive_interval === [[:ja:documentation:03_monitoring:02_operations#高頻度モニタリング|高頻度モニタリング]]間隔です。''module_intensive_monitoring'' を設定したモジュールは、障害状態の場合にこの間隔で実行できます。 === module_intensive_condition === [[:ja:documentation:03_monitoring:02_operations#高頻度モニタリング|高頻度モニタリング]]のための状態です。高頻度監視モジュールがこのパラメータで設定された値に達した場合、[[:ja:documentation:02_installation:05_configuration_agents#intensive_interval|intensive_interval]] で設定した間隔で実行されます。 === module_end === モジュール定義の終わりを表します。必須項目です。 ==== 情報を取得するためのディレクティブ ==== 次に、それぞれのモジュールで情報を取得するためのディレクティブを示します。それぞれのモジュールで、1回ずつ利用できます。 === module_exec === <code> module_exec <コマンド> </code> 一般的な''<コマンド>''実行行です。 1行で情報を取得するコマンドを指定する必要があります。 GNU/Linux では、コマンドはデフォルトのシェルを使って実行されます。デフォルトのシェルは、 ''/bin/sh'' のシンボリックリンクによって決まります。通常は、**bash** ですが、Ubuntu のシステムでは異なります(この場合 [[http://manpages.ubuntu.com/manpages/hirsute/man1/dash.1.html|dash]])。端末でコマンドをテストしても、エージェントからの実行ではエラーが発生する可能性があります。解決策としては、次のようにコマンドラインの実行で明示的に **bash** を記載します。 <code> module_exec bash -c "<command>" </code> <WRAP center round important 60%> 実行結果が '0' 以外を返す場合は、実行エラーであり情報は取り込まれません。 </WRAP> Windows エージェントでのデータ取得のためのディレクティブは他にもあります。以下に示します。 === module_service === <code> module_service <サービス> </code> 指定したサービスが実行中であるかどうかをチェックします。 == MS Windows == サービス名にスペースが含まれる場合は、" " でくくるのを忘れないようにしてください。 <code> module_begin module_name Service_Dhcp module_type generic_proc module_service Dhcp module_description Service DHCP Client module_end </code> サービスは、Windows サービスマネージャに表示される短い名前 (サービス名) で識別されます。 [[:wiki:service_name_id.png?id=ja:documentation:02_installation:05_configuration_agents&media=wiki:service_name_id.png|{{ :wiki:service_name_id.png?nolink& }}]] //非同期モード // Pandora FMS は通常、(モジュールによって定義される)一定の秒間隔にてチェックを実行します (デフォルトでは、300秒 = 5分)。そのため、チェックの直後にサービスがダウンすると、それがダウンであると認識するのに、さらに 300秒かかります。非同期モジュールでは、Pandora に "今すぐ" サービスの障害を通知するようにできます。これは、//非同期// 操作モードと呼んでいます。非同期モードにするには、以下のディレクティブを設定してください。 <code> module_async yes </code> この機能は、ブローカーエージェントでは利用できません。 <WRAP center round important 60%> Windows Home Edition では、この非同期機能はサポートされていません。Pandora エージェントはサービスが動作しているかどうかを定期的に確認します。大量のサービスを監視する場合システムリソースを消費するため、同期モードを利用することをお勧めします。 </WRAP> //サービスのウォッチドッグ // サービスがダウンしたときに再起動するためのウォッチドッグモードがあります。サービスを起動するためのパラメータは Windows が認識しているため必要ありません。設定は簡単で、以下に例を示します。 <code> 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 </code> == Unix == Unix でも Windows と同様に動作します。違いは Unix であることだけで、プロセスおよびサービスは同じ考え方です。例えば、bash プロセスが動作しているかを確認するには次のようにします。 <code> module_begin module_name Service_bash module_type generic_proc module_service /bin/bash module_description Process bash running module_end </code> <WRAP center round info 60%>Unix エージェントでは、ウォッチドッグと非同期検出はできません。</WRAP> ''module_service'' では、''ps aux'' で表示されるコマンドのフルパスを指定する必要があります。以下の例では、SSH サービスをチェックします。 <code> ps aux | grep ssh </code> {{ :wiki:pfms-software_agent-module_service-example.png }} Configure it: <code bash> module_begin module_name MY_SSHD module_type generic_proc module_service /usr/sbin/sshd -D module_description Is sshd running? module_end </code> === module_proc === <code> module_proc <プロセス> </code> 指定した名前のプロセスがいるかどうかをチェックします。 **Windows**<WRAP center round tip 60%>プロセス名にスペースが含まれていても、" " は**使わない** でください。プロセス名に拡張子 .exe がつくかどうかを良く確認してください。モジュールは、指定した名前で実行されているプロセスの数を返します。</WRAP> 以下に cmd.exe プロセスをモニタリングする例を示します。 <code> module_begin module_name CMDProcess module_type generic_proc module_proc cmd.exe module_description Process Command line module_end </code> //非同期モード // サービスと同じように、モニタリングしているプロセスにて何らかの原因で障害が発生することがあります。Windows エージェントでは、//module_proc// モジュールで非同期チェックをサポートしています。この場合、プロセスの状態が変化したとき、通常のモニタリング間隔における次のチェックタイミングを待たずに**すぐに** 通知されます。これにより、プロセスに障害が発生したのとほぼ同時にそれを知ることができます。以下にプロセスの非同期モニタリング設定の例を示します。 <code> module_begin module_name Notepad module_type generic_proc module_proc notepad.exe module_description Notepad module_async yes module_end </code> 違いは、"module_async yes" が設定されている点です。 //プロセスのウォッチドッグ // This feature is not supported on broker agents. ウォッチドッグは、ダウンしたプロセスを見つけた場合にそれをすぐに起動させることができます。Pandora FMS の Windows エージェントは、プロセスがダウンしたときにウォッチドッグとして動作させることができます。 プロセスの実行には、いくつかのパラメータが必要です。このモジュールには、いくつかの追加設定オプションがあります。//ウォッチドッグ// モードは、モジュールタイプが//非同期// の場合のみ動作することに注意してください。ウォッチドッグでの module_proc の設定例を見てみます。 <code> module_begin module_name Notepad module_type generic_proc module_proc notepad.exe module_description Notepad module_async yes module_watchdog yes module_start_command c:\windows\notepad.exe module_startdelay 3000 module_retrydelay 2000 module_retries 5 module_end </code> 以下に、ウォッチドッグを行う場合の module_proc の追加パラメータを示します。 * **module_retries**:ウォッチドッグによりプロセスを起動させるリトライ回数を指定します。指定した回数に達した場合、該当モジュールのウォッチドッグは無効になり、ユーザによる復旧 (少なくともエージェントの再起動) がされるまでプロセスの起動を行わなくなります。デフォルトでは上限はありません。 * **module_startdelay**:プロセスのダウンを認識した後、最初にプロセスを起動させるまでの待ち時間をミリ秒単位で指定します。 * **module_retrydelay**:プロセスダウンを検知した後に起動に失敗した場合の再実行の待ち時間をミリ秒単位で指定します。 * **module_user_session**: プロセスの起動をどのセッションで行うかを制御します。'no' に設定すると、プロセスはサービスセッションで起動し、バックグラウンドで動作します(デフォルト)。'yes' に設定すると、プロセスはユーザセッションで起動し、PC のデスクトップに表示されます。 <WRAP center round important 60%> Windows Vista 以前のバージョンでは、Pandora FMS サービスプロパティで、"Interactive access with desktop" を有効にすることにより //module_user_session// を設定することができます。以下のスクリーンショットに示します。 [[:wiki:service_interactive.png?id=ja:documentation:02_installation:05_configuration_agents&media=wiki:service_interactive.png|{{ :wiki:service_interactive.png?nolink& }}]] </WRAP> また、Pandora FMS は "SYSTEM" アカウントのサービスとして動作するため、実行されるコマンドはこのユーザおよびこのユーザの環境で動作することに注意してください。したがって、特定のプロセスを特定のユーザで実行したい場合は、環境変数の設定やその他事前処理を行う呼び出し用スクリプト (.bat など) を用意し、そのスクリプトをウォッチドッグの起動プログラムとして設定する必要があります。 === module_cpuproc <プロセス> (Unix のみ) === 特定のプロセスの CPU 使用率を返します。 <code> module_begin module_name myserver_cpu module_type generic_data module_cpuproc myserver module_description Process Command line module_end </code> **Unix** UNIX では、このモジュールは module_service のように動作します。非同期およびウォッチドッグモードはサポートしません。 === module_memproc === <code> module_memproc <プロセス> </code> **Unixのみです。** 特定のプロセスが利用しているメモリ量を返します。 <code> module_begin module_name myserver_mem module_type generic_data module_memproc myserver module_description Process Command line module_end </code> === module_freedisk === <code> module_freedisk <ドライブ名:>|<ボリューム> </code> このモジュールは、ディスクの空き容量をチェックします。 **Windows® の場合** ドライブ名の後に '':'' を記載します。 <code> module_begin module_name freedisk module_type generic_data module_freedisk C: module_end </code> **Unix® の場合** ''/var'' のようにチェックするボリュームを指定します。 <code> module_begin module_name disk_var module_type generic_data module_freedisk /var module_end </code> === module_freepercentdisk === <code> module_freepercentdisk <ドライブ名:>|<ボリューム> </code> このモジュールは、ディスクの空きをパーセントで返します。 **Windows** ドライブ名: (":"を忘れないようにしてください) を指定します。 <code> module_begin module_name freepercentdisk module_type generic_data module_freepercentdisk C: module_end </code> **Unix** /var などのボリュームを指定します。 <code> module_begin module_name disk_var module_type generic_data module_freepercentdisk /var module_end </code> === module_occupiedpercentdisk === <code> module_occupiedpercentdisk <ドライブ名:>|<ボリューム> </code> **Unix のみです。** このモジュールは、/var 等の Unix ファイルシステムのディスク使用率(%)を返します。 <code> module_begin module_name disk_var module_type generic_data module_occupiedpercentdisk /var module_end </code> === module_cpuusage === <code> module_cpuusage <cpu id|all> </code> このモジュールは、UNIX および Windows 双方で使えます。指定した CPU 番号の CPU 使用率を返します。CPU が 1つしかない場合は番号を指定しないか、all を指定します。 次のように、マルチ CPU 環境で全 CPU の平均使用率を得ることができます。 <code> module_begin module_name SystemCPU module_type generic_data module_cpuusage all module_description Average CPU use in systme module_end </code> 1つ目の CPU 使用率を確認するのは次のようにします。 <code> module_begin module_name SystemCPU_1 module_type generic_data module_cpuusage 1 module_description Average CPU use in system for CPU #1 module_end </code> === module_freememory === Windows および Unix 双方で使えます。システム全体の空きメモリ量を取得します。 <code> module_begin module_name FreeMemory module_type generic_data module_freememory module_description Non-used memory on system module_end </code> === module_freepercentmemory === Windows および Unix 双方で使えます。システム全体の空きメモリ量のパーセンテージを取得します。 <code> module_begin module_name freepercentmemory module_type generic_data module_freepercentmemory module_end </code> === module_tcpcheck === **Windows のみです。** このモジュールは、指定された IPアドレスおよびポート番号への接続確認を行います。成功すると 1 が返り、失敗すると 0 が返ります。なお、タイムアウトを設定する必要があります。 <code> module_begin module_name tcpcheck module_type generic_proc module_tcpcheck www.artica.es module_port 80 module_timeout 5 module_end </code> === module_regexp === Windows のみです。このモジュールは、 [[http://www.regular-expressions.info/reference.html|正規表現]]を使ってファイル(ログ)の内容の比較を行います。モニタリングを開始した時点ですでに存在している行については無視します。モジュールが返す値はモジュールタイプにより異なります。 * **generic_data_string**, **async_string**: 正規表現にマッチした行全体を返します。 * **generic_data**: 正規表現にマッチした行数を返します。 * **generic_proc**: 正規表現にマッチしたら 1、そうでなければ 0 を返します。 * **module_noseekeof**: 0 がデフォルトです。これを有効にすると、それぞれのモジュールの実行において、ターゲットのファイル更新からは独立して、ファイルの EOF を確認することなくチェック処理が実行されます。これにより、常に検索パターンにマッチするすべての行が XML 出力に展開されます。 <code> module_begin module_name regexp module_type generic_data_string module_regexp C:\WINDOWS\my.log module_pattern ^\[error\].* module_noseekeof 1 module_end </code> === module_wmiquery === Windows のみです。WMI モジュールは、外部ツールを使わずにローカルで WMI クエリを実行できます。2つのパラメータで設定します。 * **module_wmiquery**: 利用する WQL クエリを設定します。さまざまなデータを含む複数の行で結果を得ることができます。 * **module_wmicolumn**:データソースとして利用するカラム名を設定します。 例えば、インストールされているサービス一覧を取得するには次のようにします。 <code> module_begin module_name Services module_type generic_data_string module_wmiquery Select Name from Win32_Service module_wmicolumn Name module_end </code> 現在の CPU 負荷であれば次のようにします。 <code> module_begin module_name CPU_speed module_type generic_data module_wmiquery SELECT LoadPercentage FROM Win32_Processor module_wmicolumn LoadPercentage module_end </code> === module_perfcounter === **Windowsのみです。** PDH インタフェースを通して、パフォーマンスカウンタ ([[http://msdn.microsoft.com/ja-jp/library/aa373083(v = vs.85).aspx|http://msdn.microsoft.com/ja-jp/library/aa373083(v = vs.85).aspx パフォーマンスカウンタドキュメント]]) からデータを取得します。Windows のライブラリの //pdh.dll// がインストールされている必要があります。もしインストールされていない場合は、Windows パフォーマンス解析ツールをインストールする必要があります (通常はデフォルトでインストールされています)。 <code> module_begin module_name perfcounter module_type generic_data module_perfcounter \Memory\Pages/sec module_end </code> Windows パフォーマンスモニタは、モニタリングに利用できる何百ものパラメータを持つ強力なツールです。加えて、各ベンダによる独自のモニタ項目も追加されています。 パフォーマンスツールから、パフォーマンスカウンターを確認できます。 [[:wiki:perfcounter_screen1.png?id=ja:documentation:02_installation:05_configuration_agents&media=wiki:perfcounter_screen1.png|{{ :wiki:perfcounter_screen1.png?nolink&450 }}]] システムツールを用いて新たなパフォーマンスカウンターを追加することができます。その構成には、要素とサブ要素を含む管理構造があります。ここでは、//Processor, % of processor time// および //_Total// です。 [[:wiki:perfcounter_screen2.png?id=ja:documentation:02_installation:05_configuration_agents&media=wiki:perfcounter_screen2.png|{{ :wiki:perfcounter_screen2.png?nolink& }}]] このように、OS のツールを使うことにより、システムパフォーマンスのさまざまな要素を取り込むことができます。この場合、モジュールの設定は次のようになります。 <code> module_begin module_name Processor_Time module_type generic_data_inc module_perfcounter \Processor(_Total)\% of time processor module_end </code> デフォルトでは、カウンタの生データが表示されます。調整値を取得するには、**module_cooked 1** を設定します。 <code> module_begin module_name Disk_E/S_Sec module_type generic_data module_cooked 1 module_perfcounter \PhysicalDisk(_Total)\E/S by second module_end </code> 多くのデータは、カウンタ値として返ってきます。そのため、データタイプとしては generic_data_inc を使う必要があります。また、とても大きなスケール (数百万) のデータが返ってくることがありますので、事前処理モジュールで 0.000001 などを設定して値を小さくすると良いです。 === module_inventory (廃止) === <WRAP center round important 60%> Windows および Linux/UNIX 双方で、現在この機能はエージェントプラグインによるインベントリで置き換えられています。 </WRAP> //(Win32 のみ。Linux/Unix ではエージェントプラグインとして実装されています。)// 前述の WMI を利用することにより、このモジュールはソフトウエアおよびハードウエアの違った情報を取得します。 モジュールは、取得した情報の種類を分類し収集します。以下に情報の種類の一覧を示します。 * **cpu**: システムの CPU 情報を取得します。(プロセッサ名、クロック数、説明) * **CDROM**: CD-ROM の情報を取得します。(名称およびドライブ名) * **Video**: ビデオカードの情報を取得します。(説明、RAM容量、プロセッサ) * **HDs**: ハードディスクの情報を取得します。(モデル、サイズおよび、システムにおける名前) * **NICs**: ネットワークコントローラの情報を取得します。(説明、MAC アドレスおよび、IPアドレス) * **Patches**: インストール済のパッチ情報を取得します。(ID、説明、コメント) * **Software**: MSI パッケージの情報を取得します。(名前およびバージョン) * **RAM**: RAM モジュールの情報を取得します。(タグ、容量および名前) * **Service**: インストールされたサービスの情報を取得します。最初のカラムに、Pandora FMS がサービスのモニタリングに使う、サービスの短い名前が表示されます。 追加モジュールパラメータ: * **module_interval**: このモジュールは、//日単位で// 情報収集するための間隔を定義する追加設定です。 このモジュールの利用例を以下に示します。 <code> module_begin module_name Inventory module_interval 7 module_type generic_data_string module_inventory RAM Patches Software Services module_description Inventory module_end </code> === module_logevent === Windows のみです。指定されたパターンに基づいて Windows イベントログから情報を取得し、ソースおよびイベントタイプに従ってフィルタリングする機能を提供します。 このモジュールの一般的な書式は次の通りです。 <code> module_begin module_name MyEvent module_type async_string module_logevent module_source <logName> module_eventtype <event_type/level> module_eventcode <event_id> module_application <source> module_pattern <text substring to match> module_description module_end </code> すでに表示されたものを再度表示するのを防ぐために、エージェントが実行された最終時間より後のイベントのみを対象とします。 module_logevent には、次のパラメータを設定できます。(すべて大文字小文字を区別します) * **module_source**: イベントソース (System, Application, Security) を指定します。このフィールドは必須項目です。 * **module_eventtype**: イベントタイプ (Error, Information 等) を指定します。このフィールドはオプションです。 * **module_pattern**: 検索するパターン (文字列) を指定します。このフィールドはオプションです。 * **module_eventcode**: 5112 等のイベント ID 番号です。このフィールドはオプションです。 * **module_application**: イベント発生元のアプリケーションを指定します。イベントが検索される名前やログファイルを示す module_source と混同しないように注意してください。 例えば、system の error に分類される全てのイベントを表示するには、次のように設定します。 <code> module_begin module_name log_events module_type generic_data_string module_description System errors module_logevent module_source System module_eventtype error module_end </code> PandoraAgent という文字を含む全イベントを表示するには次のようにします。 <code> module_begin module_name log_events_pandora module_type async_string module_description PandoraAgent related events module_logevent module_source System module_pattern PandoraAgent module_end </code> その他例として、以下にイベントフィルタリングのスナップショットを示します。 [[:wiki:event_sample.png?id=ja:documentation:02_installation:05_configuration_agents&media=wiki:event_sample.png|{{ :wiki:event_sample.png?nolink&450 }}]] <code> module_begin module_name MyEvent module_type async_string module_source Application module_eventtype Information module_eventcode 6000 module_application Winlogon module_pattern unavailable to handle module_description module_end </code> Pandora FMS は、**ログを収集するシステムではない** ということを理解してください。このツールは、これらのクリティカルまたは重要なイベントを選択し、監視するためのシステムです。すべてのイベントを未分類で収集すると、データベースが飽和状態になりシステムパフォーマンスが著しく低下し、長期的に問題をもたらします。Pandora FMS を一般的なイベント収集ツールとして使うべきではありません。 === module_logchannel === <WRAP center round tip 60%>バージョン NG 715 以上および、Windows のみ</WRAP> Windows ログチャネルに関する情報を取得するモジュールです。//module_logevent// は Windows ログにのみアクセスしますが、これは、チャネルとして設定された他のログファイルからデータを展開することができます。これにより、サービスやアプリケーションログを含めたログ取得が可能になります。 このモジュールの一般的な書式は次の通りです。 <code> module_begin module_name MyEvent module_type async_string module_logchannel module_source <ログチャネル> module_eventtype <イベントタイプ/レベル> module_eventcode <イベントID> module_application <ソース> module_pattern <マッチするテキスト文字列> module_description <説明> module_end </code> すでに表示されたものを再度表示するのを防ぐために、エージェントが実行された最終時間より後のイベントのみを対象とします。 module_logchannel には、次のパラメータを設定できます。(すべて大文字小文字を区別します) * **module_source**: イベントチャネルを指定します。**wevtutil.exe enum-logs** を実行すると、ローカルログチャネルの一覧を取得できます。このフィールドは必須項目です。 * **module_eventtype**: イベントタイプ (critical, error, warning, info, verbose) を指定します。このフィールドはオプションです。 * **module_pattern**: 検索するパターン (文字列) を指定します。このフィールドはオプションです。 * **module_eventcode**: 5112 等のイベント ID 番号です。このフィールドはオプションです。 * **module_application**: イベント発生元のアプリケーションを指定します。イベントが検索される名前やログファイルを示す module_source と混同しないように注意してください。 例えば、チャネル //Microsoft-Windows-TaskScheduler/Operational// の //information// タイプ、コード //201// 、文字列 //code 0// を含むすべてのイベントを表示するモジュールは次のようになります。 <code> module_begin module_name New logs module_type async_string module_logchannel module_description Successfully completed tasks module_source Microsoft-Windows-TaskScheduler/Operational module_eventtype information module_eventcode 201 module_pattern code 0 module_end </code> このモジュール設定により、Pandora FMS エージェントは次のようなログを収集します。 [[:wiki:logchannel_example.png?id=ja:documentation:02_installation:05_configuration_agents&media=wiki:logchannel_example.png|{{ :wiki:logchannel_example.png?nolink&700 }}]] <WRAP center round important 60%> イベントチャネルの名前を取得するには、チャネルを右クリックして、"**プロパティ(properties)**" を選択し、パラメータ "**フルネーム(Full name)**" をコピーします。これは、**module_source** で必要です。 </WRAP> === module_plugin === プラグインから取得したデータを定義するためのパラメータです。これは、特殊なモジュールで、'module_begin' や 'module_type' などの **他の識別子は必要ありません** 。 次のような書式です。 <code> module_plugin plugin_filename parameter_1 parameter_2 (...) parameter_X </code> ただし、プラグインに状態や実行間隔などの追加パラメータを設定する場合は、次のように通常の書式を利用します。 <code> module_begin module_plugin plugin_filename parameter_1 parameter_2 (...) parameter_X module_interval 2 module_condition (0, 1) script.sh module_end </code> それぞれのプラグインには個別のパラメータが使われます。そのため、それぞれの特定のドキュメントを参照する必要があります。ここでは、エージェントにデフォルトで付属しているプラグインの一つであるファイル内を検索する grep_log で説明します。 <code> module_plugin grep_log /var/log/syslog Syslog ssh </code> この例では、プラグインの名前が ''grep_log'' で、''/var/log/syslog'' を正規表現 ''ssh'' で検索する ''Syslog'' というモジュールであることを意味します。 Windows システムの場合の別の例を示します。(バージョン 3.1 以上) <code> module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\df_percent.vbs" </code> === module_ping === **Windows のみ。** <code> module_ping <ホスト> </code> このモジュールは、指定したホストに ping を行い、応答があれば 1、そうでなければ 0 を返します。 次のパラメータを設定できます。 * **module_ping_count x**: 送信する ECHO_REQUEST パッケットの数 (1 がデフォルト) * **module_ping_timeout x**: 応答を待つタイムアウトミリ秒数 (1000 がデフォルト) * **module_advanced_options**: //ping.exe// の拡張オプション 例: <code> module_begin module_name Ping module_type generic_proc module_ping 192.168.1.1 module_ping_count 2 module_ping_timeout 500 module_end </code> === module_snmpget === **Windows のみ。** このモジュールは snmpget を実行し、その応答を返します。 次のパラメータを設定できます。 * **module_snmpversion [1_2c_3]**: SNMP バージョン (1 がデフォルト) * **module_snmp_community <community>**: SNMP コミュニティ (//public// がデフォルト) * **module_snmp_agent <host>**: 対象の SNMP エージェント * **module_snmp_oid <oid>**: 対象の OID * **module_advanced_options**: //snmpget.exe// の拡張オプション 例: <code> module_begin module_name SNMP get module_type generic_data module_snmpget module_snmpversion 1 module_snmp_community public module_snmp_agent 192.168.1.1 module_snmp_oid .1.3.6.1.2.1.2.2.1.1.148 module_end </code> === module_wait_timeout === **Windows のみ。** <code> module_wait_timeout X </code> モジュールの module_exec および module_plugin 出力がチェックされる際のタイムアウト時間。デフォルトの値は 500ミリ秒です。大量の出力を生成するモジュールで実行が遅い場合は、5に変更します。それ以外の場合は使用しないことをお勧めします。 === module_advanced_options === **MS Windows® のみ** <code> module_advanced_options <parameter> </code> ''[[:ja:documentation:02_installation:05_configuration_agents#module_ping|module_ping]]'' および ''[[:ja:documentation:02_installation:05_configuration_agents#module_snmpget|module_snmpget]]'' では追加パラメータを使用します。たとえば、**ping** の場合、512 バイトのパケット サイズを指定できます。 <code> module_advanced_options -l 512 </code> ===== 自動エージェント設定 ===== ==== 概要 ==== <WRAP center round tip 60%> バージョン NG 725 以降</WRAP> エージェント設定処理では、エージェントを自動的に設定するための一連のルールを設定できます。 それはこのように動作します: - Pandora FMS コンソールまたは、Pandora FMS メタコンソールで、自動設定の準備をします。 - Pandora FMS へ接続するエージェントをインストールします。(単一のコンソールの場合はエージェントの接続先は Pandora FMS サーバです。自動プロビジョニングを設定したメタコンソールがある場合は、メタコンソールをサーバとして設定します。) - Pandora FMS サーバが、エージェントのデータを含む XML (.data) を初回受信します。 - 適用される自動設定を決定するためのルールが評価されます。 - エージェントが新たな設定を受け取り、次回の処理から更新された設定で動作します。 ==== 自動エージェント設定の作成/編集 ==== **コンソール** 自動設定画面へは **設定(Configuration)** → **自動エージェント設定管理(Manage automatic agent configuration)** からアクセスします。 {{ :wiki:autoconf_menu_console.png }} **メタコンソール** **中央管理(Centralized management)** → **エージェント管理(Agent management)** → エージェント自動設定アイコン: {{ :wiki:autoconf1.png }} 管理ページにアクセスしたら、**新たな設定定義の追加(Add new configuration definition)** ボタンをクリックすることにより新たな自動設定を作成することができます。自動設定の名前と説明を設定します。 {{ :wiki:autoconf_new.png }} <WRAP center round info 90%> **バージョン 764 以降**: Pandora FMS サーバのタイムゾーンに応じて、自動設定タスクを定期的に実行できます。 \\ {{ :wiki:autoconf_new_2.png }}</WRAP> 新たな自動設定を作成したら、必要な項目をクリックすることにより設定フォームを表示できます。 {{ :wiki:autoconf_options.png }} === ルール === 自動設定を適用するエージェントを定義するには、ルールを追加します。 自動設定のルールセクションを表示し、"新規ルール追加(Add new rule)" を選択します。 設定対象のエージェントを特定するために、ルールのオプションを選択できます。 {{ :wiki:autoconf_rules1.png }} **Server name** マッチするサーバ名 **Group name** マッチするグループ名 **OS** マッチする OS 名 (正規表現) **Custom field** エージェントが報告してくる、キー/値 のカスタムフィールドマッチ。カスタムフィールド名と値を指定する必要があります。 **IP range** IP の範囲(ネットワーク)にマッチ。IP/ネットマスク の書式を追加います。例: <code> 192.168.1.0/24 </code> **Script output (> 0)** スクリプトの実行結果で、標準出力の結果が 0より大きい場合にルールにマッチしたと評価されます。 **Call to the rule script** ルールスクリプトでは、'arguments' フィールドに次のマクロが使えます。(演算子 ''AND'' と ''OR'' のどちらかを選択して、ルールロジックを変更できます) * **_agent_ :** エージェント名に置き換えられます。 * **_agentalias_ : ** エージェントの別名に置き換えられます。 * **_address_ :** エージェントから報告された IP アドレスに置き換えられます。 * **_agentgroup_ :** エージェントから報告されたグループ名に置き換えられます。 * **_agentos_ :** エージェントの OS で置き換えられます。 {{ :wiki:autoconf_rules2.png?400 }} <WRAP center round tip 60%>ルールが無い場合は、自動設定は適用されません。全てのエージェントに対して一つの設定でよい場合は、すべての別名にマッチする正規表現 ''.*'' を使うことができます。</WRAP> === 設定 === ここから設定に進みます。 **エージェントグループ** 変更せずにそのままとするか、強制的に変更します。 **セカンダリグループ** エージェントにセカンダリグループとして追加するグループを選択します。 **ポリシー** エージェントがサーバに接続してきたときに適用するポリシーを選択できます。 **設定ブロック** エージェントの設定ファイルに追加する設定内容です。 [[:wiki:autoconf_config.png?id=ja:documentation:02_installation:05_configuration_agents&media=wiki:autoconf_config.png|{{ :wiki:autoconf_config.png?nolink& }}]] **注意:** 集中管理が有効なメタコンソールに属するノードから自動設定管理を行おうとすると、リードオンリー表示になります。 [[:wiki:autoconf_ro.png?id=ja:documentation:02_installation:05_configuration_agents&media=wiki:autoconf_ro.png|{{ :wiki:autoconf_ro.png?nolink& }}]] === 追加アクション === ここでは、自動設定に追加のアクションを行うことができます。例えば以下のような処理です。 - **独自イベントを出す** - **アラートアクションを実行する** - **スクリプトを実行する** {{ :wiki:autoconf_actions.png?400 }} システムは、次のマクロをサポートします。 **_agent_** エージェント名に置き換えられます。 **_agentalias_ ** エージェントの別名に置き換えられます。 **_address_** エージェントが報告した IP アドレスに置き換えられます。 **_agentgroup_** エージェントが報告したグループ名に置き換えられます。 **_agentos_** エージェントの OS に置き換えられます。 **_agentid_** エージェント ID に置き換えられます。 ===== Unix/Linux エージェント ===== ==== Pandora FMS Unix エージェントの設定 ==== 把握しておくべき基本的なファイルとディレクトリは次のとおりです。 * ///usr/share/pandora_agent// /: Pandora FMS エージェントがインストールされる場所です。厳密なシステムポリシーがあり、ここにインストールできないシステムでは、実際のインストールパスからこのパスへのリンクを作成することを推奨します。例: '/opt/pandora' → '/usr/share/pandora_agent' * ///etc/pandora/pandora_agent.conf//: エージェントのメインの設定ファイルです。ここにデータの収集に使うコマンドの定義がされています。 * ///usr/local/bin/pandora_agent//: Pandora FMS エージェント本体です。これは、pandora_agent.conf で設定されたデータ収集を行うシェルスクリプトです。これはまた、Pandora サーバにデータパケットを送信します。通常、/usr/bin/pandora_agent にリンクされています。 * ///usr/local/bin/tentacle_client//: サーバにデータファイルを送信するためにエージェントが追加する Tentacle クライアントです。これは、Perl 5.8 で動作するように作られています。通常、/usr/bin/tentacle_client にリンクされています。 * ///etc/init.d/pandora_agent_daemon//: エージェントの起動スクリプトです。pandora_agent を呼び出します。オプションとして、start/stop を利用できます。AIX システムでは、**/etc/rc.pandora_agent_daemon** です。 * ///var/log/pandora/pandora_agent.log//: Pandora FMS エージェントがデバッグモードで動作している時にログが出力されるログファイルです。 * ///etc/pandora/plugins//: エージェントプラグインを置くディレクトリです。これは ///usr/share/pandora_agent/plugins// にリンクされています。 *///etc/pandora/collections//: エージェントのコレクションを置くディレクトリです。これは ///usr/share/pandora_agent/collections// にリンクされています。 ==== Unix エージェントの実行 ==== エージェントの起動は以下のようにします。 <code> /etc/init.d/pandora_agent_daemon start </code> エージェントの停止は以下のようにします。 <code> /etc/init.d/pandora_agent_daemon stop </code> 起動スクリプトで Pandora FMS エージェントの起動・停止ができます。デフォルトでは起動後はデーモーンとして動作します。 ==== Unix エージェントでシステム情報を取得する別の方法 ==== 設定の章で示した通り、''module_exec'' で特定のコマンドを実行することなく[[:ja:documentation:02_installation:05_configuration_agents#情報を取得するためのディレクティブ|定義済の情報]]を取得できるモジュールがあります。以下がそれらです。 * module_procmem * module_freedisk * module_freepercentdisk * module_cpuproc * module_proc * module_procmem * module_cpuusage * module_freememory * module_freepercentmemory これらのモジュールの動作は、エージェントの実行ファイル (デフォルトでは ''/usr/bin/pandora_agent'') を直接編集することにより変更できます。Pandora FMS エージェントは一般的に ''/usr/bin/pandora_agent'' にあります。 コマンド名で検索することにより、内部コマンドを含むコードを見つけます。システムに合わせて変更する場合は、修正を行います。 <code> # Commands to retrieve total memory information in kB use constant TOTALMEMORY_CMDS => { linux => 'cat /proc/meminfo | grep MemTotal: | awk \'{ print $2 }\, solaris => 'MEM=`prtconf | grep Memory | awk \'{print $3}\'` bash -c \'echo $(( 1024 * $MEM ))\, hpux => 'swapinfo -t | grep memory | awk \'{print $2}\ }; # Commands to retrieve partition information in kB use constant PART_CMDS => { # total, available, mount point linux => 'df -P | awk \'NR> 1 {print $2, $4, $6}\, solaris => 'df -k | awk \'NR> 1 {print $2, $4, $6}\, hpux => 'df -P | awk \'NR> 1 {print $2, $4, $6}\, aix => 'df -kP | awk \'NR> 1 {print $2, $4, $6}\ }; </code> 情報取得のための定義済の値を変更するには、コマンドを編集するだけですが、以下に注意します。 - ブロックの終わりに ''{ };'' のようにセミコロンがあるがことを確認 - コマンドが '' ' ' '' でくくられているか確認 - シングルクォーテーションを使う場合は、''` `'' のような追加の引用符が必要になる場合があります(前の例を参照)。 - コマンドで使用するシングルクォーテーションの前に ''\'' が付いていることを確認してください。これは ''\''' を意味します。 たとえば、このコマンドは通常次のようになります。 <code> df -P | awk 'NR> 1 {print $2, $4, $6}' </code> 上記は以下のようになります。 <code> df -P | awk \'NR> 1 {print $2, $4, $6}\' </code> ===== Pandora FMS Windows エージェント ===== ==== Pandora FMS Windows エージェントの設定 ==== Windows エージェントの基本的なパスやディレクトリは、エージェントをインストールした場所になります。デフォルトでは ''%ProgramFiles%'' です。 {{ :wiki:programfiles-pandora_agent.png?500 }} 理解しておきたい基本的なファイルは次の通りです。 **''%ProgramFiles%\pandora_agent'' ** Pandora FMS エージェントの実行ファイルやディレクトリがあるインストール先です。 **''%ProgramFiles%\pandora_agent\pandora_agent.conf'' ** エージェントの設定ファイルです。実行モジュールおよびエージェントプラグインの設定はここにあります。 **''%ProgramFiles%\pandora_agent\PandoraAgent.exe'' ** エージェントの実行バイナリです。 **''%ProgramFiles%\pandora_agent\util\tentacle_client.exe'' ** サーバへファイルを転送するための Tentacle 実行バイナリです。 **''%ProgramFiles%\pandora_agent\scripts'' ** Pandora FMS エージェントの起動・停止・再起動スクリプトです。 **''%ProgramFiles%\pandora_agent\pandora_agent.log'' ** Pandora FMS エージェントがデバッグモードで実行されたときに出力されるログファイルです。 **''%ProgramFiles%\pandora_agent\util'' ** エージェントプラグインを含むディレクトリです。 **''%ProgramFiles%\pandora_agent\collections'' ** エージェントのコレクションを含むディレクトリです。 ===== ソフトウエアエージェントの自動デプロイ ===== 自動検出システムを通したデプロイの仕組みを使ってソフトウエアエージェントをデプロイすることができます。より詳細は、 [[:ja:documentation:03_monitoring:04_discovery#自動エージェントデプロイ|こちら]]を参照してください。 ===== ソフトウエアエージェントの自動アップグレード ===== ファイルコレクションと pandora_update ツールを使って、ソフトウエアエージェントは自分自身の更新ができます。 <WRAP center round tip 60%> Pandora_update ツールは、Perl の Digest:MD5 モジュールが必要です。Perl 5.14 からはデフォルトで含まれていますが、古いバージョンでは手動でインストールしておく必要があります。 </WRAP> これは、次のように動作します。 1. エージェントが、例えば次のようなファイルコレクションの incoming ディレクトリに新たなバイナリを受信します。 Windows の例: <code> c:\program files\pandora_agent\collections\fc_1\PandoraAgent.exe </code> Linux の例: <code> /etc/pandora/collections/fc_1/pandora_agent </code> 2. エージェントは、pandora_update プラグインを実行します。このプラグインは、コレクションの短い名前をパラメータとして受け取ります(この例では //fc_1//)。コレクションディレクトリ内のエージェントバイナリをスキャンし、現在動作しているものと比較します。違いがあれば、pandora_update がエージェントを停止し、バイナリを置き換え、新しいバイナリを使ってエージェントを再起動します。 異なるアーキテクチャのアップデートを行うには、それぞれ異なるコレクションを用意する必要があります。例えば、32bit および 64bit の Windows エージェントをアップデートする必要がある場合は、2つのコレクションを作成し、それぞれに対応した //PandoraAgent.exe// バイナリを含める必要があります。 3. Pandora_update はまた、async_string モジュールを使うことによって、次の実行タイミングでユーザに通知を出せるように、エージェントのアップデートプロセスに関するアップデートイベントログを出力します。 以下がアップデートプロセスで使うモジュールです。間隔は長めに設定します。 **Unix 通常インストール** <code> module_begin module_name Pandora_Update module_type async_string module_interval 20 module_exec nohup /etc/pandora/plugins/pandora_update fc_1 2> /dev/null && tail -1 nohup.out 2> /dev/null module_description Module to check new version of pandora agent and update itself module_end </code> **Unix カスタムインストール** <code> module_begin module_name Pandora_Update module_type async_string module_interval 20 module_exec nohup /var/opt/PandoraFMS/etc/pandora/plugins/pandora_update fc_1 /var/opt/PandoraFMS 2> /dev/null && tail -1 nohup.out 2> /dev/null module_description Module to check new version of pandora agent and update itself module_end </code> 注意: pandora_update コマンドの 2つ目のパラメータは、Pandora FMS のインストールパスです。このパラメータは、デフォルトのパスとは異なる場所に Pandora FMS をインストールした場合にのみ必要です。 **Windows** <code> module_begin module_name Pandora_Update module_type async_string module_interval 20 module_exec pandora_update.exe fc_1 module_description Module to check new version of pandora agent and update itself module_end </code> ===== XML ファイルからのエージェント・モジュールの自動作成 / 学習モード ===== エージェントは、コンソールから 3つの動作モードを設定できます。 * **学習モード(Learning mode)**: ソフトウエアエージェントから新たなモジュールを含む XML を受け取ると、それらが自動的に作成されます。これがデフォルト動作です。 * **通常モード(Normal mode)**: コンソールに存在しない新たなモジュールを XML で受け取っても作成しません。 * **自動無効化モード(Autodisable mode)**: 学習モードに似ていますが、すべてのモジュールが不明状態になった場合にエージェントを自動的に無効化します。新たな情報を受け取ったときに改めて自動化します。 [[:wiki:learning_mode.png?id=ja:documentation:02_installation:05_configuration_agents&media=wiki:learning_mode.png|{{ :wiki:learning_mode.png?nolink& }}]] ==== エージェント作成時に XML からロードされるデータ ==== XML を受け取ったときにエージェントの作成とともに自動的に取り込まれるデータは次の通りです。 * エージェント名 * エージェントのIPアドレス * エージェントの説明 * エージェントの親 * タイムゾーンオフセット * グループ * OS * エージェントの実行間隔 * エージェントのバージョン * カスタムフィールド * カスタムID * URL アドレス * エージェントモード: 学習、通常、自動無効化 ==== XML を受け取ったときに修正されるデータ (学習モード有効時) ==== * エージェントの IP アドレス * エージェントの親 * OSバージョン * エージェントのバージョン * タイムゾーン * カスタムフィールド <WRAP center round tip 60%> GIS データは(GIS が有効の場合)、学習モードが有効であるか無効であるかに関わらず、常に更新されます。 </WRAP> 加えて、学習モードが有効の場合、XML ファイルで受け取った新たなモジュールは、Pandora で作成されます。 ==== 作成時にモジュールに追加されるデータ ==== 初回の各モジュールの XML 受信時に反映されるデータは次の通りです。 * 名前 * タイプ * 説明 * フィルタの最大・最小値 * 保存倍率 * モジュール実行間隔 * 障害の最大・最小値 * 警告の最大・最小値 * 無効化モジュール * 単位 * モジュールグループ * カスタムID * 文字列の警告・障害 * 障害時手順 * 警告時手順 * 不明時手順 * タグ * 障害反転モード * 警告反転モード * 静観モード * 連続抑制回数 * アラートテンプレート * Crontab ==== モジュールがすでに存在する場合に反映されるデータ ==== すでに存在するモージュールのデータを XML で受け取った場合は、モジュールのデータに加えて説明および拡張情報のみ更新されます。 [[:ja:documentation:start|Pandora FMS ドキュメント一覧に戻る]]
ºº