Pandora: Documentation ja: Anexo Upgrade

From Pandora FMS Wiki
Revision as of 14:09, 23 June 2012 by Junichi (talk | contribs) ("オフライン" 更新)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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

Contents

1 以前のバージョンからのアップグレード

1.1 マイナーリリース間のアップグレード

3.1 から 3.1.1 へのアップグレードや、3.1-rc1 から 3.1-final や 3.1-rc2 へのマイナーバージョンの場合の例を示します。

同じメジャーバージョンでのアップグレードでは、データベーススキーマの変更はありません。ソフトウエアのみをアップグレードすれば良く、データベーススキーマやデータの対応は不要です。

例えば、3.1RC1 から 3.1RC2 など、同じメジャーバージョンでのアップグレードはとても簡単です。現在インストールしているものを新しいものに置き換えるだけです。以下に手順を示します。

1. データベースをバックアップします。(念のためです。必須ではありません。)

2. 設定ファイルをバックアップします。

/etc/pandora/pandora_server.conf
apache のドキュメントルート以下の pandora_console/include/config.php
/etc/pandora/pandora_agent.conf
カスタムファイル (マップ画像、プラグインなど)

3. RPM, DEB パッケージや tar のソースアーカイブを使って、好みの方法でアップデートします。

1.1.1 .rpm パッケージの利用

RPM システムで同じバージョンの場合は、以下のコマンドでアップグレードすることができます。

rpm -U xxxx.rpm

ただし、時々バージョンの銘々規則が異なる場合は問題が発生します。これを避けるためには、新たらしい RPM パッケージを強制インストールします。

rpm -i --force xxxx.rpm 

これは現在の設定を上書きします。pandora_server.conf および pandora_agent.conf はリストアする必要があります。コンソールのアップグレードは問題なくでき、install.php の削除のみ行う必要があります。

エンタープライズ版を利用している場合は、エンタープライズ版のパッケージもここで説明しているのと同様の方法でアップグレードする必要があります。

1.1.2 .deb パッケージの利用

Debian または Ubuntu もしくは、その他 .deb パッケージを利用するシステムを使っている場合は、以前のパッケージをアンインストールする必要があります。最初に設定とデータファイルをバックアップすることを忘れないようにしてください。

新しいパッケージをインストールして、設定ファイルをバックアップしたものに置き換えます。

エンタープライズ版を使っている場合は、それも .deb パッケージを使ってアップデートすることを忘れないようにしてください。

1.1.2.1 Unix 版 Pandora エージェント

Unix 版 Pandora エージェントをアップデートするとき、インストールの最後の段階で、プラグインファイルを上書きするか尋ねられます。上書きを防ぐために、プラグインを編集している場合は確認をしてください。

1.1.2.1.1 3.x から 4 へのアップグレード

きちんとしたインストールでアップグレードする必要があります。/var/www/pandora_console/include/config.php のバックアップを取ったあとに、パッケージをアンインストールしてください。

1.1.3 tar アーカイブ / ソースの利用

1.1.3.1 ウェブコンソール

コンソールの場合、まずは Pandora FMS コンソールの tar ファイルを /tmp へ展開します。

cd /tmp
tar xvzf pandorafms_console_3.1xxxx.tar.gz 

自動処理

SUSE (Vmware イメージもしくは CD アプライアンス) では次のようにします。

cd /tmp
cd pandora_console
./pandora_console_upgrade -p /srv/www/htdocs/pandora_console

2つ目のパラメータ (この例では、/srv/www/htdocs/pandora_console) は、 Pandora FMS コンソールがインストールされている場所です。

Ubuntu/Debian では次のようにします。

cd /tmp
cd pandora_console
./pandora_console_upgrade -p /var/www/pandora_console

手動での対応

Pandora FMS コンソールの tar ファイルを /tmp/pandora_console へ展開します。/tmp/pandora_console 以下のファイルを Pandora FMS のディレクトリへコピーします。

SUSE (Vmware イメージまたは CD アプライアンス) では次のようにします。

