{toc}
h1. Installing or Upgrading GroundWork Monitor 7.1.1
Welcome to the installation Instructions for GroundWork Monitor Enterprise Edition, version 7.1.1. These instructions are maintained in the GroundWork Knowledge Base (kb.groundworkopensource.com). If you are reading these in a PDF or other offline form, you should check the online form for the most recent version.
This document covers the installation of GWMEE 7.1.1 and supported upgrades from 7.1.0. For new installs, see the first section below. For upgrades, see the upgrade section [here.|#Upgrade]
This document is supplemented by release notes, which contain details of issues fixed, new features, and items of interest to those users who have customized or significantly enhanced GroundWork Monitor Enterprise. You can view the release notes here: [7.1.1 Release Notes for EE]\\
{note:title=Read Me First}
Before performing an installation, please review the [7.1.1 Release Notes for EE], the [SUPPORT:System Requirements for 7.1.1], and any current Technical Bulletins for this version so you can prepare for any additional steps required either before or after the process. Technical Bulletins for this version of the product (if any) are listed in the [Technical Bulletins for 7.1.1] page of the [GroundWork Knowledge Base|https://kb.groundworkopensource.com/].
{note}
{contentbylabel:labels=tb 7-1-1|showLabels=false|showSpace=false|operator=AND|sort=title}
{anchor:Fresh}
h2. New install of GroundWork Monitor Enterprise 7.1.1
----
If you need to have a new installation of GroundWork as opposed to an upgrade, use these instructions. Take a look at the options [here|Installation Options for 7.1.1], and then follow the steps below to install. The major installation decisions and steps are:
# *Decide if you want to split the install into a remote database server and front-end or all in one, and other options.*
# *Ensure you have all the* *[system requirements|SUPPORT:System Requirements for 7.1.1]* *taken care of (disk space allocated properly, enough RAM, etc.).*
# *Run the installer.*
# *Do the post-install tasks to secure your GroundWork installation.*
# *Configure any additional options, such as HTTPS, LDAP authentication, etc.*
# *Start monitoring.*
h3. Installation steps
----
h4. Software preparation
Transfer the GroundWork Monitor Enterprise software to the server it is being installed on.
As superuser (root), change the permissions of the binary to executable. For example:
{noformat}
chmod +x groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run
{noformat}
You can then launch the installer with [one of the methods described here|https://kb.groundworkopensource.com/display/SUPPORT/Installation+Options+for+7.1.1#InstallationOptionsfor7.1.1-InstallationMethods]. These instructions will assume you launched it in text mode, interactive, as {{root}}:
{noformat}
./groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run
{noformat}
h4. Install Questions
----
The installer asks questions that must be answered correctly for a successful install. Most of them are self-explanatory. Some of them are called out here so we can comment on them.
* Questions about the components to install:
{noformat}
----------------------------------------------------------------------------
Select the components you want to install; clear the components you do not want
to install. Click Next when you are ready to continue.
PostgreSQL Database [Y/n] :
GroundWork Monitoring Server [Y/n] :
Is the selection above correct? [Y/n]:
{noformat}
If you are installing using a remote database that you have already set up with [instructions here|Remote Database Installation Instructions], decline the installation of the PostgreSQL Database. If you are installing an all-in-one server, where the PostgreSQL database will run locally on the GroundWork Monitor machine, enter "Y" for yes. Also enter yes for the GroundWork Monitoring Server, and yes if you selected correctly on confirmation.
* The next question is about Log Archiving. Unless advised not to by GroundWork Support, you should hit Y for yes.
{noformat}
----------------------------------------------------------------------------
Log Archiving
Do you wish to have the installer enable a standard configuration of the
log-archive capability? [Y/n]:
{noformat}
* The next question should almost always be answered Yes, unless you are running a system where the user interface is very lightly or never used, like a child server or minimal installation. Dual-JBoss configurations make better use of larger resource footprint machines to make the UI faster and more responsive.
{noformat}
----------------------------------------------------------------------------
Dual JBoss Installation
The GroundWork Monitor system capacity can be enhanced by enabling Dual JBoss
configuration on the system. Do you want to enable Dual JBoss?
[Y/n]:
{noformat}
* The installer will prompt twice more, to start the services and show the URL to log in.
h3. Post-Install Configuration
----
{tip:title=Starting and Stopping GroundWork Monitor}
GroundWork Monitor includes all prerequisites and components within a single installation package. The software components of GroundWork Monitor are installed under {{/usr/local/groundwork}}, with the exception of the log rotation configuration and the start/stop script named {{/etc/init.d/groundwork}}. The start/stop script is used indirectly, as follows:
{noformat}
service groundwork status
service groundwork start
service groundwork stop
{noformat}
This script can also be used to stop, start, or restart individual services. For example:
{noformat}
service groundwork restart nagios
{noformat}
(The {{service}} command generally resides in the {{/sbin/}} directory \[{{/usr/sbin/}}, on Ubuntu\]. That directory will normally be part of the {{root}} user's command-search path. If not, you can run the {{/etc/init.d/groundwork}} script directly, as in "{{/etc/init.d/groundwork start}}". The {{service}} command is preferred because it is easier to remember and type, however as of version 7.1.1 GroundWork has not supplied systemd compatible init scripts, so if you are running on a systemd-enabled distribution, you may have to use the init scripts directly. )
{tip}
{anchor:default_login_information}
h4. {color:red}Important:{color} Default Login Information
----
{warning:title=Security adjustments here are paramount}
Documentation on changing passwords can be found in the [How to change a user password|DOC71:How to users#3.0HowToChangeaUser%27sPassword] page of the Bookshelf. Note that the {{root}} and {{admin}} users are special and should not be renamed or deleted without special configuration steps.
{warning}
h5. Basic user-interface accounts and passwords
There are 4 user-interface users defined in GroundWork by default:
* root (password: root)
* admin (password: admin)
* operator (password: operator)
* user (password: user)
_Please be sure to adjust these user names and passwords according to your security policy, and do so quickly after the product is installed._ You can use the encryption tool on the GroundWork License Administration page to generate secure hashes of passwords, which can be used as random passwords if you like. See [Password Maintenance|DOC71:GroundWork License#2.0PasswordMaintenance] for details.
{note:title=An Associated File Adjustment}
Note that you will also need to update the {{portal.proxy.password}} in {{/usr/local/groundwork/config/foundation.properties}} if you change the {{user}} account password. See [DOC71:How to AD and LDAP configuration].{note}
h5. Other accounts and passwords
*GDMA*
There is also a separate proxy user defined in GroundWork by default, that is used to support Automated Agent Registration. If you decide to use GDMA, we recommend you change this user's password as well. This user need have only very restricted permissions, as you will see if you set up GDMA.
*Web Services API Token*
On all new installs of GroundWork Monitor 7.1.1, the default Web Services API token is not randomized. You will want to reset it using the License Administration screen. See [Password Maintenance|DOC71:GroundWork License#2.0PasswordMaintenance] for details. _If you don't, it is possible that another system could use the default key to access your GroundWork installation via the API, which would be a security risk._
{note:title=External programs}
This password is also what is used in the {{ws_client.properties}} file, and some ancillary programs reference it (e.g., feeders, etc.). If you configure Cloud Hub connectors, you will need to use this password to connect to this GroundWork server.
{note}
h4. License Required for Login
----
At first login, there is a default license for up to 50 monitored devices installed. Unless you plan to use only the Core edition, limited to 50 devices, you will need to log in as the {{admin}} user and copy-and-paste your license key into the portal application under the GroundWork Administration > GroundWork License menu. Don't forget to click on Validate to make it active. Each license is valid for the subscription duration purchased. Each GWOS installation has a single license file that controls access to the application user interface. The license file affects only user access to the GWOS portal; _it does not affect the ability to start/stop application components or most of the data gathering, processing, or notification features of the solution._
License key validity is checked at user login and is affected by:
* The subscription start and end dates.
* The number of monitored devices configured.
* Whether the date and time is accurate
Please see this How-To on GroundWork Connect for more information: [How-to Determine and adjust your device count|How-to Determine and adjust your device count]\\
h4. Optionally Disabling ntop
----
ntop is bundled into the GWMEE 7.1.1 release. It promiscuously analyzes the network traffic it can see on your GroundWork Monitor server. Because the data can be quite useful, ntop is enabled by default. It is, however, incompatible with SSL-enabled GroundWork systems, and can be considered a security risk (it is a sniffer, after all). If you decide you do not want to use this component, it can be (reversibly) disabled as follows.
* If the {{config/ntop.properties}} file is renamed before the {{gwservices}} component (or all of GroundWork Monitor) is started, the ntop UI will not be accessible under the Advanced > Protocol Analyzer menu item.
* The {{ntop}} daemon itself can be disabled by first stopping it:
{noformat}
service groundwork stop ntop
{noformat}
and then changing permissions on the control script:
{noformat}
cd /usr/local/groundwork/common/scripts
chmod -x ctl-nms-ntop.sh
{noformat}
{note:title=To fully disable ntop, restrict the page}
Disabling the background daemon itself reduces the load it invokes by promiscuously examining your network traffic, but you will probably want to disable access to the page to avoid displaying an error message. See the GroundWork bookshelf under Portal Administration - memberships for details.
{note}
h4. Remote Database Considerations
Access to the database server is defined in configuration files like {{cacti_feeder.conf}}. The default (applicable to a local database) points to {{localhost}}. A known issue is that in the case of a remote database, the 7.1.1 installer fails to set the proper value in the {{cacti_feeder.conf}} file. So if you are using a remote database, you will need to edit that file to make sure the {{cactidbhost}} specification is the actual remote database server FQDN or IP address.
{noformat}
/usr/local/groundwork/config/cacti_feeder.conf:cactidbhost = localhost
{noformat}
After fixing that setting, you must bounce the Cacti feeder for it to pick up the new value. That will be done the next time you restart {{gwservices}}:
{noformat}
service groundwork restart gwservices
{noformat}
or you can bounce just the one process, more surgically:
{noformat}
kill `ps --no-headers -C .perl.bin -o pid,args | fgrep cacti_feeder.pl | awk '{print $1}'`
{noformat}
For comparision and completeness, we note the following places in the config files that are successfully modified by the installer:
{noformat}
/usr/local/groundwork/config/cacti.properties:cacti.1.dbhost=localhost
/usr/local/groundwork/config/db.properties:collage.url=jdbc:postgresql://localhost:5432/gwcollagedb?prepareThreshold=1
/usr/local/groundwork/config/db.properties:collage.dbhost=localhost
/usr/local/groundwork/config/db.properties:monarch.dbhost=localhost
/usr/local/groundwork/config/db.properties:insightreports.dbhost=localhost
/usr/local/groundwork/config/db.properties:slareport.dbhost=localhost
/usr/local/groundwork/config/log-archive-receive.conf:archive_dbhost = "localhost"
/usr/local/groundwork/config/log-archive-send.conf:runtime_dbhost = "localhost"
{noformat}
{anchor:Upgrade}
h2. Upgrade installation
----
Upgrades to 7.1.1 are supported from version 7.1.0 ONLY. If you wish to do an upgrade, review this section. For a fresh installation, see [New Install|#Fresh].
Please note that the 7.1.0 installation has a critical technical bulletin ([GWME-7.1.0-2 - Archive Patch|SUPPORT:GWME-7.1.0-2 - Archive Patch]) that must be reviewed and applied prior to an upgrade to 7.1.1.
{note}
If you are unsure if this has already been done or whether this applies to your installation, please contact GroundWork Support for assistance.
{note}
h3. Prerequisites
----
Before you begin it is *critically important* that you test for each of these prerequisites and obtain them. For instance, getting partway into the process only to realize that you don't have the postgres user password and that no one can obtain it quickly means wasted time and disappointment, as well as the chance that the system may be down and require rolling back. Don't let this happen to you.
{note:title=Special Considerations}
* These instructions assume you are doing an in-place upgrade. If you wish to do a migration to a new server, please contact GroundWork Support for advice on your options and the trade-offs involved.
* Migration to a different machine may be required, if your current operating system version is no longer supported by GroundWork Monitor. See the OS Platform Requirements section in the [System Requirements for 7.1.1] document.
* Some customers have additional add-on integrations installed (e.g., Cloud Connector, Ganglia Integration, AlertSite Integration, Webmetrics Integration, ServiceNow Integration, JIRA Integration, other helpdesk integrations). Special considerations apply in those cases. If these or other integrations or extensions were provided by GroundWork Professional Services, you must contact GroundWork Professional Services for advice. Otherwise, contact GroundWork Support for details.
{note}
Checklist:
# Make sure your existing GroundWork server is running version 7.1.0 with [GWME-7.1.0-2 - Archive Patch|SUPPORT:GWME-7.1.0-2 - Archive Patch] applied. This is the only upgrade path supported for 7.1.1.
# If the Portal Admin user was changed, what is the new name?
# What is Portal Admin user's password?
## (Try logging in to the portal as the Admin user.)
# What is the "postgres" database-user password?
## (Try accessing {{psql}} from the command line, i.e. "{{psql \-U postgres}}".)
# Make sure that at least the postgres database is running before you start the upgrade, since the installer will migrate existing databases.
# Make a backup of your full installation and, separately, an on-disk backup of critical config files kept outside of the {{/usr/local/groundwork/}} file tree.
h3. Backups
----
Make sure you have created a backup of the GroundWork Monitor installation using the provided backup tool. Download the latest version of the backup utility and make a full backup of your installed system, as described in the [Backup utility description|DOCDEV:How to perform a full system backup].
{note}
The latest version of the backup utility (gw-backup-br387-linux-64) includes several improvements to the backup process. Please follow the instructions in the +[+Backup utility description+|SUPPORT:Backup utility]+ before executing an upgrade.
{note}
If any customizations have been applied, including additional scripts, plugins, etc., we recommend that for convenience you create a complete on-disk backup of /usr/local/groundwork directory, so that you can easily restore the files you added or changed. The installer will flag the files that are updated and that should be merged, but if you have the disk space available this step makes it easier to restore your customizations that the installer can't detect or anticipate. You should stop the GroundWork server and cron jobs, ensure you have adequate disk space, and make the copy like so (as root):
Check for space available:
{noformat}
df -h
{noformat}
Check for space used by GroundWork:
{noformat}
du -sh /usr/local/groundwork
{noformat}
Stop all GroundWork Processes and cron (called crond on some systems):
{noformat}
service groundwork stop
service cron stop
{noformat}
Copy the directory (in this example to /tmp/gwbackup):
{noformat}
mkdir /tmp/gwbackup
cp -a /usr/local/groundwork/* /tmp/gwbackup/
{noformat}
Start the services again (note: you don't need all the services to be running for an upgrade to work, only postgresql):
{noformat}
service cron start
service groundwork start
{noformat}
(or)
{noformat}
service groundwork start postgresql
{noformat}
h3. Permission & Ownership check
----
From the command line run the following:
{noformat}
find /usr/local/groundwork -type f -group root -exec ls -la '{}' \; |grep -E "root" |grep -Ev "\->" |grep -Ev "supervise"|grep -Ev "control" |grep -Ev "lock" |grep -Ev "status" |grep -Ev "mib_" |grep -Ev ".ctl" |grep -Ev "backup/" |grep -Ev "Catalina" |grep -Ev "/scripts/" |grep -Ev "/ntop/" |grep -Ev "apache2" |grep -Ev ".pid" |grep -Ev ".index" |grep -Ev ".log" |grep -Ev ".lck"
{noformat}
The result should not include any java libraries (.war, .jar, .ear) and configurations (.properties, .cfg). If any such files are found, change the user/owner to nagios.
h3. Postgres user configuration on SLES
----
If you are upgrading a Groundwork Installation that is installed on SLES you will need to run the following command, prior to running the installer, to verify that the postgres user is set up properly.
{noformat}
if mkdir ~postgres; then chown $(id -u postgres):$(id -g postgres) ~postgres; fi
{noformat}
h3. Installations with GDMA connecting to GroundWork Server via HTTPS
----
If you are using GDMA and the GroundWork server version 7.1.0 you are upgrading from is using HTTPS, you will need to re-set most of the settings for HTTPS after upgrade. You will then be able to use the later version of GDMA (2.5.0) supplied with 7.1.1, and to transition the potentially large numbers of older agents without service interruptions. However, as of 7.1.1, the default SSL configuration uses only TLS 1.2, and _will not accept connections from older GDMA agents without adjustment._
Please see the [post-upgrade tasks|#postupgrade] section below for details. Be sure to plan for this activity after the upgrade is complete. You will eventually want to transition your GDMA agents one-by-one to the later versions (GDMA 2.5.0 or later) and eventually enable only the more secure settings of GroundWork Monitor Enterprise 7.1.1.
h3. Upgrade Options
----
Distributed database configurations are supported. Therefore, a GroundWork Monitor single-server installation can be upgraded to a configuration where the GroundWork Monitor software and the database are installed on different servers. The new database instance needs to be installed _before_ the upgrade of GroundWork Monitor can be started.
{note:title=Moving the PostgreSQL Database}
These instructions only describe an upgrade that keeps the database where it already is, either separated from the GroundWork Monitor server or on the same machine. Additional steps not documented here would be needed for an upgrade that would involve moving the PostgreSQL database to a separate machine as part of the upgrade. If you desire to run a separate database server, refer to the GroundWork Knowledge Base for further information, or contact GroundWork Support.{note}
h3. Upgrade Procedure
----
The high-level upgrade steps for this transition are:
# *Complete the backup described above.*
# *Upgrade a Remote PostgreSQL Database* --- If you were previously running a Remote PostgreSQL database, that component must be migrated first.
# *Upgrade GroundWork Monitor Enterprise*
# *Install new license key, if required*
# *Re-merge any specialized configuration changes, Reset HTTPS settings, etc.*
h4. Upgrade a Remote PostgreSQL Database
----
{note}Skip this step if you are running the PostgreSQL database directly on the GroundWork Monitor server.{note}
In order to upgrade a PostgreSQL database running on a remote machine:
# Run a backup as you would on a normal GroundWork server (see [+Backup utility description+|DOCDEV:How to perform a full system backup]).
# Download the installer (e.g., {{groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run}}) to the Remote PostgreSQL database server.
# Make the installer executable:
{noformat}
chmod +x groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run
{noformat}
# _Back on the GroundWork Monitor server_, stop the software for the duration of this part of the upgrade:
{noformat}
service groundwork stop
{noformat}
# Run the installer on the Remote PostgreSQL database machine, and answer the prompts in the obvious ways.
{noformat}
./groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run --mode text
{noformat}
# As usual, you will find the upgrade report in the {{/usr/local/groundwork/upgrade-report.txt}} file. For the upgrade from 7.1.0 to 7.1.1, we made no changes to the {{postgresql.conf}} file. So if it is listed in the upgrade report as one that has been changed in the upgrade, it is because you had some local changes to the file. You'll have to merge any differences between the installed copy and the backed-up copy on a case-by-case basis.
h4. Upgrade of GroundWork Monitor Enterprise
----
Once you have a pre-upgrade backup, and (if necessary) the Remote PostgreSQL database upgraded, the remaining upgrade steps are as follows:
{note}
The upgrade has a dependency on the {{curl}} package being installed on the system. The curl package can be installed using the system package manager.
Example RHEL/CentOS: _yum install curl ,_ _apt-get install curl_ for Ubuntu or _yast \-i curl_ for SLES
{note}
# Download the installer (e.g.,groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run) to the GroundWork system that needs to be upgraded.
# Make the installer executable:
{noformat}
chmod +x groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run
{noformat}
\\
# Execute the installer. We recommend text mode.
{noformat}
./groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run --mode text
{noformat}
\\
# The installer detects an upgrade. Choose yes to continue.
{noformat}
Export the display to user's IP address to see the installation wizard.
You may exit the installation at this point or continue with the
installation in text mode.
Do you wish to Continue? [y/N]: y
GroundWork is already installed. Do you want to upgrade? [Y/n]: y
{noformat}
\\
# The rest of the questions should also be self-explanatory; answer them in the obvious ways (backup, database user verification).
# Allow the installer to complete on its own; don't interrupt it. In our testing on medium-grade equipment, this part ran for 15 minutes.
# Right before the end of the upgrade, a list of files you need to deal with manually will have been displayed:
{noformat}
Warning: During the upgrade procedure, the following files were detected to have
modifications. They were backed up to this directory,
/usr/local/groundwork/backup-2016-11-01. You will need to login in to this
server and manually merge these files. Some files may appear in this list
because you probably made local changes to certain options, and those changes
should now be brought forward. Some files may appear in this list simply
because the content of the file has changed between releases. If that is the
case for a given file, and you had not changed any option values in the previous
release, you should not need to do any work to merge the old and new copies at
this time.
Press [Enter] to continue :
List of modified files:
-----------------------
/usr/local/groundwork/config/cacti.properties
/usr/local/groundwork/config/console.properties
/usr/local/groundwork/config/db.properties
/usr/local/groundwork/config/foundation.properties
/usr/local/groundwork/config/perfdata.properties
/usr/local/groundwork/config/status-feeder.properties
/usr/local/groundwork/config/status-viewer.properties
/usr/local/groundwork/config/ws_client.properties
/var/spool/cron/nagios
/usr/local/groundwork/apache2/conf/httpd.conf
/usr/local/groundwork/common/etc/syslog-ng.conf
/usr/local/groundwork/config/bronx.cfg
/usr/local/groundwork/postgresql/data/postgresql.conf
Press [Enter] to continue :
{noformat}
For easy reference after the fact, especially if some of that info has scrolled off your screen, that same information is available at this point in the upgrade report in the {{/usr/local/groundwork/upgrade-report.txt}} file.
h4. Install new License (if needed)
----
Normally, old licenses that are still valid will continue to work after upgrade, but if you have been issued a new license file, this is a good time t install it. See: [DOC71:GroundWork License]
h4. Re-merge file changes you made
----
Once the installer has completely finished, you must compare the new copies of these files with the backup copies, and merge any local customizations in the old files into the new files. In certain cases, the backup copy may live under a different name. For the example above, the new and old files would be found in the following locations. For simplicity of presentation, all the non-absolute pathnames in this table are specified relative to the {{/usr/local/groundwork/}} directory. For example:
|| New file || Backup copy of old file ||
| {{apache2/conf/httpd.conf}} | {{backup-2016-11-01/apache2/conf/httpd.conf}} |
| {{common/etc/syslog-ng.conf}} | {{backup-2016-11-01/common/etc/syslog-ng.conf}} |
| {{config/bronx.cfg}} | {{backup-2016-11-01/config/bronx.cfg}} |
| {{config/cacti.properties}} | {{backup-2016-11-01/config/cacti.properties}} |
| {{config/console.properties}} | {{backup-2016-11-01/config/console.properties}} |
| {{config/db.properties}} | {{backup-2016-11-01/config/db.properties}} |
| {{config/foundation.properties}} | {{backup-2016-11-01/config/foundation.properties}} |
| {{config/perfdata.properties}} | {{backup-2016-11-01/config/perfdata.properties}} |
| {{config/status-feeder.properties}} | {{backup-2016-11-01/config/status-feeder.properties}} |
| {{config/status-viewer.properties}} | {{backup-2016-11-01/config/status-viewer.properties}} |
| {{config/ws_client.properties}} | {{backup-2016-11-01/config/ws_client.properties}} |
| {{postgresql/data/postgresql.conf}} | {{backup-2016-11-01/postgresql/data/postgresql.conf}} |
| {{/var/spool/cron/crontabs/nagios}} | {{backup-2016-11-01/crontab-nagios-2016-11-01}} |
Often, the differences you find between the new copy and the old copy will be due to small differences in timestamps, commenting, or spacing, and can be safely ignored. Sometimes, new information will be present in the new copy that should be left alone. Only change those areas of the new files that you know you are responsible for.
{info:title=Understanding Installation Problems}
The installer leaves a log file in a filename like {{bitrock_installer_10602.log}} which contains a record of the install processing. In case of trouble during the installation phase, that's a primary place to look for clues.{info}
h4. Final Steps in Upgrade
Once the upgrade process is complete, you must take the following steps to fully instantiate the changes:
* If you had to modify any files just above after the installer finished, you should bounce the entire system to make sure all components are restarted with the revised configurations.
{noformat}
service groundwork restart
{noformat}
* Log in to the UI as an administrative user.
* Run a Configuration > Control > Commit operation to put the upgraded configuration data fully into production. This will establish that all of the database configuration and connections are working as intended, and that all areas of the monitoring configuration are fully synchronized.
{info:title=Troubleshooting Advice}
The most common reason we have seen in testing for a failure to access the monitoring system UI at this point is that the user's browser is retaining some data that is not automatically cleaned up by the new release. If you have trouble accessing the Configuration screens in the user interface, try logging out, clearing your browser cookies and cache, and logging back in again.{info}
* If you have GroundWork Distributed Monitoring Agents (GDMA) in play, the GDMA clients periodically refresh their externals files from the server. However, immediately after the upgrade, those externals files are not present. They were backed up, but they're not in the production directory. To regenerate the externals files so you don't get stale check results from GDMA clients, run a "Configuration > Control > Build externals" operation.
{anchor:postupgrade}
h3. Post Upgrade Tasks
----
After a successful upgrade to GroundWork Monitor Enterprise 7.1.1, some additional steps are necessary to finish the upgrade process. Please review the following notes and make sure that you apply the changes to your installation.
h4. Feeder updates
* If you are using Cacti, and especially the Cacti feeder, you will need to do a few more steps. Even if you aren't currently doing so, it's a good idea to migrate the default feeder files anyway, in case you want to make use of the Cacti features in the future.
* The following steps just show the minimal files for a default install. If you have more feeder endpoints configured, you will naturally have more files to migrate.
# Restore the master configuration file *cacti_feeder.conf* from the installer backup config directory (e.g. /usr/local/groundwork/backup-2016-12-02/config)
#* For example:
{noformat}
cp /usr/local/groundwork/backup-2016-12-02/config/cacti_feeder.conf /usr/local/groundwork/config/cacti_feeder.conf
{noformat}
# Restore the GroundWork endpoint feeder config files, which may vary according to the endpoint directives in the master config file, eg *cacti_feeder_localhost.conf*
#* For example:
{noformat}
cp /usr/local/groundwork/backup-2016-12-02/config/cacti_feeder_localhost.conf /usr/local/groundwork/config/cacti_feeder_localhost.conf
{noformat}
# Restore the web services properties files as defined in the endpoint config files with the ws_client_config_file directives, e.g. /usr/local/groundwork/config/ws_client.properties
#* For example:
{noformat}
cp /usr/local/groundwork/backup-2016-12-02/config/ws_client.properties /usr/local/groundwork/config/ws_client.properties
{noformat}
# Make sure all of the files you just copied have {{nagios:nagios}} ownership, for example:
{noformat}
chown nagios:nagios /usr/local/groundwork/config/cacti_feeder.conf
chown nagios:nagios /usr/local/groundwork/config/cacti_feeder_localhost.conf
chown nagios:nagios /usr/local/groundwork/config/ws_client.properties
{noformat}
# Migrate the restored master config files by running this script:
{noformat}
/usr/local/groundwork/core/migration/migrate_RAPID_feeder_configs_711.sh
{noformat}
h4. Restore any custom portal root user name definitions
* If you changed the root user name, you will need to restore this change after upgrade. If you haven't changed the root user name, skip this step.
# Restore the *gatein.properties* file from the backup config directory (e.g. {{/usr/local/groundwork/backup-2016-12-02/config}}). For example:
{noformat}
cp /usr/local/groundwork/backup-2016-12-02/config/gatein.properties /usr/local/groundwork/config/gatein.properties
{noformat}
# Run the following command:
{noformat}
/usr/local/groundwork/java/bin/java -cp /usr/local/groundwork/jpp/modules/com/groundwork/security/main/groundwork-jboss-security-7.1.1.jar com.groundwork.core.security.GateinConfigurationUtils -superuser svc_gwroot
{noformat}
h4. Web Services API token
* If you had not done so before, establish non-default passwords for all of the standard GroundWork-supplied user accounts and API token listed in the [Default Login Information|#default_login_information] subsection above for new installs.
* If you change the API token and you are using Cloud Hub, be sure to modify all running connectors and replace the old token with the new one, to ensure that Cloud Hub can still contact the GroundWork server to post results. See [DOC71:Cloud Hub Connectors]
h4. Restore HTTPS/SSL Settings
* The procedure for enabling HTTPS has changed, and the default settings are much stricter. See [the SSL instructions|DOC71:How to enable SSL support] for details. If you were using HTTPS in 7.1.0 prior to upgrade, *this upgrade will disable it*. Please review these steps to ensure it is properly configured for your installation. {note}Note that as the certificates you had previously were preserved, there is no need to regenerate them ([SSL|DOC71:How to enable SSL support] steps 1 through 7) or to import them into the keystore (steps 15 and 16). {note}
h4. GDMA agents reporting to the GroundWork server with HTTPS/SSL enabled
If you are [Using GDMA with HTTPS|https://kb.groundworkopensource.com/display/DOC71/Using+GDMA+with+HTTPS], once you upgrade to 7.1.1 the server-side SSL settings will restrict communications to use the TLS 1.2 protocol only, and strong ciphers. GDMA agent releases before 2.5.0, as supplied with GroundWork Monitor 7.1.0 and older versions, do not support TLS 1.2. As such, they will not be able to retrieve new configurations from the default GroundWork Monitor 7.1.1 server setup with HTTPS. A different channel is used to send data monitoring results to the server, and that will still be working, at least until the GDMA client's configured {{Poller_Pull_Failure_Interval}} expires (default is 1 day). You will want to act immediately to allow the old agents to pull configurations, and soon start to upgrade GDMA agents to the latest versions.
Until you have all your old GDMA agents upgraded, the best approach is to leave as much of the upgraded protocol and cipher-list support in place as possible, and only open a hole large enough for the old GDMA clients to still connect. Here are the steps for that. All of the changes are made to the {{/usr/local/groundwork/apache2/conf/extra/httpd-ssl.conf}} file. We leave comments in the config file as breadcrumbs pointing the way back to locking down security once you no longer have any older GDMA clients in play.
# Change this line:
{noformat}
SSLProtocol -all +TLSv1.2
{noformat}
to this:
{noformat}
# SSLProtocol -all +TLSv1.2
# The preceding line should eventually be put back into play.
# The following line is only in use until all GDMA clients have been converted to
# run GDMA 2.5.0 or later, at which point the earlier line should be put back.
SSLProtocol -all +TLSv1.2 +TLSv1
{noformat}
# Comment out this line (with lots of stuff in the middle of the long string elided here for clarity, but keep it intact in the file) to preserve its exact current form:
{noformat}
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256: ... :!DES:!RC4:!3DES:!MD5:!PSK
{noformat}
then make an uncommented copy of it underneath that, and add comments and change the new line so the set of lines reads:
{noformat}
# SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256: ... :!DES:!RC4:!3DES:!MD5:!PSK
# The preceding line should eventually be put back into play.
# The following line is only in use until all GDMA clients have been converted to
# run GDMA 2.5.0 or later, at which point the earlier line should be put back.
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256: ... :!DES:-RC4:!3DES:!MD5:!PSK:RC4-SHA
{noformat}
Which is to say, in the new uncommented line, change {{\!RC4}} to {{\-RC4}} and add {{:RC4-SHA}} at the end.
# Change this line:
{noformat}
#SSLHonorCipherOrder on
{noformat}
to this:
{noformat}
SSLHonorCipherOrder on
{noformat}
so TLS 1.2 clients (browsers, and GDMA 2.5.0 clients) will prefer the modern set of ciphers over {{RC4-SHA}}.
# After making those changes, restart Apache:
{noformat}
service groundwork restart apache
{noformat}
Once you complete all the GDMA upgrades at your site, you can move the new (unaltered 7.1.1) settings of {{SSLProtocol}} and {{SSLCipherSuite}} back into place and restart Apache again. For more subtle configurations, and advice on managing this process, please contact GroundWork Support.
h4. Log Bridge users
If you have upgraded an installation of GroundWork 7.1.0 with Log Bridge installed, please see the [Post-upgrade tasks for Log Bridge installations|SUPPORT:Post-upgrade tasks for Log Bridge installations] page for additional post-upgrade tasks.
h4. Optional: Enable the Hit List Dashboard
There is a new dashboard/portlet application that is not enabled on upgrade by default, see: [Adding Hit List Dashboard|https://kb.groundworkopensource.com/display/DOC71/GroundWork+Portlets#GroundWorkPortlets-hitlist]
h1. Installing or Upgrading GroundWork Monitor 7.1.1
Welcome to the installation Instructions for GroundWork Monitor Enterprise Edition, version 7.1.1. These instructions are maintained in the GroundWork Knowledge Base (kb.groundworkopensource.com). If you are reading these in a PDF or other offline form, you should check the online form for the most recent version.
This document covers the installation of GWMEE 7.1.1 and supported upgrades from 7.1.0. For new installs, see the first section below. For upgrades, see the upgrade section [here.|#Upgrade]
This document is supplemented by release notes, which contain details of issues fixed, new features, and items of interest to those users who have customized or significantly enhanced GroundWork Monitor Enterprise. You can view the release notes here: [7.1.1 Release Notes for EE]\\
{note:title=Read Me First}
Before performing an installation, please review the [7.1.1 Release Notes for EE], the [SUPPORT:System Requirements for 7.1.1], and any current Technical Bulletins for this version so you can prepare for any additional steps required either before or after the process. Technical Bulletins for this version of the product (if any) are listed in the [Technical Bulletins for 7.1.1] page of the [GroundWork Knowledge Base|https://kb.groundworkopensource.com/].
{note}
{contentbylabel:labels=tb 7-1-1|showLabels=false|showSpace=false|operator=AND|sort=title}
{anchor:Fresh}
h2. New install of GroundWork Monitor Enterprise 7.1.1
----
If you need to have a new installation of GroundWork as opposed to an upgrade, use these instructions. Take a look at the options [here|Installation Options for 7.1.1], and then follow the steps below to install. The major installation decisions and steps are:
# *Decide if you want to split the install into a remote database server and front-end or all in one, and other options.*
# *Ensure you have all the* *[system requirements|SUPPORT:System Requirements for 7.1.1]* *taken care of (disk space allocated properly, enough RAM, etc.).*
# *Run the installer.*
# *Do the post-install tasks to secure your GroundWork installation.*
# *Configure any additional options, such as HTTPS, LDAP authentication, etc.*
# *Start monitoring.*
h3. Installation steps
----
h4. Software preparation
Transfer the GroundWork Monitor Enterprise software to the server it is being installed on.
As superuser (root), change the permissions of the binary to executable. For example:
{noformat}
chmod +x groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run
{noformat}
You can then launch the installer with [one of the methods described here|https://kb.groundworkopensource.com/display/SUPPORT/Installation+Options+for+7.1.1#InstallationOptionsfor7.1.1-InstallationMethods]. These instructions will assume you launched it in text mode, interactive, as {{root}}:
{noformat}
./groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run
{noformat}
h4. Install Questions
----
The installer asks questions that must be answered correctly for a successful install. Most of them are self-explanatory. Some of them are called out here so we can comment on them.
* Questions about the components to install:
{noformat}
----------------------------------------------------------------------------
Select the components you want to install; clear the components you do not want
to install. Click Next when you are ready to continue.
PostgreSQL Database [Y/n] :
GroundWork Monitoring Server [Y/n] :
Is the selection above correct? [Y/n]:
{noformat}
If you are installing using a remote database that you have already set up with [instructions here|Remote Database Installation Instructions], decline the installation of the PostgreSQL Database. If you are installing an all-in-one server, where the PostgreSQL database will run locally on the GroundWork Monitor machine, enter "Y" for yes. Also enter yes for the GroundWork Monitoring Server, and yes if you selected correctly on confirmation.
* The next question is about Log Archiving. Unless advised not to by GroundWork Support, you should hit Y for yes.
{noformat}
----------------------------------------------------------------------------
Log Archiving
Do you wish to have the installer enable a standard configuration of the
log-archive capability? [Y/n]:
{noformat}
* The next question should almost always be answered Yes, unless you are running a system where the user interface is very lightly or never used, like a child server or minimal installation. Dual-JBoss configurations make better use of larger resource footprint machines to make the UI faster and more responsive.
{noformat}
----------------------------------------------------------------------------
Dual JBoss Installation
The GroundWork Monitor system capacity can be enhanced by enabling Dual JBoss
configuration on the system. Do you want to enable Dual JBoss?
[Y/n]:
{noformat}
* The installer will prompt twice more, to start the services and show the URL to log in.
h3. Post-Install Configuration
----
{tip:title=Starting and Stopping GroundWork Monitor}
GroundWork Monitor includes all prerequisites and components within a single installation package. The software components of GroundWork Monitor are installed under {{/usr/local/groundwork}}, with the exception of the log rotation configuration and the start/stop script named {{/etc/init.d/groundwork}}. The start/stop script is used indirectly, as follows:
{noformat}
service groundwork status
service groundwork start
service groundwork stop
{noformat}
This script can also be used to stop, start, or restart individual services. For example:
{noformat}
service groundwork restart nagios
{noformat}
(The {{service}} command generally resides in the {{/sbin/}} directory \[{{/usr/sbin/}}, on Ubuntu\]. That directory will normally be part of the {{root}} user's command-search path. If not, you can run the {{/etc/init.d/groundwork}} script directly, as in "{{/etc/init.d/groundwork start}}". The {{service}} command is preferred because it is easier to remember and type, however as of version 7.1.1 GroundWork has not supplied systemd compatible init scripts, so if you are running on a systemd-enabled distribution, you may have to use the init scripts directly. )
{tip}
{anchor:default_login_information}
h4. {color:red}Important:{color} Default Login Information
----
{warning:title=Security adjustments here are paramount}
Documentation on changing passwords can be found in the [How to change a user password|DOC71:How to users#3.0HowToChangeaUser%27sPassword] page of the Bookshelf. Note that the {{root}} and {{admin}} users are special and should not be renamed or deleted without special configuration steps.
{warning}
h5. Basic user-interface accounts and passwords
There are 4 user-interface users defined in GroundWork by default:
* root (password: root)
* admin (password: admin)
* operator (password: operator)
* user (password: user)
_Please be sure to adjust these user names and passwords according to your security policy, and do so quickly after the product is installed._ You can use the encryption tool on the GroundWork License Administration page to generate secure hashes of passwords, which can be used as random passwords if you like. See [Password Maintenance|DOC71:GroundWork License#2.0PasswordMaintenance] for details.
{note:title=An Associated File Adjustment}
Note that you will also need to update the {{portal.proxy.password}} in {{/usr/local/groundwork/config/foundation.properties}} if you change the {{user}} account password. See [DOC71:How to AD and LDAP configuration].{note}
h5. Other accounts and passwords
*GDMA*
There is also a separate proxy user defined in GroundWork by default, that is used to support Automated Agent Registration. If you decide to use GDMA, we recommend you change this user's password as well. This user need have only very restricted permissions, as you will see if you set up GDMA.
*Web Services API Token*
On all new installs of GroundWork Monitor 7.1.1, the default Web Services API token is not randomized. You will want to reset it using the License Administration screen. See [Password Maintenance|DOC71:GroundWork License#2.0PasswordMaintenance] for details. _If you don't, it is possible that another system could use the default key to access your GroundWork installation via the API, which would be a security risk._
{note:title=External programs}
This password is also what is used in the {{ws_client.properties}} file, and some ancillary programs reference it (e.g., feeders, etc.). If you configure Cloud Hub connectors, you will need to use this password to connect to this GroundWork server.
{note}
h4. License Required for Login
----
At first login, there is a default license for up to 50 monitored devices installed. Unless you plan to use only the Core edition, limited to 50 devices, you will need to log in as the {{admin}} user and copy-and-paste your license key into the portal application under the GroundWork Administration > GroundWork License menu. Don't forget to click on Validate to make it active. Each license is valid for the subscription duration purchased. Each GWOS installation has a single license file that controls access to the application user interface. The license file affects only user access to the GWOS portal; _it does not affect the ability to start/stop application components or most of the data gathering, processing, or notification features of the solution._
License key validity is checked at user login and is affected by:
* The subscription start and end dates.
* The number of monitored devices configured.
* Whether the date and time is accurate
Please see this How-To on GroundWork Connect for more information: [How-to Determine and adjust your device count|How-to Determine and adjust your device count]\\
h4. Optionally Disabling ntop
----
ntop is bundled into the GWMEE 7.1.1 release. It promiscuously analyzes the network traffic it can see on your GroundWork Monitor server. Because the data can be quite useful, ntop is enabled by default. It is, however, incompatible with SSL-enabled GroundWork systems, and can be considered a security risk (it is a sniffer, after all). If you decide you do not want to use this component, it can be (reversibly) disabled as follows.
* If the {{config/ntop.properties}} file is renamed before the {{gwservices}} component (or all of GroundWork Monitor) is started, the ntop UI will not be accessible under the Advanced > Protocol Analyzer menu item.
* The {{ntop}} daemon itself can be disabled by first stopping it:
{noformat}
service groundwork stop ntop
{noformat}
and then changing permissions on the control script:
{noformat}
cd /usr/local/groundwork/common/scripts
chmod -x ctl-nms-ntop.sh
{noformat}
{note:title=To fully disable ntop, restrict the page}
Disabling the background daemon itself reduces the load it invokes by promiscuously examining your network traffic, but you will probably want to disable access to the page to avoid displaying an error message. See the GroundWork bookshelf under Portal Administration - memberships for details.
{note}
h4. Remote Database Considerations
Access to the database server is defined in configuration files like {{cacti_feeder.conf}}. The default (applicable to a local database) points to {{localhost}}. A known issue is that in the case of a remote database, the 7.1.1 installer fails to set the proper value in the {{cacti_feeder.conf}} file. So if you are using a remote database, you will need to edit that file to make sure the {{cactidbhost}} specification is the actual remote database server FQDN or IP address.
{noformat}
/usr/local/groundwork/config/cacti_feeder.conf:cactidbhost = localhost
{noformat}
After fixing that setting, you must bounce the Cacti feeder for it to pick up the new value. That will be done the next time you restart {{gwservices}}:
{noformat}
service groundwork restart gwservices
{noformat}
or you can bounce just the one process, more surgically:
{noformat}
kill `ps --no-headers -C .perl.bin -o pid,args | fgrep cacti_feeder.pl | awk '{print $1}'`
{noformat}
For comparision and completeness, we note the following places in the config files that are successfully modified by the installer:
{noformat}
/usr/local/groundwork/config/cacti.properties:cacti.1.dbhost=localhost
/usr/local/groundwork/config/db.properties:collage.url=jdbc:postgresql://localhost:5432/gwcollagedb?prepareThreshold=1
/usr/local/groundwork/config/db.properties:collage.dbhost=localhost
/usr/local/groundwork/config/db.properties:monarch.dbhost=localhost
/usr/local/groundwork/config/db.properties:insightreports.dbhost=localhost
/usr/local/groundwork/config/db.properties:slareport.dbhost=localhost
/usr/local/groundwork/config/log-archive-receive.conf:archive_dbhost = "localhost"
/usr/local/groundwork/config/log-archive-send.conf:runtime_dbhost = "localhost"
{noformat}
{anchor:Upgrade}
h2. Upgrade installation
----
Upgrades to 7.1.1 are supported from version 7.1.0 ONLY. If you wish to do an upgrade, review this section. For a fresh installation, see [New Install|#Fresh].
Please note that the 7.1.0 installation has a critical technical bulletin ([GWME-7.1.0-2 - Archive Patch|SUPPORT:GWME-7.1.0-2 - Archive Patch]) that must be reviewed and applied prior to an upgrade to 7.1.1.
{note}
If you are unsure if this has already been done or whether this applies to your installation, please contact GroundWork Support for assistance.
{note}
h3. Prerequisites
----
Before you begin it is *critically important* that you test for each of these prerequisites and obtain them. For instance, getting partway into the process only to realize that you don't have the postgres user password and that no one can obtain it quickly means wasted time and disappointment, as well as the chance that the system may be down and require rolling back. Don't let this happen to you.
{note:title=Special Considerations}
* These instructions assume you are doing an in-place upgrade. If you wish to do a migration to a new server, please contact GroundWork Support for advice on your options and the trade-offs involved.
* Migration to a different machine may be required, if your current operating system version is no longer supported by GroundWork Monitor. See the OS Platform Requirements section in the [System Requirements for 7.1.1] document.
* Some customers have additional add-on integrations installed (e.g., Cloud Connector, Ganglia Integration, AlertSite Integration, Webmetrics Integration, ServiceNow Integration, JIRA Integration, other helpdesk integrations). Special considerations apply in those cases. If these or other integrations or extensions were provided by GroundWork Professional Services, you must contact GroundWork Professional Services for advice. Otherwise, contact GroundWork Support for details.
{note}
Checklist:
# Make sure your existing GroundWork server is running version 7.1.0 with [GWME-7.1.0-2 - Archive Patch|SUPPORT:GWME-7.1.0-2 - Archive Patch] applied. This is the only upgrade path supported for 7.1.1.
# If the Portal Admin user was changed, what is the new name?
# What is Portal Admin user's password?
## (Try logging in to the portal as the Admin user.)
# What is the "postgres" database-user password?
## (Try accessing {{psql}} from the command line, i.e. "{{psql \-U postgres}}".)
# Make sure that at least the postgres database is running before you start the upgrade, since the installer will migrate existing databases.
# Make a backup of your full installation and, separately, an on-disk backup of critical config files kept outside of the {{/usr/local/groundwork/}} file tree.
h3. Backups
----
Make sure you have created a backup of the GroundWork Monitor installation using the provided backup tool. Download the latest version of the backup utility and make a full backup of your installed system, as described in the [Backup utility description|DOCDEV:How to perform a full system backup].
{note}
The latest version of the backup utility (gw-backup-br387-linux-64) includes several improvements to the backup process. Please follow the instructions in the +[+Backup utility description+|SUPPORT:Backup utility]+ before executing an upgrade.
{note}
If any customizations have been applied, including additional scripts, plugins, etc., we recommend that for convenience you create a complete on-disk backup of /usr/local/groundwork directory, so that you can easily restore the files you added or changed. The installer will flag the files that are updated and that should be merged, but if you have the disk space available this step makes it easier to restore your customizations that the installer can't detect or anticipate. You should stop the GroundWork server and cron jobs, ensure you have adequate disk space, and make the copy like so (as root):
Check for space available:
{noformat}
df -h
{noformat}
Check for space used by GroundWork:
{noformat}
du -sh /usr/local/groundwork
{noformat}
Stop all GroundWork Processes and cron (called crond on some systems):
{noformat}
service groundwork stop
service cron stop
{noformat}
Copy the directory (in this example to /tmp/gwbackup):
{noformat}
mkdir /tmp/gwbackup
cp -a /usr/local/groundwork/* /tmp/gwbackup/
{noformat}
Start the services again (note: you don't need all the services to be running for an upgrade to work, only postgresql):
{noformat}
service cron start
service groundwork start
{noformat}
(or)
{noformat}
service groundwork start postgresql
{noformat}
h3. Permission & Ownership check
----
From the command line run the following:
{noformat}
find /usr/local/groundwork -type f -group root -exec ls -la '{}' \; |grep -E "root" |grep -Ev "\->" |grep -Ev "supervise"|grep -Ev "control" |grep -Ev "lock" |grep -Ev "status" |grep -Ev "mib_" |grep -Ev ".ctl" |grep -Ev "backup/" |grep -Ev "Catalina" |grep -Ev "/scripts/" |grep -Ev "/ntop/" |grep -Ev "apache2" |grep -Ev ".pid" |grep -Ev ".index" |grep -Ev ".log" |grep -Ev ".lck"
{noformat}
The result should not include any java libraries (.war, .jar, .ear) and configurations (.properties, .cfg). If any such files are found, change the user/owner to nagios.
h3. Postgres user configuration on SLES
----
If you are upgrading a Groundwork Installation that is installed on SLES you will need to run the following command, prior to running the installer, to verify that the postgres user is set up properly.
{noformat}
if mkdir ~postgres; then chown $(id -u postgres):$(id -g postgres) ~postgres; fi
{noformat}
h3. Installations with GDMA connecting to GroundWork Server via HTTPS
----
If you are using GDMA and the GroundWork server version 7.1.0 you are upgrading from is using HTTPS, you will need to re-set most of the settings for HTTPS after upgrade. You will then be able to use the later version of GDMA (2.5.0) supplied with 7.1.1, and to transition the potentially large numbers of older agents without service interruptions. However, as of 7.1.1, the default SSL configuration uses only TLS 1.2, and _will not accept connections from older GDMA agents without adjustment._
Please see the [post-upgrade tasks|#postupgrade] section below for details. Be sure to plan for this activity after the upgrade is complete. You will eventually want to transition your GDMA agents one-by-one to the later versions (GDMA 2.5.0 or later) and eventually enable only the more secure settings of GroundWork Monitor Enterprise 7.1.1.
h3. Upgrade Options
----
Distributed database configurations are supported. Therefore, a GroundWork Monitor single-server installation can be upgraded to a configuration where the GroundWork Monitor software and the database are installed on different servers. The new database instance needs to be installed _before_ the upgrade of GroundWork Monitor can be started.
{note:title=Moving the PostgreSQL Database}
These instructions only describe an upgrade that keeps the database where it already is, either separated from the GroundWork Monitor server or on the same machine. Additional steps not documented here would be needed for an upgrade that would involve moving the PostgreSQL database to a separate machine as part of the upgrade. If you desire to run a separate database server, refer to the GroundWork Knowledge Base for further information, or contact GroundWork Support.{note}
h3. Upgrade Procedure
----
The high-level upgrade steps for this transition are:
# *Complete the backup described above.*
# *Upgrade a Remote PostgreSQL Database* --- If you were previously running a Remote PostgreSQL database, that component must be migrated first.
# *Upgrade GroundWork Monitor Enterprise*
# *Install new license key, if required*
# *Re-merge any specialized configuration changes, Reset HTTPS settings, etc.*
h4. Upgrade a Remote PostgreSQL Database
----
{note}Skip this step if you are running the PostgreSQL database directly on the GroundWork Monitor server.{note}
In order to upgrade a PostgreSQL database running on a remote machine:
# Run a backup as you would on a normal GroundWork server (see [+Backup utility description+|DOCDEV:How to perform a full system backup]).
# Download the installer (e.g., {{groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run}}) to the Remote PostgreSQL database server.
# Make the installer executable:
{noformat}
chmod +x groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run
{noformat}
# _Back on the GroundWork Monitor server_, stop the software for the duration of this part of the upgrade:
{noformat}
service groundwork stop
{noformat}
# Run the installer on the Remote PostgreSQL database machine, and answer the prompts in the obvious ways.
{noformat}
./groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run --mode text
{noformat}
# As usual, you will find the upgrade report in the {{/usr/local/groundwork/upgrade-report.txt}} file. For the upgrade from 7.1.0 to 7.1.1, we made no changes to the {{postgresql.conf}} file. So if it is listed in the upgrade report as one that has been changed in the upgrade, it is because you had some local changes to the file. You'll have to merge any differences between the installed copy and the backed-up copy on a case-by-case basis.
h4. Upgrade of GroundWork Monitor Enterprise
----
Once you have a pre-upgrade backup, and (if necessary) the Remote PostgreSQL database upgraded, the remaining upgrade steps are as follows:
{note}
The upgrade has a dependency on the {{curl}} package being installed on the system. The curl package can be installed using the system package manager.
Example RHEL/CentOS: _yum install curl ,_ _apt-get install curl_ for Ubuntu or _yast \-i curl_ for SLES
{note}
# Download the installer (e.g.,groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run) to the GroundWork system that needs to be upgraded.
# Make the installer executable:
{noformat}
chmod +x groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run
{noformat}
\\
# Execute the installer. We recommend text mode.
{noformat}
./groundworkenterprise-7.1.1-br415-gw3089-linux-64-installer.run --mode text
{noformat}
\\
# The installer detects an upgrade. Choose yes to continue.
{noformat}
Export the display to user's IP address to see the installation wizard.
You may exit the installation at this point or continue with the
installation in text mode.
Do you wish to Continue? [y/N]: y
GroundWork is already installed. Do you want to upgrade? [Y/n]: y
{noformat}
\\
# The rest of the questions should also be self-explanatory; answer them in the obvious ways (backup, database user verification).
# Allow the installer to complete on its own; don't interrupt it. In our testing on medium-grade equipment, this part ran for 15 minutes.
# Right before the end of the upgrade, a list of files you need to deal with manually will have been displayed:
{noformat}
Warning: During the upgrade procedure, the following files were detected to have
modifications. They were backed up to this directory,
/usr/local/groundwork/backup-2016-11-01. You will need to login in to this
server and manually merge these files. Some files may appear in this list
because you probably made local changes to certain options, and those changes
should now be brought forward. Some files may appear in this list simply
because the content of the file has changed between releases. If that is the
case for a given file, and you had not changed any option values in the previous
release, you should not need to do any work to merge the old and new copies at
this time.
Press [Enter] to continue :
List of modified files:
-----------------------
/usr/local/groundwork/config/cacti.properties
/usr/local/groundwork/config/console.properties
/usr/local/groundwork/config/db.properties
/usr/local/groundwork/config/foundation.properties
/usr/local/groundwork/config/perfdata.properties
/usr/local/groundwork/config/status-feeder.properties
/usr/local/groundwork/config/status-viewer.properties
/usr/local/groundwork/config/ws_client.properties
/var/spool/cron/nagios
/usr/local/groundwork/apache2/conf/httpd.conf
/usr/local/groundwork/common/etc/syslog-ng.conf
/usr/local/groundwork/config/bronx.cfg
/usr/local/groundwork/postgresql/data/postgresql.conf
Press [Enter] to continue :
{noformat}
For easy reference after the fact, especially if some of that info has scrolled off your screen, that same information is available at this point in the upgrade report in the {{/usr/local/groundwork/upgrade-report.txt}} file.
h4. Install new License (if needed)
----
Normally, old licenses that are still valid will continue to work after upgrade, but if you have been issued a new license file, this is a good time t install it. See: [DOC71:GroundWork License]
h4. Re-merge file changes you made
----
Once the installer has completely finished, you must compare the new copies of these files with the backup copies, and merge any local customizations in the old files into the new files. In certain cases, the backup copy may live under a different name. For the example above, the new and old files would be found in the following locations. For simplicity of presentation, all the non-absolute pathnames in this table are specified relative to the {{/usr/local/groundwork/}} directory. For example:
|| New file || Backup copy of old file ||
| {{apache2/conf/httpd.conf}} | {{backup-2016-11-01/apache2/conf/httpd.conf}} |
| {{common/etc/syslog-ng.conf}} | {{backup-2016-11-01/common/etc/syslog-ng.conf}} |
| {{config/bronx.cfg}} | {{backup-2016-11-01/config/bronx.cfg}} |
| {{config/cacti.properties}} | {{backup-2016-11-01/config/cacti.properties}} |
| {{config/console.properties}} | {{backup-2016-11-01/config/console.properties}} |
| {{config/db.properties}} | {{backup-2016-11-01/config/db.properties}} |
| {{config/foundation.properties}} | {{backup-2016-11-01/config/foundation.properties}} |
| {{config/perfdata.properties}} | {{backup-2016-11-01/config/perfdata.properties}} |
| {{config/status-feeder.properties}} | {{backup-2016-11-01/config/status-feeder.properties}} |
| {{config/status-viewer.properties}} | {{backup-2016-11-01/config/status-viewer.properties}} |
| {{config/ws_client.properties}} | {{backup-2016-11-01/config/ws_client.properties}} |
| {{postgresql/data/postgresql.conf}} | {{backup-2016-11-01/postgresql/data/postgresql.conf}} |
| {{/var/spool/cron/crontabs/nagios}} | {{backup-2016-11-01/crontab-nagios-2016-11-01}} |
Often, the differences you find between the new copy and the old copy will be due to small differences in timestamps, commenting, or spacing, and can be safely ignored. Sometimes, new information will be present in the new copy that should be left alone. Only change those areas of the new files that you know you are responsible for.
{info:title=Understanding Installation Problems}
The installer leaves a log file in a filename like {{bitrock_installer_10602.log}} which contains a record of the install processing. In case of trouble during the installation phase, that's a primary place to look for clues.{info}
h4. Final Steps in Upgrade
Once the upgrade process is complete, you must take the following steps to fully instantiate the changes:
* If you had to modify any files just above after the installer finished, you should bounce the entire system to make sure all components are restarted with the revised configurations.
{noformat}
service groundwork restart
{noformat}
* Log in to the UI as an administrative user.
* Run a Configuration > Control > Commit operation to put the upgraded configuration data fully into production. This will establish that all of the database configuration and connections are working as intended, and that all areas of the monitoring configuration are fully synchronized.
{info:title=Troubleshooting Advice}
The most common reason we have seen in testing for a failure to access the monitoring system UI at this point is that the user's browser is retaining some data that is not automatically cleaned up by the new release. If you have trouble accessing the Configuration screens in the user interface, try logging out, clearing your browser cookies and cache, and logging back in again.{info}
* If you have GroundWork Distributed Monitoring Agents (GDMA) in play, the GDMA clients periodically refresh their externals files from the server. However, immediately after the upgrade, those externals files are not present. They were backed up, but they're not in the production directory. To regenerate the externals files so you don't get stale check results from GDMA clients, run a "Configuration > Control > Build externals" operation.
{anchor:postupgrade}
h3. Post Upgrade Tasks
----
After a successful upgrade to GroundWork Monitor Enterprise 7.1.1, some additional steps are necessary to finish the upgrade process. Please review the following notes and make sure that you apply the changes to your installation.
h4. Feeder updates
* If you are using Cacti, and especially the Cacti feeder, you will need to do a few more steps. Even if you aren't currently doing so, it's a good idea to migrate the default feeder files anyway, in case you want to make use of the Cacti features in the future.
* The following steps just show the minimal files for a default install. If you have more feeder endpoints configured, you will naturally have more files to migrate.
# Restore the master configuration file *cacti_feeder.conf* from the installer backup config directory (e.g. /usr/local/groundwork/backup-2016-12-02/config)
#* For example:
{noformat}
cp /usr/local/groundwork/backup-2016-12-02/config/cacti_feeder.conf /usr/local/groundwork/config/cacti_feeder.conf
{noformat}
# Restore the GroundWork endpoint feeder config files, which may vary according to the endpoint directives in the master config file, eg *cacti_feeder_localhost.conf*
#* For example:
{noformat}
cp /usr/local/groundwork/backup-2016-12-02/config/cacti_feeder_localhost.conf /usr/local/groundwork/config/cacti_feeder_localhost.conf
{noformat}
# Restore the web services properties files as defined in the endpoint config files with the ws_client_config_file directives, e.g. /usr/local/groundwork/config/ws_client.properties
#* For example:
{noformat}
cp /usr/local/groundwork/backup-2016-12-02/config/ws_client.properties /usr/local/groundwork/config/ws_client.properties
{noformat}
# Make sure all of the files you just copied have {{nagios:nagios}} ownership, for example:
{noformat}
chown nagios:nagios /usr/local/groundwork/config/cacti_feeder.conf
chown nagios:nagios /usr/local/groundwork/config/cacti_feeder_localhost.conf
chown nagios:nagios /usr/local/groundwork/config/ws_client.properties
{noformat}
# Migrate the restored master config files by running this script:
{noformat}
/usr/local/groundwork/core/migration/migrate_RAPID_feeder_configs_711.sh
{noformat}
h4. Restore any custom portal root user name definitions
* If you changed the root user name, you will need to restore this change after upgrade. If you haven't changed the root user name, skip this step.
# Restore the *gatein.properties* file from the backup config directory (e.g. {{/usr/local/groundwork/backup-2016-12-02/config}}). For example:
{noformat}
cp /usr/local/groundwork/backup-2016-12-02/config/gatein.properties /usr/local/groundwork/config/gatein.properties
{noformat}
# Run the following command:
{noformat}
/usr/local/groundwork/java/bin/java -cp /usr/local/groundwork/jpp/modules/com/groundwork/security/main/groundwork-jboss-security-7.1.1.jar com.groundwork.core.security.GateinConfigurationUtils -superuser svc_gwroot
{noformat}
h4. Web Services API token
* If you had not done so before, establish non-default passwords for all of the standard GroundWork-supplied user accounts and API token listed in the [Default Login Information|#default_login_information] subsection above for new installs.
* If you change the API token and you are using Cloud Hub, be sure to modify all running connectors and replace the old token with the new one, to ensure that Cloud Hub can still contact the GroundWork server to post results. See [DOC71:Cloud Hub Connectors]
h4. Restore HTTPS/SSL Settings
* The procedure for enabling HTTPS has changed, and the default settings are much stricter. See [the SSL instructions|DOC71:How to enable SSL support] for details. If you were using HTTPS in 7.1.0 prior to upgrade, *this upgrade will disable it*. Please review these steps to ensure it is properly configured for your installation. {note}Note that as the certificates you had previously were preserved, there is no need to regenerate them ([SSL|DOC71:How to enable SSL support] steps 1 through 7) or to import them into the keystore (steps 15 and 16). {note}
h4. GDMA agents reporting to the GroundWork server with HTTPS/SSL enabled
If you are [Using GDMA with HTTPS|https://kb.groundworkopensource.com/display/DOC71/Using+GDMA+with+HTTPS], once you upgrade to 7.1.1 the server-side SSL settings will restrict communications to use the TLS 1.2 protocol only, and strong ciphers. GDMA agent releases before 2.5.0, as supplied with GroundWork Monitor 7.1.0 and older versions, do not support TLS 1.2. As such, they will not be able to retrieve new configurations from the default GroundWork Monitor 7.1.1 server setup with HTTPS. A different channel is used to send data monitoring results to the server, and that will still be working, at least until the GDMA client's configured {{Poller_Pull_Failure_Interval}} expires (default is 1 day). You will want to act immediately to allow the old agents to pull configurations, and soon start to upgrade GDMA agents to the latest versions.
Until you have all your old GDMA agents upgraded, the best approach is to leave as much of the upgraded protocol and cipher-list support in place as possible, and only open a hole large enough for the old GDMA clients to still connect. Here are the steps for that. All of the changes are made to the {{/usr/local/groundwork/apache2/conf/extra/httpd-ssl.conf}} file. We leave comments in the config file as breadcrumbs pointing the way back to locking down security once you no longer have any older GDMA clients in play.
# Change this line:
{noformat}
SSLProtocol -all +TLSv1.2
{noformat}
to this:
{noformat}
# SSLProtocol -all +TLSv1.2
# The preceding line should eventually be put back into play.
# The following line is only in use until all GDMA clients have been converted to
# run GDMA 2.5.0 or later, at which point the earlier line should be put back.
SSLProtocol -all +TLSv1.2 +TLSv1
{noformat}
# Comment out this line (with lots of stuff in the middle of the long string elided here for clarity, but keep it intact in the file) to preserve its exact current form:
{noformat}
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256: ... :!DES:!RC4:!3DES:!MD5:!PSK
{noformat}
then make an uncommented copy of it underneath that, and add comments and change the new line so the set of lines reads:
{noformat}
# SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256: ... :!DES:!RC4:!3DES:!MD5:!PSK
# The preceding line should eventually be put back into play.
# The following line is only in use until all GDMA clients have been converted to
# run GDMA 2.5.0 or later, at which point the earlier line should be put back.
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256: ... :!DES:-RC4:!3DES:!MD5:!PSK:RC4-SHA
{noformat}
Which is to say, in the new uncommented line, change {{\!RC4}} to {{\-RC4}} and add {{:RC4-SHA}} at the end.
# Change this line:
{noformat}
#SSLHonorCipherOrder on
{noformat}
to this:
{noformat}
SSLHonorCipherOrder on
{noformat}
so TLS 1.2 clients (browsers, and GDMA 2.5.0 clients) will prefer the modern set of ciphers over {{RC4-SHA}}.
# After making those changes, restart Apache:
{noformat}
service groundwork restart apache
{noformat}
Once you complete all the GDMA upgrades at your site, you can move the new (unaltered 7.1.1) settings of {{SSLProtocol}} and {{SSLCipherSuite}} back into place and restart Apache again. For more subtle configurations, and advice on managing this process, please contact GroundWork Support.
h4. Log Bridge users
If you have upgraded an installation of GroundWork 7.1.0 with Log Bridge installed, please see the [Post-upgrade tasks for Log Bridge installations|SUPPORT:Post-upgrade tasks for Log Bridge installations] page for additional post-upgrade tasks.
h4. Optional: Enable the Hit List Dashboard
There is a new dashboard/portlet application that is not enabled on upgrade by default, see: [Adding Hit List Dashboard|https://kb.groundworkopensource.com/display/DOC71/GroundWork+Portlets#GroundWorkPortlets-hitlist]