ja:quickguides:pandora_upgrade_6_0_to_7_0

Pandora FMS 6.0 から 7.0 へのアップグレード

Pandora FMS は、以下の 3つのパーツから成り立っています。

- Pandora FMS コンソール

- データベース

- Pandora FMS サーバ

マイナーバージョンのアップデートでは、データベースのアップデートは必要ありません。例えば、6.0SP2 を SP3 にする場合は、データベースへの操作は必要なく、コンソールとサーバのパッケージのみをアップデートします。

Before updating Pandora FMS, back up all important elements, in this case, the database, the server's configuration file, and the console. In this example all the elements are saved in the /home/pfms/Backup directory.

全コンポーネントのアップデートの前に、重要なものをバックアップする必要があります。この場合、データベース、サーバの設定ファイル、コンソールです。この例では、/home/pfms/Backup ディレクトリに全ファイルを保存します。

[root@localhost ~]# rpm -qa | grep pandora
pandorafms_console_enterprise-6.0SP5-1.noarch
pandorafms_server-6.0SP5-1.noarch
pandorafms_console-6.0SP5-1.noarch
[root@localhost ~]# mkdir /home/pfms/Backup
[root@localhost ~]# mysqldump -uroot -ppandora pandora> /home/pfms/Backup/backup6.sql
[root@localhost ~]# cp -R /var/www/html/pandora_console/ /home/pfms/Backup/
[root@localhost ~]# cp /etc/pandora/pandora_server.conf /home/pfms/Backup/

バックアップが完了したら、pandora サーバと tentacle サーバを停止します。

[root@localhost ~]# /etc/init.d/pandora_server stop
[root@localhost ~]# /etc/init.d/tentacle_serverd stop


From version NG 754 onwards, additional options are available for manual startup and shutdown of High Availability (HA) environments.


バージョン NG 754 以降では、高可用性(HA)環境の手動起動および停止のための追加オプションがあります。

To Enterprise users: before proceeding with the update, request a new version 7 license from the Pandora FMS SL sales department.

Enterprise版をご利用の方は、アップデートの前に新しいバージョン 7 のライセンスを入手してください。

コンソールをアップデートするには、インストールされている rpm パッケージをアップグレードする必要があります。これには次のようなコマンドを使います。

[root@localhost tmp]# rpm -U --force pandorafms_console-7.0NG-1.noarch.rpm pandorafms_console_enterprise-7.0NG-1.noarch.rpm

オープンソース版の場合、pandorafms_console-7.0NG-1.noarch.rpm パッケージのみをアップデートします。これは、Sourceforge からダウンロードできます。

For Pandora FMS Enterprise users, the Enterprise package can be downloaded from Pandora FMS SL support website.

Enterprise 版を利用している場合は、Enterprise 版のパッケージは Pandora FMS SL (日本においてはアールワークス)のサポートページからダウンロードすることができます。

バージョン 6.0 から 7.0 など、メジャーバージョンのアップグレードの場合は、データベーススキーマもアップデートする必要があります。インストールした新たなバージョンのコンソールに、マイグレーションスクリプトがあります。

マイグレーションを行うには、次のコマンドを実行します。

[root@localhost tmp]# cat /var/www/html/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql | mysql -uroot -ppandora -D pandora

これらのマイグレーションスクリプトを実行したあとは、データベースがアップデートされバージョン 7.0 で利用可能な状態になります。

オープンソースバージョンのユーザの方で、マイグレーションスクリプトの結果で 1060 エラーが出た場合は、次の章を確認してください。出ていなければ 7.0 へのアップデートは完了しています。

Error:

ERROR 1060(42S21) at line 1256: Duplicate column name 'dynamic_next' 

エラー 1060 の解決

ここでの詳細ステップは、オープンソース版でデータベースのマイグレーションで以下のエラーが出た場合のみ必要です。

ERROR 1060(42S21) at line 1256: Duplicate column name 'dynamic_next'

Enterprise 版ユーザの方は、ここに記載の全手順を実行してはいけません(省略してください)。

Pandora FMS データベースで以下のクエリを実行します。

