This is an old revision of the document!
2.Upgrades and updates
= Manual Update =
It is important to understand the basic components in which Pandora FMS is divided. There are three main elements: console, server and database.
In Opensource installations, these three components are quickly updated, but in Enterprise' installations the process will take a few more steps, since the components have extended Enterprise features that need to be updated separately.
The component breakdown is as follows:
- Web Console.
As for Enterprise installations:
- Open Web Console.
- Enterprise Web Console (extended console features).
- Open Server.
- Enterprise Server (extended server features).
- Database (additional charts of the Enterprise version).
Updates will always include console changes, sometimes server changes, and once in a while database changes. Let us organize the updates into two major categories: minor version upgrades, with no database changes, and major version upgrades, with database changes. ====== Update a minor version ====== These do not include any changes in the database, only in the console and sometimes in the server. E.g. updates 6.1 SP1 to 6.1 SP2. Initial precautions: here you have the detailed procedure to backup and restore Pandora MFS. However, here is a summary of the backup procedure: 1. Back up the database. E.g.: mysqldump -u root -p pandora > backup_pandora_X.Y.sql 2. Back up the config files: <code>pandora_server.conf</code>, <code>config.php</code> and <code>pandora_agent.conf</code>. 3. Back up server and agent plugins, at: /etc/pandora/plugins pandora_console/attachment/plugin /usr/share/pandora_server/util/plugin 4. Suspend the following services: <code>pandora_server</code>, <code>tentacle_serverd</code>, <code>httpd</code>, <code>pandora_agent</code> and <code>mysqld</code>. 5. Proceed to update. ===== From RPM packages ===== * Open console update: rpm -U pandorafms_console_package.rpm * Enterprise console update: rpm -U pandorafms_console_enterprise_package.rpm * Open server update: rpm -U pandorafms_server_package.rpm * Enterprise server update with tar.gz: tar -xvzf pandorafms_server_enterprise_package.tar.gz cd pandora_server ./pandora_server_installer –install You can find out which version you have installed at any time, before or after the installation by executing the command: rpm -qa | grep -i pandora ===== From DEB packages ===== * Open console update: dpkg -i pandorafms_console_package.deb * Enterprise console update: dpkg -i pandorafms_console_enterprise_package.deb * Open server update: dpkg -i pandorafms_server_package.deb * Enterprise server update: tar zxvf pandorafms_server_enterprise_package.tar.gz cd pandora_server/ ./pandora_server_installer –install Before and after updating, you may find out the installed versions by executing this command: rpm -qa | grep -i pandora ===== From Tarball / Sources ===== * Open console update: tar xvzf pandorafms_console_package.tar.gz cd pandora_console ./pandora_console_upgrade -p /yourconsolepath * Enterprise console update: tar xvzf pandorafms_console_enterprise_package.tar.gz cd pandora_console ./pandora_console_upgrade -p /yourconsolepath * Open server update: tar xvzf pandorafms_server_package.tar.gz cd pandora_server ./pandora_server_upgrade –upgrade * Enterprise server update: tar xvzf pandorafms_server_enterprise_package.tar.gz cd pandora_server ./pandora_server_upgrade –upgrade * Agent update: tar xvzf pandorafms_agent_package.tar.gz cd pandora_agent ./pandora_agent_installer –force-install ===== Version 7.0NG ( Rolling Release ) ===== If you choose to update manually the Pandora FMS Console in version 7.0NG, (through <code>rpm</code>, <code>tarball</code> or <code>deb</code>) you may have to manually apply the migration scripts between the different versions. To avoid this situation, in version 7 it is always recommended to update the console using Update Manager. In case of having an outdated database (a rare error that should not take place under normal circumstances), administrator users will see a warning on the notification tab indicating this problem: <center> center </center> To solve this problem, enter the server where the Pandora FMS console is installed and go to the directory: /var/www/html/pandora_console/extras/mr. There should be another directory located within labeled as <code>updated</code>. All sqls that are already applied must be stored there, and those that are not must be stored outside. So once an sql is applied to the database, move them to the <code>updated</code> directory. <code>MR1</code> execution will serve as example. In this case, there is no MR applied on the database and the <code>MR0</code> will appear in the footer of the Pandora FMS console. Version 704 has been manually installed and the <code>MR1</code> must be applied executing the <code>sql</code> found at <code> /var/www/html/pandora_console/extras/mr/</code> called <code>1.sql</code>. Execute it like this: mr# cat 1.sql | mysql -u root -p pandora The MySQL user is <code>root</code> and the database is labeled as <code>pandora</code>. Once applied, update the MR value in the <code>tconfig</code> table of MySQL to change the footer value to the current one. Execute the following command once entered MySQL: mysql> use pandora; mysql> update tconfig set value= XX where token='MR'; Once done, the warning message will disappear from the Console and in the footer, the <code>MR1</code> will appear as applied. The next step is to move the sql to the <code>updated</code> folder. mr# mv 1.sql updated/ To know which MRs should be applied, please go to the next link. ====== Major release update ====== Major release updates always include database changes, so you need to update your database schema, e. g. updates from version 6.0 to 6.1; or 6.1 to 7.0. ===== Database updates (“Major releases”) ===== In order to update the database, first update the Open or Enterprise console, depending on your version. These updates allow the necessary sql files to be downloaded. Once the console is up to date, the sql scripts of the database update can be found in <code>/extras</code> or <code>/enterprise</code> (again, depending on your version) on the console. On a standard CentOS installation they can be found at: /var/www/html/pandora_console/extras/pandoradb_migrate_X.Y_to_Z.T.mysql.sql /var/www/html/pandora_console/enterprise/pandoradb_migrate_vX.Y_to_vZ.T.mysql.sql Before updating, it is recommended to follow the precautions described above: back up the database and the config files, and suspend the Pandora FMS server: service pandora_server stop * Open database update: mysql -u username -p -D databasename E. g.: mysql -u pandora -p -D pandora Execute the following from MySQL command-line: source /yourconsolepath/extras/pandoradb_migrate_X.Y_to_Z.T.mysql.sql; When executing the Open version migration, the Enterprise version will also be updated. To exit the MySQL client, execute <code>quit</code>. The database is now updated to the correct version. In case you need to go back to a previous version, you can restore the backed up database by means of this procedure: mysql -u username -p databasename > drop database databasename; > create database newdatabasename; > use newdatabasename; > source backup_pandora_X.Y.sql E. g.: mysql -u root -p pandora > drop database pandora; > create database pandora; > use pandora; > source backup_pandora_X.Y.sql; = Automatic update with Update Manager = ====== OpenSource updates ====== From version 4.0.2 onwards, Pandora FMS (Opensource version) allows semi-automatic weekly updates, based on improvements in the Update Manager system (previously exclusive to Enterprise). It allows an online query to be carried out, to find out if there is an update available and, if so, download it and automatically update the console. Updates feature the following characteristics: * An outgoing Internet connection from the Pandora FMS console is necessary. * Update manager contacts our servers to find the latest version available (in Sourceforge). It sends statistical data on the number of agents used (the data is anonymous). * It downloads the update from Sourceforge, from the directory of weekly updates. * Weekly updates are not incremental, but the total content for the console, which means the download process could take a while (packet size is approximately 25MB). * Updates are automatic: they are not checked by the team, and cannot be guaranteed. However, in 99% of cases they present no issues. * Updates are only for the console, not for agents or server. ===== Console update process ===== It is fairly simple. Go to Update manager → Update manager online. On the main screen you will see if there are any pending or available updates, plus the latest console version. If there is any update, click Ok to install it. After downloading the package, a dialog will appear with the option to accept or reject the update. Click Ok to begin the installation process. Some updates contain database modifications. The update process launches a dialog to inform about these changes, as in the following screenshot: At this point there are two possibilities, either applying the changes to the database and updating the console, or rejecting the update, so that nor the database nor the console are updated, since some changes in the console need the according changes in the database. To use Update Manager, you need an outgoing Internet connection. It uses WGET by default to download packets, you can use the CURL method (this must be changed in the Pandora FMS configuration) but it is slower. After the process, the main update page will appear with the updated console version displayed. Congratulations, you have successfully updated your version! ====== Enterprise updates ====== Unlike Open updates, these have some additional characteristics: * 100% tested by our in-house development team, so you can take advantage of the latest updates (even hours after opening an incident, in some cases). * Specific updates (incremental) that only update out-of-date elements, without downloading heavy packages. * It allows offline updates, downloading packages from the support page, for Pandora FMS installations that do not have an Internet connection (for security reasons). ===== Configuration ===== To be able to use Update Manager in the Enterprise version, first the updater must be correctly configured, which has its own section in the menu: ===== Online updates ===== Update Manager is available in the Update Manager. If you have the Enterprise version installed, you may use this interface, otherwise the one to appear will be that of the Open version. From this page, you can see the current version of Pandora FMS, plus any new updates available. To update to the last version, click on the link that shows the image in your Pandora FMS console. A dialog will appear giving the option to continue or not. If you click Continue, two things can happen: either the console will be updated and the process will finish; or, the update may include database changes and a dialog will appear asking whether you want to update the database or not. If you decide to update it, the process will continue in a normal way, but if you reject it, neither the database nor the console will be updated, since some changes in the database can have critical importance in changes to the console in that same update. After, the updater will appear with the current version installed on Pandora FMS. ===== Offline updates ===== Offline Pandora FMS updates can also be downloaded, which have <code>.OUM</code> extensions. Go to the official Pandora FMS support page to download them. Upload them to the console with the following control: Once uploaded, the file will appear. We can click on it to start the update. The update follows the same operation flow as online downloads, displaying the corresponding console and database update dialogs, if there are any changes to be applied there. The Pandora FMS Console can be updated in the same way as with the OUMs, using zip files created by our team. In case of updating an installation with High Availability (HA), it will be necessary to take into account what is indicated in [[Pandora:Documentation_en:HA#Update|this section]]. ====== Additional PHP engine configuration for Update Manager ====== For Open Update Manager to run correctly, it needs more memory than the default memory it takes. To assign more memory to the PHP run, and make the Open Update Manager work, you must edit the php. ini file and set the memory to at least 256M. The line is: memory_limit = 256M ; Maximum amount of memory a script may consume (16MB) To find out the location of the file <code>php.ini</code> execute: php -i | grep php.ini Also, depending on Pandora FMS version you have installed, you may get the information to update to version PHP 7 here.<br><br><br> = Migrating to another system= You may want to use a new version of Pandora FMS in another different or newer system or distribution, for example, migrating from a CentOS 6 to 8 or from RHEL to CentOS. 1. Back up the previous system's database: mysqldump -u root -p pandora > backup_pandora_X.Y.sql 2. Install the new Pandora FMS system from scratch, or download it directly from Pandora FMS ISO and install it. 3. Then, send or copy the <code>backup_pandora_X.Y.sql</code> file from the old system to the new one. 4. Close all running processes except for MySQL. Start by Pandora FMS: /etc/init.d/pandora_server stop /etc/init.d/pandora_agent_daemon stop /etc/init.d/tentacle_serverd stop 5. Stopping the Apache server will depende on the distribution used: /etc/init.d/apache2 stop /etc/init.d/httpd stop systemctl stop httpd.service 6. Enter MySQL as root user. Access the Pandora FMS database on the new system (¨pandora¨ by default) and import the database. # mysql -u root -p mysql>use pandora Database changed mysql>source /home/<your_user>/backup_pandora_X.Y.sql This path will vary depending on the directory where the backup is stored. 7. In case of a migration to a higher version, where the database structure changes, this would be the time to run the migration scripts as indicated in the major version update procedure. 8. If you have changed the distribution, keep in mind the console <code>PATH</code> has also changed and some database fields will be different, such as tconfig** <code>attachment_store</code> and <code>fontpath</code>. To modify these fields, enter these queries. In the example you can see what a migration to CentOS would look like. For other distributions, change the Apache directory <code>path</code>. #mysql -u root -p mysql>use pandora Database changed mysql>UPDATE tconfig SET value = '/var/www/html/pandora_console/attachment' WHERE token LIKE 'attachment_store' mysql>UPDATE tconfig SET value = '/var/www/html/pandora_console/include/fonts/smallfont.ttf' WHERE token LIKE 'fontpath' Keep these <code>PATHS</code> in mind in server and console configuration files (<code>config.php</code> and <code>pandora_server.conf</code>) 9. Once the database is migrated, check that the previous <code>…/pandora_console/include/config.php</code> and <code>/etc/pandora/pandora_server.conf</code> files and the new ones contain the same data in the <code>dbname</code>, <code>dbuser</code> and <code>dbpass</code> fields. If they are the same ther is no need to do anything. If not, do one of these two things: a. Replace the new files with the old ones or replace the data of the new files for the old ones. b. Give the database permissions with the data from the new installation. E. g. with the following data; dbname=pandora, dbuser=pandora1 and dbpass=pandora2, it would be like this: #mysql -u root -p mysql>grant all privileges on pandora.* to 'pandora1'@'localhost' identified by 'pandora2'; mysql>flush privileges; Restart the daemons and access Pandora FMS console, including all agents, modules, alerts, etc. already configured and, if you replace the IP of the new host by the previous one, all the local agents will report to the new system. If it is the Enterprise version, follow the same procedure. = Update to a previous version = To be able to update your software to a previous version, downgrade Pandora FMS console. As a precaution, it is recommended to back up the database and Pandora FMS configuration file as shown previously. The Open package must always be installed first and the Enterprise version afterwards. ======From RPM packages====== * Open console update: rpm -i –force pandorafms_console_package.rpm * Enterprise console update: rpm -i –force pandorafms_console__enterprise_package.rpm ======From Tarball/Sources====== * Open console update: tar -xvzf pandorafms_console_package.tar.gz mv –f ./pandora_console/* /yourconsolepath * Enterprise console update: tar -xvzf pandorafms_console_package.tar.gz mv -f ./enterprise /yourconsolepath