Opsview Knowledge Center

Upgrading from Opsview Monitor 6.0 Early Adopter

If you are running Opsview Monitor 6.0 EA where you have manually moved Opsview Components (other than the database and collector components) to a different server than the Master server, please contact our Customer Success Team for assistance.

Overview

This document describes the steps required to upgrade an existing Opsview Monitor 6.0 EA (Early Adopter) system running on a server to Opsview Monitor 6.0 - November 2018 release.

This process will upgrade an Opsview single-server or distributed Opsview environment with a remote database and collectors.

We will use Opsview Deploy to setup the new environment and will use a 6.0 EA distributed Opsview environment in this page as an example.

Summary of process

  • Back-up your Opsview data
  • Install Opsview Deploy
  • Configure passwords and secrets for the deployment
  • Configure deployment
  • Run deployment process
  • Verify processes started
  • Upgrade Opspacks
  • Apply changes in Opsview Monitor

Limitations

This document assumes the following:

  • Timeseries RRD is being used and not Timeseries InfluxDB

Upgrade process

Activation Key

Ensure you have your activation key for your system - contact Opsview Support if you have any issues.

Backup your Opsview data/system

Please refer to Common Tasks.

To ensure you select all the databases you need, you may wish to login to your database as the root user and see what databases you have

$ mysql -u root -p
mysql> show databases;

Now run the below command as root making sure to include any extra databases you may have. (for example, include jasperserver if it exists)

# mysqldump -u root -pPASSWORD --add-drop-database --extended-insert --opt --databases opsview runtime odw dashboard| gzip -c > /tmp/databases.sql.gz

Opsview Deploy

NOTE: These steps are specific to and necessary for upgrading from 6.0 EA to 6.0 AU

Run the following commands to get Opsview Deploy on your machine, first you should run the following command to ensure you have the AU repository added to your opsview.list or opsview.repo

curl -sLo- https://deploy.opsview.com/6 | sudo bash -s -- -O repo

To ensure Opsview Deploy achieves the desired result, you must have the latest version of opsview-python before continuing with Opsview Deploy. (version 6.0.0.20181113 or later)

# [CentOS/RHEL]
sudo yum install opsview-python
# [Debian/Ubuntu]
sudo apt update
sudo apt install opsview-python

Now run the following command to get the Opsview Deploy package downloaded and installed

curl -sLo- https://deploy.opsview.com/6 | sudo bash -s -- -O boot

You can verify the download of Opsview Deploy by checking inside the path /opt/opsview/deploy/

Configure passwords and secrets for the deployment

During the installation of opsview-deploy, the file /opt/opsview/deploy/etc/user_secrets.yml is automatically created containing a randomly-generated set of passwords and secret values. The following values need to be changed to match your existing EA installation:

  • opsview_admin_password: <password>
  • opsview_database_password: <password>
  • opsview_database_root_password: <password>
  • opsview_messagequeue_encoder_key: <Base64 string>

The opsview_messagequeue_encoder_key is held within the /opt/opsview/coreutils/etc/opsview.defaults file, displayed as "$encoder_key"

$ grep encoder /opt/opsview/coreutils/etc/opsview.defaults 
$encoder_key = "<key_requred>"

To obtain your opsview database password you may run the below and within the output, the line of "DBPASSWD=" will display the decrypted password

$ sudo su - opsview -c opsview.sh

In addition, remove and add one line within the configuration:

  • The password for the opsview_core_secure_wallet_key_hash may be found within /opt/opsview/coreutils/etc/sw.key:

Line to remove:

opsview_core_secure_wallet_key: <password>

Line to add:

opsview_core_secure_wallet_key_hash: <password>

The following values may be edited to match the passwords/values used in EA.

If new values are entered here, these will be used once Opsview has been upgraded to 6.0 November release:

    opsview_datastore_password: <password>
    opsview_erlang_cookie: <password>
    opsview_loadbalancer_stats_password: <password>
    opsview_auth_tkt_secret: <password>
    opsview_messagequeue_password: <password>
    opsview_orchestrator_password: <password>
    opsview_timeseries_password: <password>

The values for the registry are new in 6.0 AU and now require authentication.

Set new passwords for the two Opsview registry entries below:

    opsview_registry_password: <password>
    opsview_registry_root_password: <password>

If reporting and service desk connector modules are installed/licensed, then set new passwords for these also.
Use the following:

    opsview_reporting_database_password: <password>
    opsview_reporting_database_ro_password: <password>
    opsview_servicedesk_database_password: <password>

Your file will look quite simple, but must start with three hyphens at the top of the file as it is a yaml (".yml") file

root@<hostname>:/opt/opsview/deploy/etc# /opt/opsview/deploy/etc/user_secrets.yml
---
opsview_admin_password: <password>
...

Configure Opsview Deploy - single-server deployment

For a single-server deployment, copy the example single-server deployment configuration file by running:

