目次
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 のデータを扱えるようになります。(Pandora FMS Enterprise 版には Shift JIS のマッピングファイルがあらかじめ付属していますが、OSS版には付属していません。)
マッピングファイルの追加は以下のサイトが参考になりますので、日本語 Windows を監視対象とする場合は、”shift_jis” という名前で、マッピングファイルを設定してみるとよいでしょう。
こちらで配布されているスクリプトを用いて、次のように実行して、”shift_jis.enc” ファイルを生成します。
cp /usr/lib64/perl5/vendor_perl/XML/Parser/Encodings/x-sjis-cp932.enc /tmp
cd /tmp
perl {展開先ディレクトリ}/mkenc.pl x-sjis-cp932 shift_jis
/tmp 以下に shift_jis.enc というファイルが生成されますので、このファイルを以下のディレクトリに置きます。(ディレクトリが無い場合は作成します)
/usr/share/pandora_server/enc/
最後に pandora_server プロセスを再起動します。以上で、pandora_server は Shift JIS のデータを扱えるようになります。
なお、pandora_agent.conf 側で Shift_JIS でデータを送信する際は次の設定を行います。
encoding Shift_JIS
サーバ側のエンコーディングファイルは shift_jis.enc (小文字) であるのに対して、ソフトウエアエージェントでの設定は “Shift_JIS” であることに注意してください(大文字・小文字に注意)。
データベースは何が良い?
Pandora FMS は、監視設定や監視対象の状態などをすべてデータベースに保存します。対応しているデータベースは、MySQL です。(Pandora FMS 4.0 から6.0系では対応していましたが) PostgreSQL や Oracle は利用できません。
Pandora FMS 7.0NG からは、MySQL のみの対応となっています。
なお、Pandora FMS は、MySQL 互換 DB でも利用できます。たとえば、mariadb, percona などです。Percona XtraDB Cluster を用いたクラスタ構成の DB も利用することができますので、DB の冗長構成も取りたい場合は一つの選択肢になるでしょう。また、パブリッククラウド上に Pandora FMS サーバを構築する際は、クラウドサービスの MySQL およびその互換 DB サービスも利用できます。AWS の RDS (MySQL および Aurora) を使った構築の例もあります。
RedHat Enterprise Linux/CentOS 5.x 利用時の注意点
RHEL/CentOS バージョン 5.x に Pandora FMS をインストールすることはできますが、安定稼働のためには調整が必要です。
特別な理由がない限り、RHEL/CentOS 7 以上の利用をお勧めします。最新の Pandora FMS 7.0NG では、CentOS 7 および RHEL 8 およびその互換 OS が正式サポートとなっています。
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 であれば 7 以上の利用をお勧めします。
イベントにおける日本語文字化けに関して
RHEL/CentOS 5.x へ Pandora FMS をインストールした場合、日本語のエージェント名やモジュール名を登録していると、イベント表示が文字化けすることがあります。 これは、RHEL/CentOS 5.x に付属の perl モジュール、DBD::mysql のバージョンが古いことに起因します。
日本語のエージェント名やモジュール名を利用する場合は、DBD::mysql を 4.004 以降にバージョンアップしてください。なお、rpm パッケージは提供されていませんので、ソースからビルドする必要があります。