cp -R /tmp/pandora_console /srv/www/htdocs/
chown -R wwwrun:root /srv/www/htdocs/pandora_console

Ubuntu/Debian では次のようにします。

cp -R /tmp/pandora_console /var/www/
chown -R www-data:root /var/www/pandora_console

/tmp/pandora_console から、テンポラリファイルは削除します。

rm -Rf /tmp/pandora_console

エンタープライズ版 (手動のみ)

エンタープライズ版をアップグレードするには、/enterprise ディレクトリとその中身を Pandora FMS ウェブコンソールのディレクトリにコピーします。

1.1.3.2 サーバ

サーバでは、Pandora FMS サーバの tar ファイルを /tmp に展開します。

cd /tmp
tar xvzf pandorafms_server_3.1xxxx.tar.gz 

自動処理

アップグレードスクリプトを使って、アップデートを行います。

cd pandora_server
./pandora_server_upgrade --upgrade

手動での対応

この手順で、新たなバイナリおよびライブラリをインストールします。Pandora FMS の重要なツールはアップグレードされません。それらは一つずつコピーする必要があります。

cd pandora_server
perl Makefile.PL
make
make install

そして、必要無ければテンポラリファイルは削除します。

rm -Rf /tmp/pandora_server

エンタープライズ版'

上記のサーバのアップグレードととても似ています。tar ファイルを展開し、root で以下を実行します。

perl Makefile.PL
make
make install

以上で、エンタープライズサーバがアップグレードされます。

1.1.3.3 エージェント

tar ファイルを展開します。

cd /tmp
tar xvzf pandorafms_unix_agent_3.1xxx.tar.gz

ツールやプラグインも含めてエージェント全体をインストールする、インストールツールを実行します。このインストーラは、既存の設定ファイルを /etc/pandora/pandora_agent.conf.yyyy-mm-dd というファイル名で自動的にバックアップします。スクリプトを実行し、バックアップ設定ファイルを /etc/pandora/pandora_agent.conf にコピーします。

cd pandora_agent
./pandora_agent_installer --force-install
cp /etc/pandora/pandora_agent.conf.xxxxxxx /etc/pandora/pandora_agent.conf

そして、必要なければ、テンポラリファイルを削除します。

rm -Rf /tmp/pandora_agent

詳しい方のみ: エージェントのアップグレードで、/usr/bin/pandora_agent または c:\program files\pandora_agent\pandoraAgent.exe といったエージェントの実行ファイルのみを置き換えることができます。実行ファイルを置き換える前には、プロセスもしくはサービスを停止してください。すばやくアップグレードするには便利です。

マイナーバージョンのリリースでは、データベーススキーマには変更がないという点を理解しておいてください。そのため、上記で説明したファイルの置き換えやアップグレードで対応できます。3.0 から 3.1、2.1 から 3.0 などのメジャーバージョンアップでは、データベーススキーマが変更されています。この場合はデータベースの修正が必要です。

より詳細は引き続きドキュメントを参照してください。

1.2 メジャーバージョンのアップデート

マイナーバージョンアップと同様の手順ですが、データベーススキーマとデータをアップグレードする必要があります。以下に手順を示します。

1.2.1 データベーススキーマのアップグレード (メジャーバージョンのみ)

重要: 3.1 から 3.1.1 および、3.1.X から 3.2 へのアップグレードでは、以下の 2つのセクションで説明している特別な手順を実行する必要があります。

2.x から 3.x や、3.0 から 3.1 へのバージョンアップは、メジャーバージョンアップです。3.1 から 3.1.1 はメジャーバージョンアップではないので、データベースのアップグレードは不要です。

メジャーバージョンのアップグレードは、データベースのアップグレードが必要です。データベースのアップグレードは、コマンドラインから実施します。このアップグレードはすべての情報を変換しますが、データを失うことはありません。しかし、常に、全体のバックアップ (データベースだけではなく、プログラムおよび設定も) を取得してください。 以下にアップグレードの手順を示します。

