Upgrading Sensu

WARNING: Note that the biggest change in this release that may affect your deployment deals with our internal update to a newer Ruby. This means that plugins will have to be re-installed - and any old plugins will continue to persist on your filesystem.

Upgrading Sensu is usually a straightforward process. In most cases, upgrading Sensu and/or Sensu Enterprise only requires upgrading to the latest package. Certain versions of Sensu may include changes that are not backwards compatible and require additional steps be taken when upgrading.

Upgrading from Sensu < 0.27

The following documentation provides steps necessary when upgrading from a Sensu version < 0.27.

Stop Sensu services

The first step when upgrading Sensu from a release prior to 0.27 is stopping the Sensu services. All instances of sensu-client, sensu-server and sensu-api MUST be stopped before proceeding with the upgrade process.

For example:


sudo service sensu-server stop
sudo service sensu-api stop

Stopping services prior to upgrading from a Sensu version < 0.27 helps to avoid service management errors related to the transition from sysv init scripts to systemd unit files on platforms like Debian 8, Ubuntu 16.04 and Centos 7 or newer.

Update environment variables

As of Sensu 0.27 and later, the CONFIG_DIR environment variable has been renamed to CONFD_DIR.

If you have customized your Sensu installation using this environment variable, you may need to update one or more of the following files to reflect the change:

  • /etc/default/sensu
  • /etc/default/sensu-server
  • /etc/default/sensu-client
  • /etc/default/sensu-api
  • /etc/default/sensu-enterprise

TLS/SSL changes

When upgrading to Sensu 0.27 or later, please note that the OpenSSL libraries included in Sensu’s embedded Ruby environment have been upgraded from 1.0.1t to 1.0.2k. OpenSSL team ended support for 1.0.1 at the end of 2016, and plans to support 1.0.2 through 2019. See OpenSSL’s published release strategy for more detail.

Although this OpenSSL version change appears minor, it has been reported by some that upgraded Sensu processes are unable negotiate secure connections with their RabbitMQ brokers after upgrading. In many cases we find this is due to RabbitMQ running on old versions of Erlang (e.g. R16B03) which have known issues around TLS/SSL negotiation.

When upgrading from Sensu < 0.27 to 0.27 or later, please review the RabbitMQ “Which Erlang?” guidelines and compare these recommendations to your deployed RabbitMQ infrastructure. In brief, these guidelines specify Erlang 17 or newer for reliable TLS/SSL operation, and recommend Erlang 19.2 where possible.

Upgrading from Sensu < 0.17

The following documentation provides steps necessary when upgrading from a Sensu version < 0.17.

Stop Sensu services

The first step when upgrading Sensu from a release prior to 0.17 is stopping the Sensu services. All instances of sensu-server and sensu-api MUST be stopped before proceeding with the upgrade process.

For example:


sudo service sensu-server stop
sudo service sensu-api stop

Flush Redis

Sensu releases newer than 0.16 use a different Redis data structure, requiring Redis data to be flushed before upgrading.

The Redis CLI tool (redis-cli) can be used to issue the Redis command to flush the data currently stored in redis. Please run the following commands on your Redis server.

NOTE: If your Redis server uses a password (requirepass) you will need to run the Redis command AUTH your_redis_password prior to running FLUSHALL.


redis-cli
FLUSHALL

Upgrading the Sensu package

The following instructions assume that you have already installed Sensu and/or Sensu Enterprise by using the steps detailed in the Sensu Installation Guide.

NOTE: If your machines do not have direct access to the internet and cannot reach the Sensu software repositories, you must mirror the repositories and keep them up-to-date.

Sensu Core

Ubuntu/Debian


sudo apt-get update
sudo apt-get -y install sensu

CentOS/RHEL


sudo yum install sensu

Sensu Enterprise

Ubuntu/Debian


sudo apt-get update
sudo apt-get -y install sensu-enterprise

CentOS/RHEL


sudo yum install sensu-enterprise

Sensu Enterprise Dashboard

Ubuntu/Debian


sudo apt-get update
sudo apt-get -y install sensu-enterprise-dashboard

CentOS/RHEL


sudo yum install sensu-enterprise-dashboard

 Summary

Testing Prereleases