Upgrading Sensu Enterprise

In most cases, you can upgrade Sensu Enterprise by installing the latest package. Certain versions of Sensu Enterprise may include changes that are not backwards compatible and require additional steps be taken when upgrading.

Upgrading from Sensu Enterprise < 3.0

The following documentation provides steps necessary when upgrading from a Sensu Enterprise version prior to 3.0.

Changes in OpsGenie integration

As of June 30, 2018, OpsGenie has shut down their v1 API. Sensu Enterprise 3.0 updates the OpsGenie integration to use OpsGenie’s new v2 Alert API, necessitating a breaking change to Sensu Enterprise’s OpsGenie configuration specification.

WARNING: To continue using the Sensu Enterprise OpsGenie integration, you must upgrade to Sensu Enterprise 3.0 or later and update your Sensu Enterprise OpsGenie configuration.

Update OpsGenie configuration for responders

The OpsGenie v2 Alert API replaces the teams and recipients attributes with a new responders attribute. As a result you must upgrade your Sensu Enterprise configuration for OpsGenie in order to correctly route alerts using the new API.

Example OpsGenie configuration for Sensu Enterprise prior to 3.0:

{
  "opsgenie": {
    "api_key": "eed02a0d-85a4-427b-851a-18dd8fd80d93",
    "teams": ["ops", "web"],
    "recipients": ["afterhours"]
  }
}

Assuming afterhours is an escalation plan, the values supplied for teams and recipients above can be translated to the new responders attribute like so:

{
  "opsgenie": {
    "api_key": "eed02a0d-85a4-427b-851a-18dd8fd80d93",
    "responders": [
      {
        "type": "team",
        "name": "ops"
      },
      {
        "type": "team",
        "name": "web"
      },
      {
        "type": "escalation",
        "name": "afterhours"
      }
    ]
  }
}

As shown above, the responders attribute expects an array of hashes specifying the type and name for each object. Depending on the given type of a responder, the identifying attribute (e.g. name) may vary. Please see OpsGenie’s Alert API Migration Guide for more details.

Update OpsGenie configuration for overwrites_quiet_hours

Sensu Enterprise 3.0 updates the name of the overwrites_quiet_hours attribute to overwrite_quiet_hours. The singular form of this attribute is required to achieve the desired result of overriding alert filtering that would otherwise prevent OpsGenie from notifying recipient(s) during their configured quiet hours.

Example OpsGenie configuration for Sensu Enterprise 3.0:

{
  "opsgenie": {
    "api_key": "eed02a0d-85a4-427b-851a-18dd8fd80d93",
    "overwrite_quiet_hours": true
  }
}

Changes in Java package dependency

With the release of Sensu Enterprise 3.0 the sensu-enterprise package dependency on the Java Virtual Machine will change from OpenJDK 1.7 to OpenJDK 1.8. This dependency will typically be satisfied automatically by your distribution’s package management system, such as yum or apt.

NOTE: Users running Sensu Enterprise on RHEL/Centos 6 or similar distributions will need to install the Extra Packages for Enterprise Linux (EPEL) repository to provide OpenJDK version 1.8 when upgrading to Sensu Enterprise 3.0.

The aim of this change is to help our customers stay up-to-date with their chosen Linux distributions and remain in compliance with security policies.

Upgrading the Sensu Enterprise package

The following instructions assume that you have already installed Sensu Enterprise 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.

  1. Download the latest package.

    CentOS/RHEL:

    sudo yum install sensu-enterprise
    Ubuntu/Debian:
    sudo apt-get update
    sudo apt-get -y install sensu-enterprise

  2. Restart Sensu Enterprise:

    sudo systemctl restart sensu-enterprise
    NOTE: For Linux distributions using sysvinit, use sudo service sensu-enterprise restart.

  3. Use the Info API to confirm that Sensu Enterprise has upgraded to the latest version:

    curl -s http://127.0.0.1:4567/info | jq .