Updating LogScale

This guide will take you through the steps required to update your LogScale cluster to a newer version.

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.

Data Migrations

Some versions are marked with Data Migrations indicating that LogScale's internal database will be migrated to a new schema. This is usually one way and that implies you cannot easily downgrade if you have issues with the new version.

Warning

If a version is marked as having data migrations, you will need to update all nodes at the same time, else you might corrupt the cluster's metadata. This means taking all nodes offline while updating. Hopefully all clients are configured with data retransmission, using FileBeat or something similar, so you should not see any data loss.

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.

logscale
$ docker stop humio 
| 
| true
$ docker rm humio 
| 
| true
$ docker pull humio/humio:latest
$ 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

Updating LogScale Running from tar.gz

When using tar.gz downloads from Maven download archives 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.137.0.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