目次

プラグイン開発において考慮すべき点

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

概要

Plugins allow Pandora FMS to get information that requires complex processes or that requires the use of complex systems or APIs. A plugin example could be Oracle® database monitoring, which requires a full process for monitoring and also some auto-discovery tasks. Another example could be a simple HTML parse, but that requires some that Goliat (checking web server) cannot do.

プラグインにより Pandora は、複雑な処理を必要とするものや、複雑なシステムや API を利用する必要のある情報収集を実行することができます。プラグインの例をあげると、複雑な処理が必要な Oracle データベースのモニタリングや、何らかの自動検出処理があります。他には、Goliat (ウェブサーバチェック) が実行できないような簡単な HTML のパースができます。

実装とパフォーマンスの違い

Pandora FMS offers two possibilities when executing plugins: execution in the Software agent or in the server.

Pandora のプラグイン実行には、ソフトウエアエージェントでの実行とサーバでの実行の二種類があります。

自動検出処理

To do recon tasks on plugins that need it, there are two possibilities:

プラグインで自動検出処理を実行するには、次の二種類の方法があります。

The first one consists on using Pandora server Recon Task server. To that end, it will be necessary to create the ad-hoc code for the specific technology or situation. The Recon Tasks loads Pandora server, so, if for doing the recon task a lot of data requests are necessary, this option should not be considered.

一つは、Pandora サーバの自動検出サーバを利用しての構成です。これを行うには、特定の技術や状況に応じてアドホックなコードを作成する必要があります。自動検出処理は、Pandora サーバに負荷を与えます。そのため、大量のデータ処理が必要な場合は、この選択枝は考えるべきではありません。

It is also possible to create a recon task using an agent plugin. Usually, agent plugins return modules that are attached to the XML that the agent sends to Pandora server. But, consider that when installing the agent in a machine with it, Tentacle is also installed, and this allows to send XML to Pandora server. To do a recon task from an agent plugin, it is possible to use this, and besides adding the modules to the agent as a common plugin does, to give your plugin the capacity to send XML to Pandora with the information of other agents updated as a recon task would do.

エージェントプラグインを用いても自動検出処理を作成することができます。通常、エージェントプラグインは、Pandora サーバに対して送信する XML に記載されたモジュールを返します。しかし、エージェントのインストールと一緒にプラグインをインストールし、tentacle も入っていれば、Pandora サーバに XML を送信することができます。自動検出処理をエージェントプラグインから実行するには、この方法を利用することができます。さらに、通常のプラグインの実行と同じように、モジュールを追加します。自動検出処理が実行するように、エージェントの更新情報を Pandora へ XML で送信するようにプラグインを用意します。

The idea is that the plugin, besides creating average modules, collects the information and creates and sends the XML simulating other installed agents if necessary.

プラグインにより平均的なモジュールの作成および情報収集を行ったり、必要に応じて他のエージェントをシミュレートするXMLを作成して送信するという考え方です。

The reason to create a plugin that sends data through XML and besides does recon task is to distribute the monitoring load among different machines and not centralize it into the server.

XML でデータを送信するプラグインを作成する理由は、自動検出処理の負荷をサーバに集中させずに分散することにあります。

サーバプラグインとエージェントプラグイン

A server plugin should be used when:

サーバプラグインは次のような場面で利用すべきです。

An agent plugin will be used when:

エージェントプラグインは次のような場面で利用すべきです。

開発における標準化

In order that all plugins would be the more standard possible, and that they have similar features, you should consider the following aspects:

すべてのプラグインを可能な限り標準化し、同様の機能を持たせるには、次の点を考慮する必要があります。

プラグインと拡張のバージョン管理

In Pandora FMS we follow a system of versions for the plugins that has the following format:

Pandora FMS では、次の形式のプラグインのバージョンシステムに従います。

v1r1

Being:

ここで:

The change to one revision to another is done when any bug is fixed or a minor feature is implemented. The first revision is the r1. el paso de una revisión a otra se produce cuando se arregla algún bug o se implementa una feature menor. La primera revisión es la r1.

あるリビジョンから別のリビジョンへの変更は、バグが修正されたとき、またはマイナーな機能が実装されたときに行われます。 最初のリビジョンは r1 です。

Always that there would be a change to a new version, should be started by the first revision, that is, if we have a plugin in the version v1r5 and we want to get a higher number of version, then we will have v2r1.

常に最初のリビジョンから開始し、新しいバージョンへ変更していく必要があります。つまり、バージョン v1r5 のプラグインに対して、より新しいバージョンを定義したい場合は、v2r1 などになります。

使い方とプラグインのバージョン

All plugins should respond to a call without parameters, or also with an option type -h or –help, showing the command for its execution and the different parameters of it.Besides, it will be necessary to show the version of the plugin. For example:

すべてのプラグインは、パラメータなし、またはオプション -h または –help を使用した呼び出しに応答し、実行用のコマンドとそのさまざまなパラメータを表示する必要があります。さらに、プラグインのバージョンを表示する必要があります。 例えば:

$ ./myplugin
 myplugin version: v1r1

 Usage myplugin <param1> <param2> <param3>

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