Pandora: Pandora Upgrade 6 7 JA

From Pandora FMS Wiki
Jump to: navigation, search

1 ISO からインストールした Pandora FMS 6.0 を 7.0 へアップグレードするためのクイックガイド

1.1 概要

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

- Pandora FMS コンソール

- データベース

- Pandora FMS サーバ

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

1.2 アップグレードの前に

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

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


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

[[email protected] ~]# /etc/init.d/pandora_server stop
[[email protected] ~]# /etc/init.d/tentacle_serverd stop

1.3 コンソールのアップグレード

Template warning.png

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

 


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

[[email protected] 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 からダウンロードできます。

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

1.4 データベースのアップグレード

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

thread stack を 256k にする必要があります。以下を mysql 設定ファイルに追加します。

thread_stack = 256k

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

[[email protected] 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' 

1.4.1 エラー 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 向けにアップグレードが完了し利用できる状態です。

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

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

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

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

1.5 サーバのアップグレード

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

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

[[email protected] tmp]# rpm -U --force pandorafms_server-7.0NG-1.noarch.rpm

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

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

[[email protected] tmp]# rpm -U --force pandorafms_server-7.0NG-1.noarch.rpm
An existing version of pandora_server.conf is found.
Don't forget to start Tentacle Server daemon if you want to receive
data using tentacle
[[email protected] 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
[[email protected] tmp]# cd pandora_server/
[[email protected] pandora_server]# ./pandora_server_installer --install
Pandora FMS Server Enterprise installer for GENERIC. (c) 2014-2016 Artica ST.


>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-2016 Artica ST
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.

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

[[email protected] 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

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

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

[[email protected] ~]# /etc/init.d/pandora_server start

Pandora FMS Server 7.0NG Build 170324 Copyright (c) 2004-2015 ArticaST
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

[[email protected] ~]# /etc/init.d/tentacle_serverd start


Template warning.png

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

 


2 Pandora FMS 6.0 から 7.0 への機能マイグレーション

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

2.1 ネットワークマップ

Pandora FMS 7.0 NG では従来のネットワークマップは廃止となり、ネットワークコンソールの改善を行っています。これは、これまでのネットワークマップはマイグレーションを行うと消えることを意味しており、マップはネットワークコンソールでの作成に置き換える必要があります。新しいバージョンでは、ネットワークコンソールから異なる監視対象のインタフェースを見ることができ、モジュールの設定を行うことなく、マップ上でその設定に簡単に行くことができます。


Mig1.JPG



Mig2.JPG


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

Mig3.JPG


2.2 L2 自動検出タスク

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


Mig4.JPG


2.3 エージェントの名前変更

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

この問題を解決するために新たに別名の機能を追加しました。新しいバージョンでは、一つのエージェントラベルの中に、名前と別名の 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つのパラメータが同じ設定で入力されている場合を除いて、それらは削除され、新しいランダムのラベル付きエージェントが生成され、保存された履歴データは失われます。

2.4 新 Pandora FMS エージェント

エージェントが出力する既定の情報は、この新しいバージョンの 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"

2.5 アップデートマネージャ / 断続的はリリース

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

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

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


Mig11.JPG


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


Mig12.JPG


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


Mig13.JPG


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


Mig14.JPG


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


Mig15.JPG


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

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


Mig16.JPG


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


Mig17.JPG


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


Mig18.JPG


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


Mig19.JPG


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


Mig20.JPG


2.6 新たなアラートテンプレート

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


Mig21.JPG



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

2.7 インタフェース監視の命名規則

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

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


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