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'
ここでの詳細ステップは、オープンソース版でデータベースのマイグレーションで以下のエラーが出た場合のみ必要です。
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 でのアップグレード処理では、いくつかのファイルのパーミッションが変更されることがあります。この問題を解決するには、次のコマンドを実行して、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 では従来のネットワークマップが改善されました。これは、これまでのネットワークマップはマイグレーションを行うと消えることを意味しており、マップはネットワークコンソールで再作成する必要があります。新しいバージョンでは、異なる監視対象デバイスインターフェイス間でリンクできます。
これらの接続はネットワーク自動検出で設定されますが、実行されていない場合は手動で接続を設定する必要があります。それには、次のようにします。
標準の自動検出タスク(ネットワーク探索)は、これまで 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 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