ALTER TABLE tmetaconsole_agent ADD COLUMN `cascade_protection_module` int(10) default '0';
ALTER TABLE tmetaconsole_agent ADD COLUMN `alias` VARCHAR(600) not null DEFAULT ;
ALTER TABLE tmetaconsole_agent ADD COLUMN `alias_as_name` int(2) unsigned default '0';

UPDATE `tmetaconsole_agent` SET tmetaconsole_agent.alias = tmetaconsole_agent.nombre;

ALTER TABLE twidget_dashboard MODIFY options LONGTEXT NOT NULL default "";

ALTER TABLE trecon_task ADD `alias_as_name` int(2) unsigned default '0';
ALTER TABLE trecon_task ADD `snmp_enabled` int(2) unsigned default '0';
ALTER TABLE trecon_task ADD `vlan_enabled` int(2) unsigned default '0';

UPDATE twidget_dashboard SET id_widget = (SELECT id FROM twidget WHERE unique_name = 'graph_module_histogram') WHERE id_widget = (SELECT id FROM twidget WHERE unique_name = 'graph_availability');
DELETE FROM twidget WHERE unique_name = 'graph_availability';

ALTER TABLE tbackup ADD COLUMN `filepath` varchar(512) NOT NULL DEFAULT "";

完了したら、データベースはバージョン 7.0 向けにアップグレードが完了し利用できる状態です。

yum/apt-get でシステムアップグレード後にデータベースが起動しない場合

yum/apt-get でのアップグレード処理では、いくつかのファイルのパーミッションが変更されることがあります。この問題を解決するには、次のコマンドを実行して、mysqld.log ファイルのオーナーを mysql:mysql に修正します。

chown mysql:mysql /var/log/mysqld.log

OS のパスによって、コマンドが若干異なる可能性があります。

コンソールとデータベースをアップデートしたら、最後はサーバのアップグレードです。

オープンソース 版では、以前のバージョンのアップデートを行います。Sourceforge から適切なパッケージをダウンロードし、次のようにアップデートします。

[root@localhost tmp]# rpm -U --force pandorafms_server-7.0NG-1.noarch.rpm

Enterprise版では、Enterprise パッケージがバイナリでインストールされます。

After updating the Pandora FMS OpenSource package (Sourceforge), install Pandora FMS Enterprise version package (Pandora FMS SL):

オープンソース版パッケージをアップデートしたあとに、Enterprise 版パッケージをインストールします。

[root@localhost tmp]# rpm -U --force pandorafms_server-7.0NG-1.noarch.rpm
An existing version of pandora_server.conf is found.
Do not forget to start Tentacle Server daemon if you want to receive
data using tentacle
[root@localhost tmp]# tar -xvzf pandorafms_server_enterprise_7.0NG_x86_64.tar.gz
pandora_server/pandora_server
pandora_server/pandora_server_installer
pandora_server/PandoraFMS-Enterprise/bin/braa
pandora_server/PandoraFMS-Enterprise/bin/pandora_db
pandora_server/PandoraFMS-Enterprise/bin/braa
pandora_server/PandoraFMS-Enterprise/bin/pandora_manage
pandora_server/README
[root@localhost tmp]# cd pandora_server/
[root@localhost pandora_server]# ./pandora_server_installer --install
Pandora FMS Server Enterprise installer for GENERIC. (c) 2014-2023 Pandora FMS SL.

>Installing the Pandora FMS Server Enterprise binary to /usr/bin...
>Installing the pandora_exec binary to /usr/bin...
>Copying missing perl libraries to the /usr/lib/perl5/PandoraFMS...
>Copying missing scripts to /usr/share/pandora_server/util...
>Installing the tentacle_server binary to /usr/bin...
>Copying extra encoding definitions to /usr/share/pandora_server/enc...
>Installing the pandora_db binary to /usr/bin...
>Installing the pandora_manage binary to /usr/bin...
>Installing the pandora_revent binary to /usr/bin...
>Installing the pandora_encrypt_db binary to /usr/bin...
>Installing the braa binary to /usr/bin...
>Installing the enterprise recon scripts...
>Executing Pandora Server Open installation script...
>...

Pandora FMS Server Installer 7.0NG 170324 (c) 2008-2023 Pandora FMS SL
This program is licensed under GPL2 Terms. http://pandorafms.com

GENERIC distribution detected
Creating common Pandora FMS directories
uid=500(pandora) gid=0(root) grupos=0(root)

