個人用ツール

Pandora:Documentation ja:Anexo Plugins Considerations

提供: Pandora FMS Wiki JP

移動先: 案内, 検索

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

プラグイン開発で考慮すべき点

概要

The plugins allows to Pandora get information that requires a complex process or that requires the use of complex systems or APIs. Examples of plugins could be the Oracle database monitoring that requires a complex process for the monitoring and also some auto-discovery tasks. Other example could be a simple HTML parse, but that requires some that Goliat can't do.

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

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

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

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

The server plugins do independent executions to collect each information piece. The server plugin execution is very difficult so it is only possible for plugins that aren't heavy, this is, that doesn' t need several queries to get a single piece of information. A server plugin could be an specific HTML parse plugin that doesn't requires lot of queries and so it will not overload the server.

サーバプラグインは、収集する情報ごとに個々に実行されます。サーバプラグインの実行は、重くなく、一つの種類の情報を取得するのを簡単な処理にする必要があるため、とても難しいです。特定の HTML をパースするプラグインは、多くの処理を実装せずにサーバに負荷をかけないようにする必要があります。

The agent plugins allow to obtain several modules at the same time and for this reason they are much more flexible than the server plugins. They are perfects for plugins that need several queries to get an information piece, so they allow more flexibility to the programmer so it's possible to return several modules at the same time.

エージェントプラグインは、同時に複数のモジュールの情報を取得することができます。このことにより、サーバプラグインよりより柔軟性があります。一つの情報を取得するのに多くの処理が必要なプラグインに適しています。そのため、同時に複数のモジュールの値を返すことができ、開発者にとってより柔軟性があります。

自動検出処理

To do recon tasks on plugins that need it, we have two possibilities:

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

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

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

It is also possible to create a recon task using an agent plugin. Usually, the agent plugins returns modules that are attached to the XML that the agent sends to the Pandora server. But, consider that when installing the agent in a machine with it, Tentacle is also installed, and this allow to send XML to the 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 our plugin the capacity to send XMLs 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 the average modules,collects the information and create and send the XML simulating other agents installed if necessary.

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

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

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

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

A server plugin should be used when:

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

  • The load of each execution is small, for example, simple queries.
  • 実行負荷が小さい場合。例えば単純な処理など。
  • If the Recon Task requires lot of data process.
  • 自動検出処理が多くのデータ処理を必要とする場合。
  • If the Recon Task execution intervals are large, for example, once a week
  • 自動検出処理の実行間隔が長い場合。例えば、1週間に一度など。

An agent plugin will be used when:

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

  • The information collection requires lot of process or lot of queries.
  • 情報収集において多くの処理がある場合。
  • The associated Recon Task requires a high process load or lot of queries.
  • 自動検出処理で高い負荷がかかる場合。
  • The Recon Task execution intervals are close to the common execution intervals for agents, for example, every 5 minutes.
  • 自動検出処理の実行間隔が通常のエージェントの実行間隔に近い場合。例えば、5分間隔など。