Updating LogScale

You should always check the Release Notes for all versions between the version of LogScale you are currently running and the version you are installing.

Important

When upgrading, all notes in the cluster should be updated to the same version. Although running different versions on different nodes may work, it is not a supported deployment configuration.

The recommended method for updating a whole LogScale requires updating the whole cluster at the same time to the new version. This requires downtime for the cluster as the entire will need to be offline to complete the upgrade. The basic process is as follows:

  1. Block queries before upgrading.

  2. If you want to upgrade individual nodes, ensure that you do this only ingestonly and httponly nodes.

  3. Shut down each node

  4. Updat each node to the new version of LogScale

  5. Start up each node

Updating a Node

Updating LogScale is a matter of stopping the old running version and starting the new version, on top of the same data directories, and with the same configuration, in most cases. Some releases have instructions in their release notes on required steps to update, but most releases should run on top of the previous one.

We recommend that you make a backup copy of the file $DATA_DIR/humio-data/global-data-snapshot.json before you update — preferably after shutting down the old version but before starting the new one. This file can be used to roll back to the previous version if necessary.

Updating LogScale Running in Docker

When using Docker images to run LogScale, update by pulling the latest version of the Docker image and running it using the same Docker arguments as previously.

All LogScale images are tagged with a version:

  • latest — the latest stable version of LogScale

  • stable — the latest stable version of LogScale

  • preview — the latest preview version of LogScale

In the example below, latest is used as version to update the single image Docker version, where everything is inside a single Docker container:

  1. Stop the docker instance:

    shell
    $ docker stop humio
  2. Remove the docker instance:

    shell
    $ docker rm humio 
  3. Pull the latest version:

    shell
    $ docker pull humio/humio:latest
    shell
    $ docker pull humio/humio-core:latest
  4. Restart the the instnace with the updated docker image:

    shell
    $ docker run \
     -v $YOUR_LOGSCALE_URL_DATA_DIR:/data \
     --net=host \
     --detach \
     --restart=always \
     --name=humio \
     --stop-timeout 300 \
     --env-file=$PATH_TO_CONFIG_FILE humio/humio
    shell
    $ docker run \
     -v $YOUR_LOGSCALE_URL_DATA_DIR:/data \
     --net=host \
     --detach \
     --restart=always \
     --name=humio \
     --stop-timeout 300 \
     --env-file=$PATH_TO_CONFIG_FILE humio/humio-core

Updating LogScale Running from tar.gz

When using tar.gz downloads to run LogScale, update by following these steps.

  1. Download the tarball.

  2. Terminate LogScale:

    shell
    $ cd /var/humio
    $ ps -ef|grep humio|awk '{ print $1 }'|xargs kill 
  3. Delete humio/bin and humio/libs directories:

    shell
    $ rm -rf bin libs
  4. Extract the new tarball:

    shell
    $ cd /var
    $ tar zxf server-1.156.tar.gz
  5. Restart the service. If done manually from the terminal, execute the following command (does not apply for LogScale instances run by services like systemd):

    shell
    $ cd /var/humio
    $ ./bin/humio-server-start.sh

Updating LogScale Running in Kubernetes

If running the LogScale Operator, see the Upgrading LogScale Operator on Kubernetes documentation.

If running the LogScale Helm Chart, see the Upgrading with Kubernetes section of the Helm Chart documentation page.

Warning

This is generally not recommended for version updates but is convenient for configuration changes.

  1. Update the values.yaml file with the new configuration.

  2. Update the statefulset/pods with the new configuration by running:

    logscale
    helm upgrade --values values.yaml humio humio/humio-helm-charts