User pandora does exist, make sure the SSH directories are correct
Giving proper permission to /var/spool/pandora
Creating setup directory in /etc/pandora
cp conf/pandora_server.conf.new /etc/pandora
Installing Pandora Server manual
Copying the daemon script into /etc/init.d
Linking startup script to /etc/rc.d/rc5.d/S90pandora_server
ln: creating symbolic link «/etc/rc.d/rc5.d/S90pandora_server»: El fichero ya existe
Creating logrotate.d entry for Pandora FMS log management
Copying the daemon script into /etc/init.d
Linking startup script to /etc/rc.d/rc5.d/S80tentacle_serverd
Installing Tentacle Server manual
Creating Pandora FMS distribution directory in /usr/share/pandora_server
Creating the Cron script to run Pandora DB tool each hour

Now you have to edit your /etc/pandora/pandora_server.conf file to change the database password (default is   pandora) with the one set in include/config.php of your Pandora FMS Console.
After setting password you can start your Pandora FMS Server!!
>...
>Installed Open Pandora Server
>Adding pandora_db to the crontab...

Restart Pandora FMS Server.

パッケージがインストールされ、アップデート後はシステムに次のパッケージが入った状態となります。

[root@localhost pandora_server]# rpm -qa | grep pandora
pandorafms_console-7.0NG-1.noarch
pandorafms_console_enterprise-7.0NG-1.noarch
pandorafms_server-7.0NG-1.noarch

At this point, Enterprise users should access the web console and enter the new license provided by Pandora FMS SL.

Enterprise ユーザは、ここでウェブコンソールへアクアスし、事前に受け取っていた新たなバージョン 7 のライセンスを適用します。

停止していたサービスを再起動します。

[root@localhost ~]# /etc/init.d/pandora_server start

Pandora FMS Server 7.0NG Build 170324 Copyright (c) 2004-2023 Pandora FMS SL
This program is OpenSource, licensed under the terms of GPL License version 2.
You can download latest versions and documentation at http://www.pandorafms.org

[*] Backgrounding Pandora FMS Server process.

Pandora Server is now running with PID 8407

[root@localhost ~]# /etc/init.d/tentacle_serverd start

mysql socket がインストールされていない場合は、/etc/pandora/pandora_server.conf を編集し、dbhost パラメータを localhost ではなく、127.0.0.1 に書き換える必要があります。

このクイックガイドでは、新たなリリースで変更になった最も重要な機能および、マイグレーションで必要な操作について説明します。

Pandora FMS 7.0 NG では従来のネットワークマップが改善されました。これは、これまでのネットワークマップはマイグレーションを行うと消えることを意味しており、マップはネットワークコンソールで再作成する必要があります。新しいバージョンでは、異なる監視対象デバイスインターフェイス間でリンクできます。

mig1.jpg

mig2.jpg

これらの接続はネットワーク自動検出で設定されますが、実行されていない場合は手動で接続を設定する必要があります。それには、次のようにします。

mig3.jpg

標準の自動検出タスク(ネットワーク探索)は、これまで SNMP スクリプトである SNMP L2 Recon によって実行されていたオプションが追加されました。このスクリプトは、マイグレートした後の 7.0 NG でも機能します。異なるネットワークデバイス間のインターフェイスの接続を改善するネットワーク探索モードは、SNMP L2 Recon スクリプトには組み込まれていませんでいた。

mig4.jpg

これはユーザから要望のあった機能です。以前のバージョンでは、この変更はコンソールと設定ファイルで実行する必要があったため、変更する要素の数に応じて面倒な作業になりました。

この問題を解決するために新たに別名の機能を追加しました。新しいバージョンでは、一つのエージェントラベルの中に、名前と別名の 2つの要素があります。

mig5.jpg

バージョン 6 から 7 へマイグレーションした環境では、この要素は同じです。

mig6.jpg

エージェントの表示名を変更したい場合は、別名を変更します。これにより、すべての表示でこの名前で利用されるようになります。

mig7.jpg

mig8.jpg

バージョン 7.0NG におけるエージェント名はランダムなデータから作成されます。これは、同じホスト名のマシンがあった場合に、Pandora FMS コンソール上では異なるエージェント名で同じ別名のエージェントが 2つ存在することを意味します。