新しいバージョンの Pandora FMS パッケージ (エンタープライズ版を含む) をインストールします。 データベースのアップグレードに必要なファイルは、パッケージの {PANDORA_CONSOLE}/extras ディレクトリおよび、{PANDORA_CONSOLE}/enterprise/extras (エンタープライズ版のみ) に含まれています。

{PANDORA_CONSOLE} は、Pandora FMS のコンソールのプログラムがインストールされているディレクトリです。SUSE では、/srv/www/htdocs/pandora_console で、Debian/Ubuntu では、/var/www/pandora_console です。システムに依存します。

extras ディレクトリへ行くと、pandoradb_migrate_vX.Y_to_vX.Z.sql というファイルがあります。このファイルには、X.Y.x のデータベースを X.Z のコンソールとサーバで利用できるようにデータベースを変換する SQL が書かれています。変換手順は次の通りです。

1. まず最初に、現在のデータベースのバックアップをとります。

mysqldump -u root -p pandora > backup_pandora_X.Y.sql

2. Pandora FMS サーバとウェブサーバを停止します。

 /etc/init.d/pandora_server stop
 /etc/init.d/apache stop

3. データベースをアップグレードするスクリプトを実行します。Mysql の pandora ユーザのパスワード (/etc/pandora/pandora_server.conf で確認できます) を聞かれます。Pandora FMS データベース名が "pandora" であり、コマンドを実行するマシンと同じマシンで mysql が動いているとすると、次のように実行します。

cd /srv/www/htdocs/pandora_console (or equivalent)
cat extras/pandoradb_migrate_vX.Y_to_vX.Z.sql | mysql -u pandora -p -D pandora 

数分もしくは数秒後、データベースは Pandora FMS の最新バージョンで利用できるようになります。

何らかの問題が発生した場合は、次のコマンドで以前のバージョンのデータベースにバックアップから戻すことができます。

mysql -u root -p
> drop database pandora;
> create database pandora;
> use pandora;
> source backup_pandora_X.Y.sql

1.2.2 エンタープライズ版の DB スキーマ

手順はほとんど同じです。/enterprise/extras ディレクトリに、pandoradb_migrate_v3.0_to_v3.1.sql ファイルがあります。このファイルを、上記のオープンソースのファイルと同じように利用します。

cd /srv/www/htdocs/pandora_console (or equivalent)
cat enterprise/pandoradb_migrate_v3.0_to_v3.1.sql | mysql -u pandora -p -D pandora

1.2.3 3.2.1 から 4.0 へのアップデート

tar アーカイブや DEB, RPM パッケージからコンソールをアップデートし、ウェブコンソールへアクセスすると、次のようなエラーが表示されます。

Notice: Undefined index: dbtype in /var/www/pandora_console/include/functions_db.php on line 32 
Notice: Undefined index: dbtype in /var/www/pandora_console /include/functions_db.php on line 48 
Notice: Undefined index: dbtype in /var/www/pandora_console/include/functions_db.php on line 625 

このエラーを解消するには、次の設定を <pandora_console_path>/include/config.php に追加してください。

$config["dbtype"]="mysql";

SSH 拡張がある場合はそれを削除してくください。4.0 では動作しません。(コンソールが正常に動きません)

rm -Rf < pandoraコンソールのルートディレクトリ>/extensions/ssh_console*

いくつかの 3.2 の設定では、自動インクリメントテーブルに問題があります。その場合は、以下の SQL を実行してください。(コンソールの SQL マネージャを利用するか、mysql のコマンドラインを利用します)

ALTER TABLE tsesion AUTO_INCREMENT = 1;

サーバをアップグレードすると、ICMP および SNMP によるモニタリングを高速化するサーバが入ります。pandora_server.conf に以下の設定を行うことによって、デフォルトで無効にすることができます。

snmpserver 0
icmpserver 0

1.2.4 3.1 から 3.1.1 へのデータベーススキーマのアップグレード