cp /opt/opsview/deploy/etc/examples/opsview_deploy-01-xsmall.yml /opt/opsview/deploy/etc/opsview_deploy.yml

Edit /opt/opsview/deploy/etc/opsview_deploy.yml, and replace "opsview-uk-mst" with the hostname of your machine where Opsview is installed, and replace the IP address:

#
# Example Opsview deployment configuration.
#
# Single-server deployment.
#
---
orchestrator_hosts:
  opsview-uk-mst:
    ip: 10.2.14.8

Configure Opsview Deploy - multi-server deployment with a local database

For a multi-server deployment where the database is hosted locally on the master Opsview server, copy the example multi-server deployment configuration file by running:

cp /opt/opsview/deploy/etc/examples/opsview_deploy-02-small.yml /opt/opsview/deploy/etc/opsview_deploy.yml

Edit /opt/opsview/deploy/etc/opsview_deploy.yml:

  • replace "opsview-uk-mst" with the hostname of your machine where Opsview is installed and replace the IP address
  • replace "collectors-de" and "collectors-fr" with the cluster names as they exist in Opsview.
  • replace "opsview-de-1" and "opsview-fr-1" with the collector hostnames as they are addressed on the network and replace the IP addresses
  • remove everything to do with "database_hosts" (therefore the database host will default to the orchestrator)
#
# Example Opsview deployment configuration.
#
# Deployment with databases on orchestrator and 2 collectors.
#
---
orchestrator_hosts:
  opsview-uk-mst:
    ip: 10.2.14.8

collector_clusters:
  collectors-de:
    collector_hosts:
      opsview-de-1:
        ip: 10.12.0.9

  collectors-fr:
    collector_hosts:
      opsview-fr-1:
        ip: 10.7.0.9

Configure Opsview Deploy - multi-server deployment with a remote database

For a multi-server deployment where the database is hosted remotely on another database server, copy the example multi-server deployment configuration file by running:

cp /opt/opsview/deploy/etc/examples/opsview_deploy-02-small.yml /opt/opsview/deploy/etc/opsview_deploy.yml

Edit /opt/opsview/deploy/etc/opsview_deploy.yml:

  • replace "opsview-uk-mst" with the hostname of your machine where Opsview is installed and replace the IP address
  • replace "collectors-de" and "collectors-fr" with the cluster names as they exist in Opsview.
  • replace "opsview-de-1" and "opsview-fr-1" with the collector hostnames as they are addressed on the network and replace the IP addresses
  • replace "opsview-uk-db" with the database hostname as it is addressed on the network and replace the IP address
#
# Example Opsview deployment configuration.
#
# Deployment with a remote database and 2 collectors.
#
---
orchestrator_hosts:
  opsview-uk-mst:
    ip: 10.2.14.8

collector_clusters:
  collectors-de:
    collector_hosts:
      opsview-de-1:
        ip: 10.12.0.9

  collectors-fr:
    collector_hosts:
      opsview-fr-1:
        ip: 10.7.0.9

database_hosts:
  opsview-uk-db:
    ip: 10.2.14.190

Configure Opsview Deploy - all deployments

Modify /opt/opsview/deploy/etc/user_vars.yml, and replace the dummy key-value with the following entries:

opsview_software_key: <opsview_activation_key>
opsview_module_netaudit: True   # include this line to install the optional Opsview NetAudit module
opsview_module_reporting: True   # include this line to install the optional Opsview Reporting module
opsview_module_netflow: True   # include this line to install the optional Opsview Flow module
opsview_module_servicedesk_connector: True   # include this line to install the optional Opsview ServiceDesk Connector module

Run deployment

From /opt/opsview/deploy, run:

./bin/opsview-deploy lib/playbooks/setup-everything.yml

The deployment process may take several minutes to complete.

Verify processes started

To verify that all Opsview processes are running, run:

/opt/opsview/watchdog/bin/opsview-monit summary

If the opsview-agent process is not running after deployment, run:

/etc/init.d/opsview-agent stop
/etc/init.d/opsview-agent start
/opt/opsview/watchdog/bin/opsview-monit start opsview-agent

If watchdog is not running after deployment run:

/opt/opsview/watchdog/bin/opsview-monit

Upgrade Opspacks

Run the following as the "opsview" user:

/opt/opsview/coreutils/bin/install_all_opspacks -f -d /opt/opsview/monitoringscripts/opspacks
  • This may take a moment to run
  • If a permission denied error is received, ensure that all plugins directory and the plugins/opspacks beneath it are have ownership set as "root:opsview"
    • Likely to be /opt/opsview/monitoringscripts/etc/plugins

Apply Changes in Opsview

In the Opsview application UI, navigate to "Configure" - "Apply Changes", and run "Apply Changes".

Moving Database

If you wish to move your database to an infrastructure server, refer to Moving database.

Upgrading from Opsview Monitor 6.0 Early Adopter


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.