Overview
The Opsview upgrade notes provide information about the product changes that can affect upgrading from 6.5.x version of Opsview Monitor or newer to 6.8.x.
If your current version of Opsview Monitor is 6.5.x or higher, you can perform an in-place upgrade.
Prior to installing or upgrading Opsview Monitor to a newer version, please read the following pages:
-
Check What's New in ITRS Opsview for the latest updates.
-
Go through the prerequisites before you install Opsview Monitor.
-
Learn how to install Opsview Monitor and its components.
-
If you have customised your Apache configuration, you must convert and rewrite the rules. More information on converting Apache Rewrite Rules to Nginx Rewrite Rules can be found in the NGINX documentation.
For major and minor version upgrades, please get in touch with your Account Manager to schedule the upgrade. You can also reach out to our technical team through the Support Portal for assistance.
This document describes the steps required to upgrade an existing Opsview Monitor 6.5 or newer system running on either a single server instance or a distributed Opsview environment (with a remote database and slaves) to Opsview Monitor 6.8.
Warning: You must have upgraded to Opsview 6.5.x or above and perform the post-upgrade tasks including the Database Migration for SQL Strict Mode instructions, before attempting to upgrade to Opsview 6.8.x or above. If the database migration has not been completed, the upgrade will be cancelled with a fatal warning.
Depending on the size and complexity of your current Opsview Monitor system, this process may take between a few hours to a full day. This includes the following processes:
-
Back up your Opsview data.
-
Upgrade Opsview Deploy.
-
Run deployment process.
-
Verify the started processes.
-
Apply changes in Opsview Monitor.
For guidance on upgrading, you can watch the recorded video about moving from Opsview 5.x to 6.x.
Upgrade process
We recommend you update all your hosts to the latest OS packages before upgrading Opsview Monitor. Also, ensure that you completed the post-upgrade tasks including Database Migration for SQL Strict Mode.
Minor upgrades
When performing any upgrade, for example from 6.7.x to newer versions, it is advisable to take a backup of your system and therefore this is why the minor upgrade steps mirror that of the main upgrade steps.
We advise that you check what has changed through the versions in the ITRS Opsview 6.x Release Notes.
Once your system is backed up, the process will be based on the Upgrading: Automated section.
Activation key
Ensure you have your activation key for your system. Please contact Opsview Support if you have any issues,
Back up your Opsview data and system
Please refer to the Common Tasks page for more information.
Run the below command as root which will back up all databases on the server:
# mysqldump -u root -p --add-drop-database --extended-insert --opt --all-databases | gzip -c > /tmp/databases.sql.gz
The MySQL root user password can be found in /opt/opsview/deploy/etc/user_secrets.yml
.
Ensure you copy your database dump (/tmp/databases.sql.gz
in the above command) to a secure location.
Opsview Deploy
Upgrading to a new version of Opsview Monitor requires the following steps:
-
Add the package repository for the new version of Opsview Monitor.
-
Install the latest Opsview Deploy (
opsview-deploy
) package. -
Install the latest Opsview Python (
opsview-python3
) package. -
Re-run the installation playbooks to upgrade to the new version.
Once the upgrade has completed, all hosts managed by Opsview Deploy will have been upgraded to the latest version of Opsview Monitor.
Warning: Running the curl
commands will start the upgrade process so only run them when you want to upgrade Opsview.
Upgrading: Automated
-
Configure the correct Opsview Monitor package repository and update
opsview-deploy
to the corresponding version by running the command: -
Validate if your system is ready for upgrading, and set up python on all systems (installing if needed) by running the command:
-
If you use
opsview-results-exporter
, you should upgrade this packages first:-
For Debian and
:apt install opsview-results-exporter
-
For
, RHEL, and OEL:yum install opsview-results-exporter
-
-
Continue to upgrade your system by running this command:
curl -sLo- https://deploy.opsview.com/6.x | sudo bash -s -- --only repository,bootstrap
You must replace 6.x
with the correct version you want to upgrade to.
root:~# cd /opt/opsview/deploy root:/opt/opsview/deploy# ./bin/opsview-deploy lib/playbooks/check-deploy.yml
root:/opt/opsview/deploy# ./bin/opsview-deploy lib/playbooks/setup-everything.yml
Once completed, continue with Post upgrade process.
Upgrading: Manual
Amend your Opsview repository configuration to point to the 6.8 release.
For CentOS/RHEL/OL:
Check if the contents of /etc/yum.repos.d/opsview.repo
matches the following, paying special attention to the version number specified within the baseurl
line:
[opsview] name = Opsview Monitor baseurl = https://downloads.opsview.com/opsview-commercial/6.x/yum/rhel/$releasever/$basearch enabled = yes gpgkey = https://downloads.opsview.com/OPSVIEW-RPM-KEY.asc
You must replace 6.x
with the correct version you want to upgrade to.
For Debian/Ubuntu:
Check if the contents of /etc/apt/sources.list.d/opsview.list
matches the following, paying special attention to the version number specified within the URL. You should replace xenial
with your OS name (as per other files within the same directory).
deb https://downloads.opsview.com/opsview-commercial/6.x/apt xenial main
Update Opsview Deploy
Run the command below for CentOS/RHEL/OL.
yum makecache fast yum install opsview-deploy
Run the command below for Debian/Ubuntu.
apt-get update apt-get install opsview-deploy
Pre-deployment checks
Before running opsview-deploy
, we recommend that you check the following list of items.
Manual checks
What | Where | Why |
---|---|---|
All YAML files follow correct YAML format. | opsview_deploy.yml , user_*.yml |
Each YAML file is parsed each time opsview-deploy runs. |
All hostnames are FQDNs. | opsview_deploy.yml
|
If Opsview Deploy cannot detect the host's domain, the fallback domain opsview.local will be used instead. |
SSH user and SSH port have been set on each host. | opsview_deploy.yml
|
If these are not specified, the default SSH client configuration will be used instead. |
Any host-specific vars are applied in the host's vars in opsview_deploy.yml . |
opsview_deploy.yml , user_*.yml |
Configuration in user_*.yml is applied to all hosts. |
An IP address has been set on each host. | opsview_deploy.yml
|
If no IP address is specified, the deployment host will try to resolve each host every time. |
All necessary ports are allowed on local and remote firewalls. | All hosts | Opsview requires various ports for inter-process communication. See Ports. |
If you have rehoming. | user_upgrade_vars.yml
|
Deploy now configures rehoming automatically. See Rehoming. |
If you have Ignore IP in Authentication Cookie enabled. | user_upgrade_vars.yml
|
Ignore IP in Authentication Cookie is now controlled in Deploy. See Rehoming. |
Webserver HTTP/HTTPS preference declared | user_vars.yml
|
In Opsview6, HTTPS is enabled by default, to enforce HTTP-only then you need to set opsview_webserver_use_ssl: False . See opsview-web-app. |
Example of opsview-deploy.yml
:
--- orchestrator_hosts: # Use an FQDN here my-host.net.local: # Ensure that an IP address is specified ip: 10.2.0.1 # Set the remote user for SSH (if not default of 'root') ssh_user: cloud-user # Set the remote port for SSH (if not default of port 22) ssh_port: 9022 # Additional host-specific vars vars: # Path to SSH private key ansible_ssh_private_key_file: /path/to/ssh/private/key
Automated checks
Opsview Deploy can also look for (and resolve some) issues automatically. Before executing setup-hosts.yml
or setup-everything.yml
, run the check-deploy.yml
playbook. Beginning Opsview 6.6.x, this playbook will additionally set up Python on all systems used:
root:~# cd /opt/opsview/deploy root:/opt/opsview/deploy# ./bin/opsview-deploy lib/playbooks/check-deploy.yml
If any potential issues are detected, a REQUIRED ACTION RECAP
will be added to the output when the play finishes.
Check | Notes or limitations | Severity |
---|---|---|
Deprecated variables | Checks for: opsview_domain , opsview_manage_etc_hosts . |
MEDIUM
|
Connectivity to EMS server | No automatic detection of EMS URL in opsview.conf overrides. |
HIGH
|
Connectivity to Opsview repository | No automatic detection of overridden repository URLs. | HIGH
|
Connectivity between remote hosts | Only includes LoadBalancer ports. Erlang distribution ports, for example, are not checked. | MEDIUM
|
FIPS crypto enabled | Checks value of /proc/sys/crypto/fips_enabled . |
HIGH
|
SELinux enabled | setup-hosts.yml , if necessary. |
will be set to permissive mode later on in the process by LOW
|
Unexpected umask | Checks umask in /bin/bash for root and nobody users. Expects either 0022 or 0002 . |
LOW
|
Unexpected STDOUT starting shells | Checks for any data on STDOUT when running /bin/bash -l. . |
LOW
|
Availability of SUDO | Checks whether Ansible can escalate permissions (using sudo). | HIGH
|
When a check is failed, an 'Action' is generated. Each of these actions is formatted and displayed when the play finishes and, at the end of the output, sorted by their severity.
The severity levels are:
Severity | Description |
---|---|
HIGH
|
Will certainly prevent Opsview from installing or operating correctly. |
MEDIUM
|
May prevent Opsview from installing or operating correctly. |
LOW
|
Unlikely to cause issues but may contain useful information. |
By default, the check_deploy
role will fail if any actions are generated with MEDIUM
or HIGH
severity. To modify this behaviour, set the following in user_vars.yml
:
check_action_fail_severity: MEDIUM
The actions at this severity or higher will result in a failure at the end of the role.
The following example shows the two MEDIUM
severity issues generated after executing check-deploy
playbook.
REQUIRED ACTION RECAP ************************************************************************************************************************************************************************************************************************** [MEDIUM -> my-host] Deprecated variable: opsview_domain | To set the host's domain, configure an FQDN in opsview_deploy.yml. | | For example: | | >> opsview-host.my-domain.com: | >> ip: 1.2.3.4 | | Alternatively, you can set the domain globally by adding opsview_host_domain to your user_*.yml: | | >> opsview_host_domain: my-domain.com [MEDIUM -> my-host] Deprecated variable: opsview_manage_etc_hosts | To configure /etc/hosts, add opsview_host_update_etc_hosts to your user_*.yml: | | >> opsview_host_update_etc_hosts: true | | The options are: | - true Add all hosts to /etc/hosts | - auto Add any hosts which cannot be resolved to /etc/hosts | - false Do not update /etc/hosts Thursday 21 February 2019 17:27:31 +0000 (0:00:01.060) 0:00:01.181 ***** =============================================================================== check_deploy : Check deprecated vars in user configuration ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 1.06s check_deploy : Check for 'become: yes' -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 0.03s *** [PLAYBOOK EXECUTION SUCCESS] **********
Run Opsview Deploy
-
Run the command below to validate if your system is ready for upgrading:
-
If you use
opsview-results-exporter
, you need to upgrade this package first.-
For Debian/
:apt install opsview-results-exporter
-
For
/RHEL/OEL:yum install opsview-results-exporter
-
-
Run the command below to continue the upgrade:
root:~# cd /opt/opsview/deploy root:/opt/opsview/deploy# ./bin/opsview-deploy lib/playbooks/check-deploy.yml
root:/opt/opsview/deploy# ./bin/opsview-deploy lib/playbooks/setup-everything.yml
Post upgrade process
As part of the upgrade process, Opsview Deploy overwrites the contents of the configuration files for snmpd
and snmptrapd
. If Deploy detects that the file it is overwriting had changes made to it, the configuration file will be backed up and labelled with a timestamp while the new configuration replaces it.
A similar message below will display at the end of a run of Opsview Deploy indicating that the configuration file in the message has been overwritten.
REQUIRED ACTION RECAP ************************************************************************* [MEDIUM -> opsview-orch] SNMP configuration file '/etc/snmp/snmpd.conf' has been overwritten | The SNMP configuration file '/etc/snmp/snmpd.conf', has been overwritten by Opsview Deploy. | | The original contents of the file have been backed up and can be found in | '/etc/snmp/snmpd.conf.15764.2020-12-16@12:31:32~' | | Custom snmpd/snmptrapd configuration should be moved to the custom | configuration directories documented in the new file.
To avoid this in future, all custom snmpd
and snmptrapd
configuration should instead be put in new xxxx.conf
files in the following directories respectively:
-
/etc/snmp/snmpd.conf.d
-
/etc/snmp/snmptrapd.conf.d
Verify the started process
-
To verify that all Opsview processes are running, run:
-
If the
opsview-agent
process is not running after deployment, run: -
If watchdog is not running after deployment, run:
/opt/opsview/watchdog/bin/opsview-monit summary
systemctl stop opsview-agent systemctl start opsview-agent /opt/opsview/watchdog/bin/opsview-monit start opsview-agent /opt/opsview/watchdog/bin/opsview-monit monitor opsview-agent
/opt/opsview/watchdog/bin/opsview-monit
Upgrade Opspacks
-
Run the command below as the
opsview
user to update and add in new Opspacks for the version of Opsview you are upgrading: -
Run the following as the
root
user: -
If you have amended your configuration to move the Opsview Servers (Orchestrator, Collectors, and Database) into a Hostgroup (other than Monitoring Servers), you must ensure you have the playbook variable
opsview_monitoring_host_group
set in/opt/opsview/deploy/etc/user_vars.yml
, such as: -
If you receive Service Check alerts:
CRITICAL: Could Not Connect to localhost Response Code: 401 Unauthorized
, then the above step has not been run.
tar -zcvf /var/tmp/`date +%F-%R`_opspack.bak.tar.gz /opt/opsview/monitoringscripts/opspacks/* /opt/opsview/coreutils/bin/import_all_opspacks -f
This may take some time to run.
cd /opt/opsview/deploy ./bin/opsview-deploy lib/playbooks/setup-monitoring.yml
opsview_monitoring_host_group: New Group with Opsview Servers