この機能を利用したくない場合は(たとえば、エージェントソフトウェアの vmware プラグインが VM の Pandora 環境にインストールされていて、両方のソースのデータを同じ論理エージェントに入れたい場合など)、以前のバージョンと同様に動作するようにエージェントを設定できます。 同じエイリアスとエージェント名を持つエージェントを作成します。これを行うには、エージェントソフトウェアの設定ファイルで次の調整をします。

#agent_name 5fa9bdc9ad26a4d0e87d0f0d15ed786c3bd487441b2d5e8d7c42b90e8389797d
#agent_name_cmd __rand__

このようにすると、エージェントはいつもと同じ名前で、両方のソースから受け取った情報で作成されます。 必要に応じてコンソールから別名を変更することはできますが、情報は通常どおり表示されます。

エージェントまたはサテライトサーバを更新する場合は、使用している設定ファイルを保存しておく必要があります。そうしないと、上記の2つのパラメータが同じ設定で入力されている場合を除いて、それらは削除され、新しいランダムのラベル付きエージェントが生成され、保存された履歴データは失われます。

エージェントが出力する既定の情報は、この新しいバージョンの Pandora FMS 7.0 NG で変更され、統一、統合されました。

情報を出力する新たなモジュールがあります。

Linux エージェント

mig9.jpg

Windows エージェント

mig10.jpg

エージェントは、新規エージェントでない限り、移行後に同じ構成のモジュールを維持します。 バージョン 7.0 に含まれるモジュールは自動的には追加されません。

上記の場合、追加する設定を以下に示します。

Linux エージェント

# Could change depending on linux distro and vmstat command version
module_begin
module_name CPU Load
module_type generic_data
module_interval 1
module_exec vmstat 1 2 | tail -1 | awk '{ print $13 }'
module_max 100
module_min 0
module_description User CPU Usage (%)
module_min_warning 70
module_max_warning 90
module_min_critical 91
module_max_critical 100
module_unit %
module_group System
module_end

# Could change depending on linux distro and vmstat command version
module_begin
module_name CPU IOWait
module_type generic_data
module_interval 1
module_exec vmstat 1 2 | tail -1 | awk '{ print $16 }'
module_min_warning 10
module_min_critical 16
module_unit %
module_description Too much IOwait means IO bottleneck and performance problems. Check also LoadAVG.
module_group System
module_end

# Get load average
module_begin
module_name Load Average
module_type generic_data
module_exec cat /proc/loadavg | cut -d -f1
module_description Average process in CPU (Last minute)
module_group System
module_end

# Basic info about TCP Connection
module_begin
module_name TCP_Connections
module_type generic_data
module_exec netstat -an | grep tcp | grep -v LIST | wc -l
module_description Total number of TCP connections active
module_group Networking
module_end

# This plugin detects all disk and report used space (%)
module_plugin pandora_df_used
# This plugin detects system free memory and used swap (in %)
module_plugin pandora_mem_used
# This plugin will get the network usage (bytes/sec)
module_plugin pandora_netusage

Windows エージェント

# CPU Load using WMI 
module_begin
module_name CPU Load
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Processor
module_wmicolumn LoadPercentage
module_max 100
module_min 0
module_description User CPU Usage (%)
module_min_warning 70
module_max_warning 90
module_min_critical 91
module_max_critical 100
module_unit %
module_group System
module_end

# Basic info about TCP Connection
module_begin
module_name TCP_Connections
module_type generic_data 
module_exec netstat -an | find /c /v "estab"
module_description Total number of TCP connections active
module_group Networking
module_end

# Example plugin to retrieve drive usage
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\df_percent_used.vbs"

# Example plugin to retrieve memory usage
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\mem_percent_used.vbs"

# Example plugin to retrieve network usage
module_plugin cscript.exe //B "%ProgramFiles%\Pandora_Agent\util\network.vbs"

Pandora FMS 7.0 NG では、段階的にリリースされる OUM パッチでデータベースの変更を行います。ネットワーク接続の状況に応じてアップデートマネージャのオンラインまたはオフラインのメニューへ行きます。

オフラインのアップデートは、Pandora FMS Enterprise版にのみあります。

オンラインアップデートマネージャ