Pandora FMS 3.1.1 の全コンポーネントをインストールしたあとは、Pandora FMS のサービスをすぐに起動してはいけません。

Pandora FMS のこのバージョンのみ、データベース内のデータを html エンティティにエンコードするスクリプトを実行する必要があります。

エンコードスクリプトは、Pandora FMS コンソールとサーバをインストールした段階で、一回のみ実行する必要があります。

スクリプトを実行するには、Pandora FMS サーバをインストールした util ディレクトリへ行き、pandora_recode_db.pl を次のように実行します。

cd /usr/share/pandora_server/util (デフォルトのサーバパスは /usr/share/pandora_server です)
perl pandora_recode_db.pl

それが完了後、全てのサービスを開始し、通常通り Pandora FMS を実行することができます。

注意: データベースに日本語が含まれている場合、pandora_recode_db.pl を実行するとデータベースが壊れる問題があります。日本語を使っている場合のアップグレードは、3.2 のリリース版の利用をお勧めします。

1.2.5 3.1.X から 3.2 へのデータベーススキーマのアップグレード

Pandora FMS 3.2 の全コンポーネントをインストールしたあとは、Pandora FMS のサービスをすぐに起動してはいけません。

Pandora FMS のこの新バージョンのみ、データベース内のデータを html エンティティにエンコードするスクリプトを実行する必要があります。

エンコードスクリプトは、Pandora FMS コンソールとサーバをインストールし、"データベーススキーマのアップグレード (メジャーバージョンのみ)" の章で説明しているデータベースのマイグレーションスクリプトを実行した段階で、一回のみ実行する必要があります。

スクリプトを実行するには、Pandora FMS サーバをインストールした util ディレクトリへ行き、pandora_recode_db.pl を次のように実行します。

cd /usr/share/pandora_server/util (デフォルトのサーバパスは /usr/share/pandora_server です)
perl pandora_recode_db.pl

それが完了後、全てのサービスを開始し、通常通り Pandora FMS を実行することができます。

未リンクモジュールの問題を避けるには、次のようにします。(エンタープライズ版のみ)

UPDATE tagente_modulo SET policy_linked = 1 WHERE id_policy_module <> 0;

1.3 以前のバージョンからのアップグレードの問題 (Perl ライブラリ)

アップグレードでは、時々 Pandora FMS ライブラリが以前のバージョンとは異なるディレクトリにインストールされることがあります。その場合、2つの異なる Pandora FMS ライブラリが存在することになり、古いものと新しいもののどちらを利用しているのかがわからなくなります。確実な方法としては、インストールされているライブラリの場所を特定し、それを削除したあと、再インストールやアップグレードを実行することが良いです。次のように実行します。

find /usr -name "Core.pm"

次のような出力結果が表示されます。

/usr/lib/perl5/site_perl/5.10.0/PandoraFMS/Core.pm
/usr/lib/perl5/vendor_perl/5.10.0/Bootloader/Core.pm

Pandora FMS ライブラリは、/usr/lib/perl5/site_perl/5.10.0/PandoraFMS/ にあります。 これを削除し、再インストールします。(パッケージまたは、tar ファイルより)

rm -Rf /usr/lib/perl5/site_perl/5.10.0/PandoraFMS/

Perl のバージョンと場所はそれぞれの Linux ディストリビューションで異なります。ここで書いているように、削除する前に場所を特定する必要があります。

1.4 以前のバージョンからのアップグレードの問題 (データベース)

バージョン 1.x および 2.x からのアップグレードでは、問題が発生することがあります。その場合は手動で DB スキーマを変更する必要があります。次のようなメッセージが表示された場合がそうです。

ERROR 1005 (HY000) at line 101: Can't create table './pandora/talert_template_modules.frm' (errno: 150)

これは、MySQL にていくつかのフィールドが期待したタイプでない場合に発生します。 2.1 での id_agente_modulo フィールドは、bigint(10) タイプである必要があります。1.x からのマイグレーションの場合、この問題が発生します。3.0 へのマイグレーションツールを実行するまえに、mysql コンソールで次のコマンドを実行します。

