サーバ編

Shift_JIS エンコーディングデータを pandora_agent から受け取るには?

pandora_agent は、Pandora FMS サーバへデータを XML 形式で送信してきます。多くの場合、エンコーディングは UTF-8 で問題ないのですが、監視対象が Windows サーバの場合 Pandora エージェントから呼び出すスクリプト(プラグイン)等が結果を Shift JIS で返すことがあるため、データ送信を Shift JIS で行いたい場合もあります。

しかしながら、Pandora FMS サーバでは XML のパースに Perl モジュールである XML::Parser を使っており、これには Shift JIS のマッピングファイルが含まれていないため、デフォルトでは Shift JIS データのパースができません。

これは、XML::Parser に含まれるマッピングファイルだけの問題であり、Pandora FMS 自体の機能ではありません。つまり、裏を返せば、XML::Parser が参照するマッピングファイルのディレクトリに Shift JIS 用のマッピングファイルを置いてあげれば Pandora FMS で Shift JIS のデータを扱えるようになります。

マッピングファイルの追加は以下のサイトが参考になりますので、日本語 Windows を監視対象とする場合は、”Shift_JIS” という名前で、マッピングファイルを設定してみるとよいでしょう。

https://web.archive.org/web/20160404081025/http://homepage3.nifty.com/hippo2000/perltips/xml/xmlenc.htm

データベースは何が良い?

Pandora FMS は、監視設定や監視対象の状態などをすべてデータベースに保存します。Pandora FMS 4.0 以降では、以下の 3つのデータベースに対応していました。

  • MySQL
  • PostgreSQL
  • Oracle

しかしながら、PostgreSQL および Oracle については利用ユーザがほとんどいないことから、Pandora FMS 7.0NG からは、MySQL のみの対応となりました。

なお、Pandora FMS は、MySQL 互換 DB でも利用できます。たとえば、mariadb, percona などです。Percona XtraDB Cluster を用いたクラスタ構成の DB も利用することができますので、DB の冗長構成も取りたい場合は一つの選択肢になるでしょう。

 

RedHat Enterprise Linux/CentOS 5.x 利用時の注意点

RHEL/CentOS バージョン 5.x に Pandora FMS をインストールすることはできますが、安定稼働のためには調整が必要です。

特別な理由がない限り、RHEL/CentOS を利用する場合はバージョン 6 以上を強くお勧めします。

perl のバージョンに関して

Pandora FMS サーバは、perl の thread を利用しています。 RedHat 5.x/CentOS 5.x 系のディストリビューションに含まれる perl は、バージョンが 5.8 系で、あまり thread の出来がよくありません。thread ライブラリがメモリリークする問題もあります。 Pandora サーバが停止する問題が発生する事例もあるようです。

従って、RedHat 5.x/CentOS 5.x は日本で良く使われている(使われていた)であろうディストリビューションですが、安定稼働面であまりお勧めできません。

Pandora FMS サーバをインストールするディストリビューションとしては、RedHat/CentOS であれば 6.x 系(rpm パッケージは Pandora FMS 4.0 以上で対応しています)以上の利用をお勧めします。

イベントにおける日本語文字化けに関して

RHEL/CentOS 5.x へ Pandora FMS をインストールした場合、日本語のエージェント名やモジュール名を登録していると、イベント表示が文字化けすることがあります。 これは、RHEL/CentOS 5.x に付属の perl モジュール、DBD::mysql のバージョンが古いことに起因します。

日本語のエージェント名やモジュール名を利用する場合は、DBD::mysql を 4.004 以降にバージョンアップしてください。なお、rpm パッケージは提供されていませんので、ソースからビルドする必要があります。