アップデートマネージャ > オンラインアップデートマネージャ へ行きます。

mig11.jpg

新規バージョンのインストールでは、次のようなメッセージが表示されます。

mig12.jpg

“最新バージョンに更新(Update to the latest version)” をクリックします。

mig13.jpg

アップデートが受け付けられると、次のパッチがダウロードされ適用されます。パッチにデータベースの変更も含んでいる場合は、変更を適用する前に、次のメッセージが表示されます。これは、パッチ適用でエラーが発生した場合にデータベースを元に戻せるように、データベースのバックアップを促すためです。

mig14.jpg

MR が適用され、データベースの変更が行われ、プロセスが終了すると更新されたバージョンが表示されます。

mig15.jpg

オフラインアップデートマネージャ

オフラインアップデートマネージャは、Pandora FMS Enterprise 版にのみあります。

アップデートマネージャ > オフラインアップデートマネージャ へ行きます。

mig16.jpg

表示に従って、パッチをアップロードします。

mig17.jpg

パッチが適用されると、以下のメッセージが表示されます。

mig18.jpg

アップロードファイルにデータベースの変更も含まれる場合は、それも適用され次のメッセージが表示されます。

mig19.jpg

どのバージョンで動いているかを確認するには、コンソールのフッターを見ます。どの MR かと、データベースのバージョン、変更が適用されたかどうかが表示されています。

mig20.jpg

このリリースには、新たなテンプレートが追加されています。

mig21.jpg

これらは Pandora FMS 7.0 NG の新規インストールで設定されますが、以前のバージョンからのマイグレーションでは既存の設定を優先するため反映されません。

監視の命名規則を変更しました。モジュールはインタフェースラベルを情報を用いてより簡単に設定できるようになりました。

以前のバージョンでは、以下の命名規則が使われていました。

mig22.jpg

以下が新しいフォーマットです。

mig23.jpg

Enterprise マップ、インタフェースグラフなど Pandora FMS 7.0 NG の新機能の利点を使うためには、以下の SQL クエリにてモジュール名を編集する必要があります。

UPDATE tagente_modulo SET nombre = CONCAT(REPLACE(nombre, 'ifOperStatus_', ''), '_ifOperStatus') WHERE nombre LIKE('ifOperStatus_%');
UPDATE tagente_modulo SET nombre = CONCAT(REPLACE(nombre, 'ifInOctets_', ''), '_ifInOctets') WHERE nombre LIKE('ifInOctets_%'); 
UPDATE tagente_modulo SET nombre = CONCAT(REPLACE(nombre, 'ifOutOctets_', ''), '_ifOutOctets') WHERE nombre LIKE('ifOutOctets_%');

サテライトサーバモジュールの設定変更には、サテライトの設定ファイル内のモジュール名を変更する必要があります。 (注意: リモート設定が有効になっている場合は、サーバ上の設定および .md5 を更新する必要があります。もしくはサーバから削除し、サテライトサーバ上で名前を変更し、再送します。)

リモート設定が有効な場合は、サーバで以下を実行します。

sed -i -e 's/ifOperStatus_\(.*\)/\1_ifOperStatus/' /etc/pandora/conf/*.conf 
sed -i -e 's/ifInOctets_\(.*\)/\1_ifInOctets/' /etc/pandora/conf/*.conf 
sed -i -e 's/ifOutOctets_\(.*\)/\1_ifOutOctets/' /etc/pandora/conf/*.conf
sed -i -e 's/ifOperStatus_\(.*\)/\1_ifOperStatus/' /var/spool/pandora/data_in/conf/*.conf 
sed -i -e 's/ifInOctets_\(.*\)/\1_ifInOctets/' /var/spool/pandora/data_in/conf/*.conf 
sed -i -e 's/ifOutOctets_\(.*\)/\1_ifOutOctets/' /var/spool/pandora/data_in/conf/*.conf

その後、これらの変更をサテライトサーバの設定に適用する必要があります。そのためには、それぞれのエージェントの .md5 ファイルの内容を適当な値で更新します。

echo 1 >/var/spool/pandora/data_in/md5/*.md5
  • ja/quickguides/pandora_upgrade_6_0_to_7_0.txt
  • 最終更新: 2023/06/22 05:27
  • by junichi