ALTER TABLE tagente_modulo MODIFY id_agente_modulo bigint(10) unsigned NOT NULL auto_increment;

そして、再度アップグレードツールを実行します。MySQL データベースサーバで InnoDB がサポートされている必要があることに注意してください。

2 セキュリティアップグレード / パッチ

セキュリティアップグレードやセキュリティパッチは、通常はコンソールに適用する小さなパッチですが、サーバのセキュリティパッチもあります。共に、問題を修正するパッケージとしていくつかの形式で用意しています。

2.1 配布パッケージを使っての対応

パッケージ (RPM または DEB): パッケージをインストールするのみです。

Ubuntu/Debian

dpkg -i <package_name>

SUSE/RedHat/CentOS/Fedora

rpm -u <package_name>

2.2 tar アーカイブもしくは SVN を使っての対応

tar ファイルおよびソースでのパッケージです。この場合、Pandora FMS の内部について若干理解している必要があります。つまり、どのファイルを置き換えるのかを理解することです。tar ファイルを使った方法としては、インストールされている Pandora FMS のファイルをそれで置き換えます。

コンソール:

全てのファイルは、/var/www/pandora_console (Ubuntu/debian の場合), /srv/www/htdocs/pandora_console (SUSE の場合) に置かれます。ディストリビューションによって異なります。

サーバ:

バージョンとインストール手法により異なります。置き換え対象のファイルは次のようにして見つけることができます。

  • ライブラリ: find /usr -name "PluginServer.pm", 通常は、/usr/lib/perl5/PandoraFMS にあります。
  • バイナリ: find /usr -name "pandora_server", 通常は、/usr/bin にあります。

2.2.1 手動でのコンソールのアップデート例

例えば、pandorafms_console_3.1_securityfix_may2011.tar.gz という tar アーカイブがあった場合、次のようにします。

(SUSE システムを利用している場合を想定)

cd /tmp
tar xvzf /home/youruser/download/pandorafms_console_3.1_securityfix_may2011.tar.gz
cd pandora_console
cp -R /srv/www/htdocs/pandora_console
sudo chown -R wwwrun /srv/www/htdocs/pandora_console

2.2.2 手動でのサーバのアップデート例

例えば、pandorafms_server_3.1_securityfix_may2011.tar.gz という tar アーカイブがあった場合、次のようにします。

(SUSE システムを利用している場合を想定)

cd /tmp
tar xvzf /home/youruser/download/pandorafms_server_3.1_securityfix_may2011.tar.gz
cd pandora_server

(Pandora ライブラリファイルの場所の特定)

sudo find /usr -name "NetworkServer.pm"
.
.
/usr/lib/perl5/site_perl/5.12.1/PandoraFMS/NetworkServer.pm

上記は、デフォルトのインストールディレクトリではありません。(ソースからインストールした場合のディレクトリで、RPM でインストールしたものではありません) Pandora FMS ライブラリの場所は、/usr/lib/perl5/site_perl/5.12.1/PandoraFMS/ ディレクトリであるということがわかりました。そこで、全てのアップデートライブラリファイルを古いファイルに上書きします。 (ソースからではなく、パッケージインストールしている場合も -ディレクトリは違いますが- 手順は同じです)

