It is recommended to read README and Key Concepts before you start working with VictoriaLogs.

How to install and run VictoriaLogs #

There are the following options exist:

Pre-built binaries #

Pre-built binaries for VictoriaLogs are available at the releases page. Just download archive for the needed Operating system and architecture, unpack it and run victoria-logs-prod from it.

For example, the following commands download VictoriaLogs archive for Linux/amd64, unpack and run it:

curl -L -O https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.0.0-victorialogs/victoria-logs-linux-amd64-v1.0.0-victorialogs.tar.gz
tar xzf victoria-logs-linux-amd64-v1.0.0-victorialogs.tar.gz
./victoria-logs-prod

VictoriaLogs is ready for data ingestion and querying at the TCP port 9428 now! It has no any external dependencies, so it may run in various environments without additional setup and configuration. VictoriaLogs automatically adapts to the available CPU and RAM resources. It also automatically setups and creates the needed indexes during data ingestion.

See also:

Docker image #

You can run VictoriaLogs in a Docker container. It is the easiest way to start using VictoriaLogs. Here is the command to run VictoriaLogs in a Docker container:

docker run --rm -it -p 9428:9428 -v ./victoria-logs-data:/victoria-logs-data \
  docker.io/victoriametrics/victoria-logs:v1.0.0-victorialogs

See also:

Helm charts #

You can run VictoriaLogs in Kubernetes environment with these Helm charts.

Building from source code #

Follow the following steps in order to build VictoriaLogs from source code:

  • Checkout VictoriaLogs source code. It is located in the VictoriaMetrics repository:

    git clone https://github.com/VictoriaMetrics/VictoriaMetrics
    cd VictoriaMetrics
    
  • Build VictoriaLogs. The build command requires Go 1.22.

    make victoria-logs
    
  • Run the built binary:

    bin/victoria-logs
    

VictoriaLogs is ready for data ingestion and querying at the TCP port 9428 now! It has no any external dependencies, so it may run in various environments without additional setup and configuration. VictoriaLogs automatically adapts to the available CPU and RAM resources. It also automatically setups and creates the needed indexes during data ingestion.

See also:

How to configure VictoriaLogs #

VictoriaLogs is configured via command-line flags. All the command-line flags have sane defaults, so there is no need in tuning them in general case. VictoriaLogs runs smoothly in most environments without additional configuration.

Pass -help to VictoriaLogs in order to see the list of supported command-line flags with their description and default values:

/path/to/victoria-logs -help

VictoriaLogs stores the ingested data to the victoria-logs-data directory by default. The directory can be changed via -storageDataPath command-line flag. See these docs for details.

By default VictoriaLogs stores log entries with timestamps in the time range [now-7d, now], while dropping logs outside the given time range. E.g. it uses the retention of 7 days. Read these docs on how to control the retention for the ingested logs.

It is recommended setting up monitoring of VictoriaLogs according to these docs.

See also:

Docker demos #

Here are a Docker-compose demos, which start VictoriaLogs and push logs to it via various log collectors:

You can use this Helm chart as a demo for running Fluentbit in Kubernetes with VictoriaLogs.