Pandora FMS 6.0 から 7.0 へのアップグレード
Pandora FMS 6.0 を 7.0 へアップグレードするためのクイックガイド
概要
Pandora FMS は、以下の 3つのパーツから成り立っています。
- Pandora FMS コンソール
- データベース
- Pandora FMS サーバ
マイナーバージョンのアップデートでは、データベースのアップデートは必要ありません。例えば、6.0SP2 を SP3 にする場合は、データベースへの操作は必要なく、コンソールとサーバのパッケージのみをアップデートします。
アップグレードの前に
全コンポーネントのアップデートの前に、重要なものをバックアップする必要があります。この場合、データベース、サーバの設定ファイル、コンソールです。この例では、/home/artica/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/artica/Backup [root@localhost ~]# mysqldump -uroot -ppandora pandora> /home/artica/Backup/backup6.sql [root@localhost ~]# cp -R /var/www/html/pandora_console/ /home/artica/Backup/ [root@localhost ~]# cp /etc/pandora/pandora_server.conf /home/artica/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)環境の手動起動および停止のための追加オプションがあります。
コンソールのアップグレード
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 からダウンロードできます。
Enterprise 版を利用している場合は、Enterprise 版のパッケージは Artica (日本においてはアールワークス)のサポートページからダウンロードすることができます。
データベースのアップグレード
バージョン 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 パッケージがバイナリでインストールされます。
オープンソースパッケージをアップデートしたあとに、Enterprise をインストールします。
[root@localhost 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 [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-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.
パッケージがインストールされ、アップデート後はシステムに次のパッケージが入った状態となります。
[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
Enterprise ユーザは、ここでウェブコンソールへアクアスし、事前に受け取っていた新たなバージョン 7 のライセンスを適用します。
停止していたサービスを再起動します。
[root@localhost ~]# /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 [root@localhost ~]# /etc/init.d/tentacle_serverd start
mysql socket がインストールされていない場合は、/etc/pandora/pandora_server.conf を編集し、dbhost パラメータを localhost ではなく、127.0.0.1 に書き換える必要があります。
Pandora FMS 6.0 から 7.0 への機能マイグレーション
このクイックガイドでは、新たなリリースで変更になった最も重要な機能および、マイグレーションで必要な操作について説明します。
ネットワークマップ
Pandora FMS 7.0 NG では従来のネットワークマップが改善されました。これは、これまでのネットワークマップはマイグレーションを行うと消えることを意味しており、マップはネットワークコンソールで再作成する必要があります。新しいバージョンでは、異なる監視対象デバイスインターフェイス間でリンクできます。
これらの接続はネットワーク自動検出で設定されますが、実行されていない場合は手動で接続を設定する必要があります。それには、次のようにします。
L2 自動検出タスク
標準の自動検出タスク(ネットワーク探索)は、これまで SNMP スクリプトである SNMP L2 Recon によって実行されていたオプションが追加されました。このスクリプトは、マイグレートした後の 7.0 NG でも機能します。異なるネットワークデバイス間のインターフェイスの接続を改善するネットワーク探索モードは、SNMP L2 Recon スクリプトには組み込まれていませんでいた。
エージェントの名前変更
これはユーザから要望のあった機能です。以前のバージョンでは、この変更はコンソールと設定ファイルで実行する必要があったため、変更する要素の数に応じて面倒な作業になりました。
この問題を解決するために新たに別名の機能を追加しました。新しいバージョンでは、一つのエージェントラベルの中に、名前と別名の 2つの要素があります。
バージョン 6 から 7 へマイグレーションした環境では、この要素は同じです。
エージェントの表示名を変更したい場合は、別名を変更します。これにより、すべての表示でこの名前で利用されるようになります。
バージョン 7.0NG におけるエージェント名はランダムなデータから作成されます。これは、同じホスト名のマシンがあった場合に、Pandora FMS コンソール上では異なるエージェント名で同じ別名のエージェントが 2つ存在することを意味します。
この機能を利用したくない場合は(たとえば、エージェントソフトウェアの vmware プラグインが VM の Pandora 環境にインストールされていて、両方のソースのデータを同じ論理エージェントに入れたい場合など)、以前のバージョンと同様に動作するようにエージェントを設定できます。 同じエイリアスとエージェント名を持つエージェントを作成します。これを行うには、エージェントソフトウェアの設定ファイルで次の調整をします。
#agent_name 5fa9bdc9ad26a4d0e87d0f0d15ed786c3bd487441b2d5e8d7c42b90e8389797d #agent_name_cmd __rand__
このようにすると、エージェントはいつもと同じ名前で、両方のソースから受け取った情報で作成されます。 必要に応じてコンソールから別名を変更することはできますが、情報は通常どおり表示されます。
エージェントまたはサテライトサーバを更新する場合は、使用している設定ファイルを保存しておく必要があります。そうしないと、上記の2つのパラメータが同じ設定で入力されている場合を除いて、それらは削除され、新しいランダムのラベル付きエージェントが生成され、保存された履歴データは失われます。
新 Pandora FMS エージェント
エージェントが出力する既定の情報は、この新しいバージョンの Pandora FMS 7.0 NG で変更され、統一、統合されました。
情報を出力する新たなモジュールがあります。
Linux エージェント
Windows エージェント
エージェントは、新規エージェントでない限り、移行後に同じ構成のモジュールを維持します。 バージョン 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版にのみあります。
オンラインアップデートマネージャ
アップデートマネージャ > オンラインアップデートマネージャ へ行きます。
新規バージョンのインストールでは、次のようなメッセージが表示されます。
“最新バージョンに更新(Update to the latest version)” をクリックします。
アップデートが受け付けられると、次のパッチがダウロードされ適用されます。パッチにデータベースの変更も含んでいる場合は、変更を適用する前に、次のメッセージが表示されます。これは、パッチ適用でエラーが発生した場合にデータベースを元に戻せるように、データベースのバックアップを促すためです。
MR が適用され、データベースの変更が行われ、プロセスが終了すると更新されたバージョンが表示されます。
オフラインアップデートマネージャ
オフラインアップデートマネージャは、Pandora FMS Enterprise 版にのみあります。
アップデートマネージャ > オフラインアップデートマネージャ へ行きます。
表示に従って、パッチをアップロードします。
パッチが適用されると、以下のメッセージが表示されます。
アップロードファイルにデータベースの変更も含まれる場合は、それも適用され次のメッセージが表示されます。
どのバージョンで動いているかを確認するには、コンソールのフッターを見ます。どの MR かと、データベースのバージョン、変更が適用されたかどうかが表示されています。
新たなアラートテンプレート
このリリースには、新たなテンプレートが追加されています。
これらは Pandora FMS 7.0 NG の新規インストールで設定されますが、以前のバージョンからのマイグレーションでは既存の設定を優先するため反映されません。
インタフェース監視の命名規則
監視の命名規則を変更しました。モジュールはインタフェースラベルを情報を用いてより簡単に設定できるようになりました。
以前のバージョンでは、以下の命名規則が使われていました。
以下が新しいフォーマットです。
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