sudo cp -R lib/PandoraFMS/*.pm /usr/lib/perl5/site_perl/5.12.1/PandoraFMS/

バイナリおよびツールのコピーも忘れないようにしてください。

sudo cp -R bin/* /usr/bin 

(PandoraFMS ディレクトリのコピー時にでるワーニングメッセージは無視してください。問題ありません。)

sudo cp -R util/* /usr/share/pandora_server/

3 アップデートマネージャを使ったコンソールのアップデート

3.1 オープンソース版の更新

Pandora FMS 4.0.2 から、オープンソース版でも週単位の半自動更新ができます。この機能は、以前はエンタープライズ版のみにあったアップデートマネージャシステムの改善によります。新たなアップデートがあるかどうかをオンラインで確認することができ、リクエストごとにコンソールを自動的にダウンロードして更新することができます。

この機能は次のような仕組みです。

  • Pandora FMS コンソールがインストールされているサーバはインターネットに接続されていなければなりません。
  • アップデートマネージャは、我々のサーバ(Sourceforge)に接続します。Pandora FMS の利用状況(エージェント数)を発信者を特定しない状態で送信します。
  • 更新ファイルが Sourceforge から週単位で更新フォルダにダウンロードされます。
  • 更新はインクリメンタルですが、コンソール全体のファイルを含みます。そのため、処理には時間がかかります。(パッケージは約 25MB あります)
  • 更新は自動です。開発チームによるレビューはされていません。99%は問題無いと思いますが、何も問題が無いことを保証するわけではありません。
  • 更新は、コンソールのみです。エージェントおよびサーバの更新はありません。

3.1.1 コンソールの更新手順

とても簡単です。拡張(Extensions) -> アップデートマネージャ(Update Manager) へ行きます。インストール可能な更新があるかチェックします。またこれまでにインストールした更新が表示されます(以下の例ではこれまでの更新はありません)。インストール(install)をクリックします。



Update manager open.png

インストールボタンをクリックします。

Info.png

アップデートマネージャを利用するには、Pandora コンソールがインストールされているホストがインターネットに接続されている必要があります。デフォルトでは Pandora はパッケージのダウンロードに wget(高速です) を利用します。curl を利用することもできます (Pandora の設定で変更できます) が遅いです。

 




Update manager open2.png

パッケージがダウンロードされインストールされると、次のようにメインページに戻ります。更新がインストールされ、それ以上更新が無いことが表示されます。おめでとうございます、これで新しいバージョンへの更新が完了です!



Update manager open3.png

</center>

3.2 エンタープライズ版の更新

オープンソース版の更新とは異なり、エンタープライズ版の更新では追加の特徴があります。

  • 開発チームによって 100% テストされています。そのため、公開されたと同時に(もしくは数時間以内に)更新することができます。
  • 大きなパッケージをダウンロードする必要はなく、更新されたもののみを適用することができます。
  • オフラインの更新ができます。サポートページからダウンロードして、(セキュリティの理由等で)インターネットに接続されていない Pandora FMS に適用できます。

エンタープライズ版のアップデートマネージャを利用するには、最初にシリアル番号の設定と keygen のインストールが必要です。設定画面を以下に示します。



Update manager4.png



操作(Operation)>拡張(Extensions)>アップデートマネージャ(Open Update Manager) から、アップデートマネージャへアクセスできます。エンタープライズ版がインストールされていれば、次のような画面が表示されます。



Update manager5.png



このページでは、現在の Pandora FMS のバージョン番号が表示されます。また、新たな更新があるか表示します。

新たなバージョンに更新するには、"更新(Update)" ボタンをクリックします。

"ローカルの変更を上書きする(Overwrite local changes)" をチェックすると、ローカルで編集したファイルがあれば、それを上書きします。

3.2.1 "オフライン" 更新

Pandora の "オフライン" 更新ファイルをダウンロードすることができます。.OUM という拡張子のパッケージです。それには、Pandora FMS の公式サポートページへ行き、.OUM ファイルをダウンロードしてください。日本におけるエンタープライズ版更新ファイルダウンロードは、(株)アールワークス が提供しています。

次の画面からそれをアップロードします。



Update manager6.png



更新は自動で適用されます。

3.3 アップデートマネージャのための PHP の追加設定

オープンアップデートマネージャを正しく動作させるためには、デフォルトの割り当てよりも多くのメモリが必要です。PHP に多くのメモリを割り当てるために、php.ini を編集し、少なくとも 64M のメモリを確保してください。

設定は次の通りです。

memory_limit = 64M	; Maximum amount of memory a script may consume (16MB)

Debian/Ubuntu のシステムであれば、ファイルは /etc/php5/apache2 以下にあります。