Skip to content

Installing log-store#

There are two ways to install log-store:

  1. The binary found on the download page
  2. Docker image found on Docker Hub

The sections below describe each method in more detail. Also check the Config File page, as it has information that applies to both install methods.

via Binary#

Because log-store is a single binary without any dependencies, there is no installation! Simply download the latest version of log-store, unzip it with gzip, and run it.

gzip -d log-store.gz
./log-store

Config File Location#

When log-store starts, it will look for a config file name log-store.toml. log-store will search the following locations, in order, for a config file:

  1. ./log-store.toml - the directory where log-store was run from
  2. /home/$USER/log-store.toml - the user director of the user that started log-store
  3. /etc/log-store/log-store.toml

You can specify an alternate location using the --config-file command line option; see Command Line Options.

via Docker#

Installing log-store via Docker Hub is as easy as issuing the following command:

docker run -d --stop-timeout 120 -v /path/to/data:/log_store_data -p 1234:1234 -p 8181:8181 --name log-store logstore/log-store:latest

The various command line arguments for Docker are explained below; full information found on the Docker site:

  • run tells Docker you want to run the log-store image
  • -d indicates the container should be run in the background
  • --stop-timeout 120 specifies Docker should wait 120 seconds while stopping log-store, before terminating the process. This is required because log-store must close all open indices. This usually only takes 30 seconds or so, but 120 seconds ensures everything is closed properly.
  • -v /path/to/data:/log_store_data maps a path on the host machine to the directory /log_store_data inside the container. This directory inside the container is the directory pre-configured for log-store to store its data.
  • -p 1234:1234 maps the host’s 1234 port to the container’s 1234 port. This is the configured port for ingesting logs.
  • -p 8181:8181 same as above, mapping the web server’s default port (8181) on the host to the container.
  • --name log-store assigns the name log-store to the container
  • logstore/log-store:latest runs the latest version of log-store from Docker Hub

The Docker image uses the same config file as the binary, so any of the above defaults can be modified.

Command Line Options#

log-store has the following command line options that can change how log-store works on a temporary basis. Most command line options can be made persistent by adding them to the config file.

To list all the command line options, simply run log-store with -h or --help.

  • --config-file specifies the location of the config file to use. If the config file is not found in one of the default locations, you must use the option to specify its location.
  • --license_file specifies the location of a license file to use. This is usually set in the config file, but can be changed temporarily. For more information see the section below on license files
  • --log-file specifies that logs generated by log-store should be saved in a file, instead of being printed to STDOUT, and saved in this file. This option can also be specified in the config file.
  • --json-logs forces log-store to generate logs in JSON. Care is needed when using this option if these logs are fed back into log-store, as you can cause a feedback loop! This option can also be specified in the config file.
  • --no-set-mem-limits by default log-store sets memory lock limits, which can be an issue inside of Docker containers. This command line options disables log-store from setting this value.
  • --no-set-file-limits by default log-store sets the limit on the number of open files. log-store uses a lot of files, so the default value is usually not enough. This option specifies that you do not want log-store changing this limit.

License File#

Currently, log-store does not require a license to run. However, if you run log-store without a license, the following restrictions are enforced:

  • You can only save a single alert and Python command
  • S3 storage is disabled
  • On-disk storage is set to 3 days

You are free to use log-store in non-production environments without a license for as long as you want. If you would like a 30-day unrestricted trial license, sign up here for free! If you plan on using it in production, then contact sales and obtain a license.

Warning

log-store licenses are opaque binary files that should not be modified. Doing so can render them unusable.

System Requirements#

log-store runs on any common Linux distribution that meets the following requirements:

  • 1 GB of RAM for the log-store page pool (see above). You can run log-store on less memory, but performance will suffer and the page pool might become exhausted.
  • Disk space to retain at least 1 day worth of logs.
  • A still maintained version of the Linux Kernel; preferably something in the 6.x.y release lineage.