Pandora: Documentation ja: Anexo Plugins Considerations

From Pandora FMS Wiki
Jump to: navigation, search

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

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

1.1 概要

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

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

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

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

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

1.3 自動検出処理

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

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

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

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

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

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

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

  • 実行負荷が小さい場合。例えば単純な処理など。
  • 自動検出処理が多くのデータ処理を必要後する場合。
  • 自動検出処理の実行間隔が長い場合。例えば、1週間に一度など。

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

  • 情報収集において多くの処理がある場合。
  • 自動検出処理で高い負荷がかかる場合。
  • 自動検出処理の実行間隔が通常のエージェントの実行間隔に近い場合。例えば、5分間隔など。