| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン |
| ja:documentation:pandorafms:technical_reference:11_pfms_plugis [2025/11/29 05:31] – [Pandora FMS プラグイン設定] junichi | ja:documentation:pandorafms:technical_reference:11_pfms_plugis [2026/09/04 22:09] (現在) – [モジュール] junichi |
|---|
| {{indexmenu_n>11}} | {{indexmenu_n>11}} |
| |
| [[:ja:documentation:start|Pandora FMS ドキュメント一覧に戻る]] | [[:ja:documentation:pandorafms:start|Pandora FMS ドキュメント一覧に戻る]] |
| | |
| | <wrap #ks1 /> |
| |
| ===== 概要 ===== | ===== 概要 ===== |
| |
| このプラグイン開発ガイドには、独自のプラグインを作成したいユーザ向けのドキュメントが含まれています。 このドキュメントを使用して、ビジネスニーズを解決するプラグインを作成する方法を学習してください。 | このプラグイン開発ガイドには、独自のプラグインを作成したいユーザ向けのドキュメントが含まれています。 このドキュメントを使用して、ビジネスニーズを解決するプラグインを作成する方法を学習してください。 |
| | |
| | <wrap #ks2 /> |
| |
| ===== プラグインとは? ===== | ===== プラグインとは? ===== |
| |
| プラグインとも呼ばれるコンピュータアドオンは、別のアプリケーション (この場合は Pandora FMS) の機能を拡張できるようにするアプリケーションです。 | プラグインとも呼ばれるコンピュータアドオンは、別のアプリケーション (この場合は Pandora FMS) の機能を拡張できるようにするアプリケーションです。 |
| | |
| | <wrap #ks3 /> |
| |
| ===== プラグインはなぜ便利なのか? ===== | ===== プラグインはなぜ便利なのか? ===== |
| |
| ほとんどのプラグインは、Pandora FMS の外部サービスから収集されたデータまたはパフォーマンス統計を表示できるようにするのに便利です。 | ほとんどのプラグインは、Pandora FMS の外部サービスから収集されたデータまたはパフォーマンス統計を表示できるようにするのに便利です。 |
| | |
| | <wrap #ks4 /> |
| |
| ===== Pandora FMS におけるプラグインタイプ ===== | ===== Pandora FMS におけるプラグインタイプ ===== |
| * エージェントプラグイン: エージェントプラグインは Pandora FMS エンドポイントによって実行されます。通常はローカルにあり、リモートでは動作しないため、エージェントデーモンによって実行されます。 エージェントプラグインは通常、実行時に XML を出力し、モジュールにはデータが含まれます。 | * エージェントプラグイン: エージェントプラグインは Pandora FMS エンドポイントによって実行されます。通常はローカルにあり、リモートでは動作しないため、エージェントデーモンによって実行されます。 エージェントプラグインは通常、実行時に XML を出力し、モジュールにはデータが含まれます。 |
| * サーバプラグイン: サーバプラグインは [[:ja:documentation:pandorafms:introduction:02_architecture#プラグインサーバ|プラグインサーバ]] によって実行され、通常は API または別の方法でリモートでデータを取得します。(ほとんどの場合)エージェントプラグインとして設定することもできますが、推奨されるオプションは、サーバプラグインとして設定することです。 サーバプラグインは、実行の成功を示す ''1'' などの 1 つの値のみを返します。 | * サーバプラグイン: サーバプラグインは [[:ja:documentation:pandorafms:introduction:02_architecture#プラグインサーバ|プラグインサーバ]] によって実行され、通常は API または別の方法でリモートでデータを取得します。(ほとんどの場合)エージェントプラグインとして設定することもできますが、推奨されるオプションは、サーバプラグインとして設定することです。 サーバプラグインは、実行の成功を示す ''1'' などの 1 つの値のみを返します。 |
| | |
| | <wrap #ks5 /> |
| |
| ===== プラグインの見つけ方 ===== | ===== プラグインの見つけ方 ===== |
| <WRAP center round download 60%> | <WRAP center round download 60%> |
| |
| [[https://pandorafms.com/library/|https://pandorafms.com/library/]] | [[https://marketplace.pandorafms.com/]] |
| |
| </WRAP> | </WRAP> |
| |
| 通常、各プラグインには、インストール、プラグインの設定、およびプラグインが収集するデータの詳細が記載されたドキュメントが付属しています。 | 通常、各プラグインには、インストール、プラグインの設定、およびプラグインが収集するデータの詳細が記載されたドキュメントが付属しています。 |
| | |
| | <wrap #ks6 /> |
| |
| ===== プラグインのインストール方法 ===== | ===== プラグインのインストール方法 ===== |
| |
| プラグインをインストールするには、Pandora FMS でカスタム実行を作成します。 設定可能な特定の時間間隔ごとにプラグインが実行され、更新されたモジュールが表示されます。 | プラグインをインストールするには、Pandora FMS でカスタム実行を作成します。 設定可能な特定の時間間隔ごとにプラグインが実行され、更新されたモジュールが表示されます。 |
| | |
| | <wrap #ks7 /> |
| |
| ===== プラグインのライフサイクル ===== | ===== プラグインのライフサイクル ===== |
| |
| [[:wiki:pfms-plugins-development-05.png?id=ja%3Adocumentation%3Apandorafms%3Atechnical_reference%3A11_pfms_plugis&media=wiki:pfms-plugins-development-05.png|{{ :wiki:pfms-plugins-development-05.png }}]] | [[:wiki:pfms-plugins-development-05.png?id=ja%3Adocumentation%3Apandorafms%3Atechnical_reference%3A11_pfms_plugis&media=wiki:pfms-plugins-development-05.png|{{ :wiki:pfms-plugins-development-05.png }}]] |
| | |
| | <wrap #ks8 /> |
| |
| ===== プラグインの計画 ===== | ===== プラグインの計画 ===== |
| |
| プラグイン内に、エージェントまたはモジュールの名前をカスタマイズするオプションを含めたり、それらの名前にある種のプレフィックスを追加して、それらをより見やすく、区別しやすくすることができます。 | プラグイン内に、エージェントまたはモジュールの名前をカスタマイズするオプションを含めたり、それらの名前にある種のプレフィックスを追加して、それらをより見やすく、区別しやすくすることができます。 |
| | |
| | <wrap #ks9 /> |
| |
| ===== プラグインの要件と依存関係 ===== | ===== プラグインの要件と依存関係 ===== |
| |
| Fedora および Ubuntu で作成したバイナリを使用すると、他のシステムで依存関係エラーが発生することを確認しています。 | Fedora および Ubuntu で作成したバイナリを使用すると、他のシステムで依存関係エラーが発生することを確認しています。 |
| | |
| | <wrap #ks10 /> |
| |
| ===== プラグインの開発 ===== | ===== プラグインの開発 ===== |
| <WRAP group> \\ <WRAP half column> | <WRAP group> \\ <WRAP half column> |
| |
| * **name**: Module name. | * <wrap :en>**name**</wrap>: Module name. |
| * **description**: Module description. | * <wrap :en>**description**</wrap>: Module description. |
| * **tags**: Tags associated with the module. | * <wrap :en>**tags**</wrap>: Tags associated with the module. |
| * **type**: Module type (it must exist in Pandora FMS database). | * <wrap :en>**type**</wrap>: Module type (it must exist in Pandora FMS database). |
| * **data**: Module data. | * <wrap :en>**data**</wrap>: Module data. |
| * **max**: Maximum module value. | * <wrap :en>**max**</wrap>: Maximum module value. |
| * **min**: Minimum module value. | * <wrap :en>**min**</wrap>: Minimum module value. |
| * **post_process**: Post-processing value. | * <wrap :en>**post_process**</wrap>: Post-processing value. |
| * **module_interval**: Module interval (interval in seconds /agent interval). | * <wrap :en>**module_interval**</wrap>: Module interval (interval in seconds /agent interval). |
| * **min_critical**: Minimum value for critical status. | * <wrap :en>**min_critical**</wrap>: Minimum value for critical status. |
| * **max_critical**: Maximum value for critical status. | * <wrap :en>**max_critical**</wrap>: Maximum value for critical status. |
| * **min_warning**: Minimum value for alert status. | * <wrap :en>**min_warning**</wrap>: Minimum value for alert status. |
| * **max_warning**: Maximum value for alert status. | * <wrap :en>**max_warning**</wrap>: Maximum value for alert status. |
| * **disabled**: Disable (0) or enable the module. Disabled modules are not processed. | * <wrap :en>**disabled**</wrap>: Disable (0) or enable the module. Disabled modules are not processed. |
| * **min_ff_event**: FF threshold (see [[:en:documentation:pandorafms:introduction:03_glossary#flip-flop_protection|Flip-Flop]]). | * <wrap :en>**min_ff_event**</wrap>: FF threshold (see [[:en:documentation:pandorafms:introduction:03_glossary#flip-flop_protection|Flip-Flop]]). |
| * **status**: Module status (NORMAL, WARNING or CRITICAL). Critical and alert status limits are ignored if the status is specified. | * <wrap :en>**status**</wrap>: Module status (NORMAL, WARNING or CRITICAL). Critical and alert status limits are ignored if the status is specified. |
| * **datalist**: It sends the module data in datalist format (one database entry for each of the values received) [0/1]. | * <wrap :en>**datalist**</wrap>: It sends the module data in datalist format (one database entry for each of the values received) [0/1]. |
| * **unit**: Module unit. It supports ''_timeticks_'' macro to transform data in timeticks format to ''dd/hh/mm/ss''. | * <wrap :en>**unit**</wrap>: Module unit. It supports ''_timeticks_'' macro to transform data in timeticks format to ''dd/hh/mm/ss''. |
| * **timestamp**: It sets a timestamp on the data received from the module (to use timestamp in modules they must be in a datalist block, [[#ks12_6|as shown in the examples below]]). | * <wrap :en>**timestamp**</wrap>: It sets a timestamp on the data received from the module (to use timestamp in modules they must be in a datalist block, [[#ks12_6|as shown in the examples below]]). |
| * **module_group**: Group of modules to which the module will be added. | * <wrap :en>**module_group**</wrap>: Group of modules to which the module will be added. |
| * **custom_id**: Module custom ID. | * <wrap :en>**custom_id**</wrap>: Module custom ID. |
| * **str_warning**: Warning threshold for string modules. | * <wrap :en>**str_warning**</wrap>: Warning threshold for string modules. |
| * **str_critical**: Critical threshold for string modules. | * <wrap :en>**str_critical**</wrap>: Critical threshold for string modules. |
| * **critical_instructions**: Critical module instructions. | * <wrap :en>**critical_instructions**</wrap>: Critical module instructions. |
| </WRAP> | </WRAP> |
| |
| <WRAP half column> | <WRAP half column> |
| |
| * **warning_instructions**: Warning module instructions. | * <wrap :en>**warning_instructions**</wrap>: Warning module instructions. |
| * **unknown_instructions**: Module unknown instructions. | * <wrap :en>**unknown_instructions**</wrap>: Module unknown instructions. |
| * **critical_inverse**: It activates the inverse interval at the module's critical threshold. [0/1]. | * <wrap :en>**critical_inverse**</wrap>: It activates the inverse interval at the module's critical threshold. [0/1]. |
| * **warning_inverse**: It activates the inverse interval at the module's warning threshold. [0/1]. | * <wrap :en>**warning_inverse**</wrap>: It activates the inverse interval at the module's warning threshold. [0/1]. |
| * **quiet**: It activates the module's Quiet mode [0/1]. | * <wrap :en>**quiet**</wrap>: It activates the module's Quiet mode [0/1]. |
| * **module_ff_interval**: It specifies an FF Range value of the module. | * <wrap :en>**module_ff_interval**</wrap>: It specifies an FF Range value of the module. |
| * **alert_template**: It associates an alert template to the module. | * <wrap :en>**alert_template**</wrap>: It associates an alert template to the module. |
| * **crontab**: It specifies a module crontab. | * <wrap :en>**crontab**</wrap>: It specifies a module crontab. |
| * **min_ff_event_normal**: FF threshold value when switching to NORMAL status. | * <wrap :en>**min_ff_event_normal**</wrap>: FF threshold value when switching to NORMAL status. |
| * **min_ff_event_warning**: FF threshold value when switching to WARNING status. | * <wrap :en>**min_ff_event_warning**</wrap>: FF threshold value when switching to WARNING status. |
| * **min_ff_event_critical**: FF threshold value when switching to CRITICAL status. | * <wrap :en>**min_ff_event_critical**</wrap>: FF threshold value when switching to CRITICAL status. |
| * **ff_timeout**: FlipFlop timeout value. | * <wrap :en>**ff_timeout**</wrap>: FlipFlop timeout value. |
| * **each_ff**: It enables the "Change each status" option. | * <wrap :en>**each_ff**</wrap>: It enables the "Change each status" option. |
| * **module_parent**: Module name in the same agent that will be the parent of this module. | * <wrap :en>**module_parent**</wrap>: Module name in the same agent that will be the parent of this module. |
| * **ff_type**: It activates the Keep counters of the FF threshold. [0/1]. | * <wrap :en>**ff_type**</wrap>: It activates the Keep counters of the FF threshold. [0/1]. |
| * **min_warning_forced**: It forces min_warning to the new specified value even if the module exists, it takes precedence over **min_warning**. | * <wrap :en>**min_warning_forced**</wrap>: It forces min_warning to the new specified value even if the module exists, it takes precedence over **min_warning**. |
| * **max_warning_forced**: It forces max_warning to the new specified value even if the module exists, it takes precedence over **max_warning**. | * <wrap :en>**max_warning_forced**</wrap>: It forces max_warning to the new specified value even if the module exists, it takes precedence over **max_warning**. |
| * **min_critical_forced**: It forces min_critical to the new specified value even if the module exists, it takes precedence over **min_critical**. | * <wrap :en>**min_critical_forced**</wrap>: It forces min_critical to the new specified value even if the module exists, it takes precedence over **min_critical**. |
| * **max_critical_forced**: It forces max_critical to the new specified value even if the module exists, it takes precedence over **max_critical**. | * <wrap :en>**max_critical_forced**</wrap>: It forces max_critical to the new specified value even if the module exists, it takes precedence over **max_critical**. |
| * **str_warning_forced**: It forces str_warning to the new specified value even if the module exists, it takes precedence over **str_warning**. | * <wrap :en>**str_warning_forced**</wrap>: It forces str_warning to the new specified value even if the module exists, it takes precedence over **str_warning**. |
| * **str_critical_forced**: It forces str_critical to the new specified value even if the module exists, it takes precedence over **str_critical**. | * <wrap :en>**str_critical_forced**</wrap>: It forces str_critical to the new specified value even if the module exists, it takes precedence over **str_critical**. |
| </WRAP> \\ </WRAP> | </WRAP> \\ </WRAP> |
| |
| |
| The recommended path for using server plugins is: | The recommended path for using server plugins is: |
| <code> | |
| |
| /usr/share/pandora_server/util/plugin/ | |
| |
| </code> | |
| |
| </WRAP> | </WRAP> |
| |
| |
| サーバプラグインを利用するための推奨パスは次のとおりです。 | サーバプラグインを利用するための推奨パスは次のとおりです。 |
| | </WRAP> |
| |
| <code> | <file> |
| /usr/share/pandora_server/util/plugin/ | /usr/share/pandora_server/util/plugin/ |
| | </file> |
| </code> | |
| | |
| </WRAP> | |
| |
| The execution with the plugin path must be entered as a command: | The execution with the plugin path must be entered as a command: |
| **total_modules_provided**: ''.ini'' ファイルの次のセクションで定義されているモジュールの数を指定します。 少なくとも 1 つ設定します (少なくとも例で使用)。 | **total_modules_provided**: ''.ini'' ファイルの次のセクションで定義されているモジュールの数を指定します。 少なくとも 1 つ設定します (少なくとも例で使用)。 |
| |
| **execution_command**: If it is used, it must be placed before script. It could be an interpreter, such as ''java -jar''. Therefore, the plugin will be called for execution, from the Pandora FMS Plugin Server, with the following code: ''java -jar < plugin_path/ plugin_filename''. | **execution_command**: If it is used, it must be entered before the script. It could be an interpreter, such as Python. |
| |
| **execution_command**: 使用する場合は、script の前に置かなければなりません。これは、''java -jar'' のようなインタプリタかもしれません。プラグインは Pandora FMS プラグインサーバから次のようなコードで呼び出され実行されます: ''java -jar < plugin_path/ plugin_filename'' | **execution_command**: 使用する場合は、script の前に置かなければなりません。Pythonなどのインタープリタでも構いません。 |
| |
| **execution_postcommand**: If used, it defines the additional parameters transmitted to the plugin after ''< plugin_filename >'', which is invisible to the user. | **execution_postcommand**: If used, it defines the additional parameters transmitted to the plugin after ''< plugin_filename >'', which is invisible to the user. |
| * コードのテストをします。プラグインの動作をテストして、すべてが問題ないことを確認することが重要です。エラーを時間内に発見して修正することで、将来的な問題を回避することができます。 | * コードのテストをします。プラグインの動作をテストして、すべてが問題ないことを確認することが重要です。エラーを時間内に発見して修正することで、将来的な問題を回避することができます。 |
| |
| [[:ja:documentation:start|Pandora FMS ドキュメント一覧に戻る]] | [[:ja:documentation:pandorafms:start|Pandora FMS ドキュメント一覧に戻る]] |
| |
| |