VictoriaMetrics and VictoriaLogs components are provided in two kinds - Community edition and Enterprise edition .

VictoriaMetrics and VictoriaLogs community components are open source and are free to use:

Enterprise components of VictoriaMetrics and VictoriaLogs are available at the following places:

Enterprise executables and Docker images have enterprise suffix in their names and tags.

Valid cases for VictoriaMetrics Enterprise #

The use of Enterprise components of VictoriaMetrics and VictoriaLogs is permitted in the following cases:

  • Evaluation use in non-production setups. Please, request trial license here and then pass it via -license or -licenseFile command-line flags as described in these docs .

  • Production use if you have a valid enterprise contract or valid permit from VictoriaMetrics company. Please contact us via this page if you are interested in such a contract.

  • VictoriaMetrics Cloud is built on top of VictoriaMetrics Enterprise.

See these docs for details on how to run Enterprise components of VictoriaMetrics and VictoriaLogs.

VictoriaMetrics Enterprise features #

VictoriaMetrics Enterprise includes all the features of the community edition , plus the following additional features:

  • Stable releases with long-term support, which contains important bugfixes and security fixes. See these docs .
  • First-class consulting and technical support provided by the core VictoriaMetrics dev team.
  • Monitoring of monitoring - this feature allows forecasting and preventing possible issues in VictoriaMetrics setups.
  • Enterprise security compliance .
  • Prioritizing of feature requests from Enterprise customers.

On top of this, Enterprise package of VictoriaMetrics includes the following features:

Contact us via this page if you are interested in VictoriaMetrics Enterprise.

VictoriaLogs Enterprise features #

VictoriaLogs enterprise includes all the features of the community edition , plus the following additional features:

  • First-class consulting and technical support provided by the core VictoriaMetrics dev team.
  • Monitoring of monitoring - this feature allows forecasting and preventing possible issues in VictoriaMetrics setups.
  • Enterprise security compliance .
  • Prioritizing of feature requests from Enterprise customers.

On top of this, Enterprise package of VictoriaLogs includes the following features:

Contact us via this page if you are interested in VictoriaLogs Enterprise.

Running VictoriaMetrics Enterprise #

Enterprise components of VictoriaMetrics and VictoriaLogs are available in the following forms:

Binary releases #

It is allowed to run VictoriaMetrics and VictoriaLogs Enterprise components in cases listed here .

Binary releases of Enterprise components are available at the releases page for VictoriaMetrics and the releases page for VictoriaLogs . Enterprise binaries and packages have enterprise suffix in their names. For example, victoria-metrics-linux-amd64-v1.124.0-enterprise.tar.gz.

In order to run binary release of Enterprise component, please download the *-enterprise.tar.gz archive for your OS and architecture from the corresponding releases page and unpack it. Then run the unpacked binary.

All the Enterprise components of VictoriaMetrics and VictoriaLogs require specifying the following command-line flags:

  • -license - this flag accepts VictoriaMetrics Enterprise license key, which can be obtained at this page
  • -licenseFile - this flag accepts a path to file with VictoriaMetrics Enterprise license key, which can be obtained at this page . Use either -license or -licenseFile, but not both.
  • -licenseFile.reloadInterval - specifies the interval for checking the license file for updates. The default value is 1 hour. If the license file is updated, the new license key is read from the file.
  • -license.forceOffline - enables offline verification of VictoriaMetrics Enterprise license key. Contact us via this page if you need license key, which can be verified offline without the need to connect to VictoriaMetrics license server.

For example, the following command runs VictoriaMetrics Enterprise binary with the Enterprise license obtained at this page :

      wget https://github.com/VictoriaMetrics/VictoriaMetrics/releases/download/v1.124.0/victoria-metrics-linux-amd64-v1.124.0-enterprise.tar.gz
tar -xzf victoria-metrics-linux-amd64-v1.124.0-enterprise.tar.gz
./victoria-metrics-prod -license=BASE64_ENCODED_LICENSE_KEY
    

Alternatively, VictoriaMetrics Enterprise license can be stored in the file and then referred via -licenseFile command-line flag:

      ./victoria-metrics-prod -licenseFile=/path/to/vm-license
    

Docker images #

It is allowed to run VictoriaMetrics and VictoriaLogs Enterprise components in cases listed here .

Docker images for Enterprise components are available at VictoriaMetrics Docker Hub and VictoriaMetrics Quay . Enterprise docker images have enterprise suffix in their names. For example, victoriametrics/victoria-metrics:v1.124.0-enterprise.

In order to run Docker image of VictoriaMetrics Enterprise component, it is required to provide the license key via command-line flag as described here .

Enterprise license key can be obtained at this page .

For example, the following command runs VictoriaMetrics Enterprise Docker image with the specified license key:

      docker run --name=victoria-metrics victoriametrics/victoria-metrics:v1.124.0-enterprise -license=BASE64_ENCODED_LICENSE_KEY
    

Alternatively, the license code can be stored in the file and then referred via -licenseFile command-line flag:

      docker run --name=victoria-metrics -v /vm-license:/vm-license  victoriametrics/victoria-metrics:v1.124.0-enterprise -licenseFile=/path/to/vm-license
    

Example docker-compose configuration:

      version: "3.5"
services:
  victoriametrics:
    container_name: victoriametrics
    image: victoriametrics/victoria-metrics:v1.124.0
    ports:
      - 8428:8428
    volumes:
      - vmdata:/storage
      - /vm-license:/vm-license
    command:
      - "-storageDataPath=/storage"
      - "-licenseFile=/vm-license"
volumes:
  vmdata: {}
    

The example assumes that the license file is stored at /vm-license on the host.

Helm charts #

It is allowed to run VictoriaMetrics and VictoriaLogs Enterprise components in cases listed here .

Helm charts for Enterprise components are available here .

In order to run Enterprise helm chart it is required to provide the license key via license value in values.yaml file and adjust the image tag to the Enterprise one as described here .

Enterprise license key can be obtained at this page .

For example, the following values file for VictoriaMetrics single-node chart is used to provide the license key in plain-text:

      server:
  image:
    tag: v1.124.0-enterprise

license:
  key: {BASE64_ENCODED_LICENSE_KEY}
    

In order to provide the license key via existing secret, the following values file is used:

      server:
  image:
    tag: v1.124.0-enterprise

license:
  secret:
    name: vm-license
    key: license
    

Example secret with license key:

      apiVersion: v1
kind: Secret
metadata:
  name: vm-license
type: Opaque
data:
  license: {BASE64_ENCODED_LICENSE_KEY}
    

Or create secret via kubectl:

      kubectl create secret generic vm-license --from-literal=license={BASE64_ENCODED_LICENSE_KEY}
    

Note that license key provided by using secret is mounted in a file. This allows to perform updates of the license without the need to restart the pod.

Kubernetes operator #

It is allowed to run VictoriaMetrics and VictoriaLogs Enterprise components in cases listed here .

Enterprise components can be deployed via VictoriaMetrics operator . In order to use Enterprise components it is required to provide the license key via license field and adjust the image tag to the enterprise one.

Enterprise license key can be obtained at this page .

For example, the following custom resource for VictoriaMetrics single-node is used to provide the license key in plain-text:

      apiVersion: operator.victoriametrics.com/v1beta1
kind: VMSingle
metadata:
  name: example-vmsingle
spec:
  retentionPeriod: "1"
  license:
    key: {BASE64_ENCODED_LICENSE_KEY}
  image:
    tag: v1.124.0-enterprise
    

In order to provide the license key via existing secret, the following custom resource is used:

      apiVersion: operator.victoriametrics.com/v1beta1
kind: VMSingle
metadata:
  name: example-vmsingle
spec:
  retentionPeriod: "1"
  license:
    keyRef:
      name: vm-license
      key: license
  image:
    tag: v1.124.0-enterprise
    

Example secret with license key:

      apiVersion: v1
kind: Secret
metadata:
  name: vm-license
type: Opaque
data:
  license: {BASE64_ENCODED_LICENSE_KEY}
    

Or create secret via kubectl:

      kubectl create secret generic vm-license --from-literal=license={BASE64_ENCODED_LICENSE_KEY}
    

Note that license key provided by using secret is mounted in a file. This allows to perform updates of the license without the need to restart the pod. See full list of CRD specifications here .

FIPS Compatibility #

VictoriaMetrics Enterprise supports FIPS 140-3 compliant mode starting with version Available from v1.118.0 , using the Go FIPS 140-3 Cryptographic Module . This ensures all cryptographic operations use a validated FIPS module.

Builds are available for amd64 and arm64 architectures.

Example archive:

victoria-metrics-linux-amd64-v1.124.0-enterprise.tar.gz

Includes:

  • victoria-metrics-prod (standard)
  • victoria-metrics-fips (FIPS-compatible)

Example Docker image:

victoriametrics/victoria-metrics:v1.124.0-enterprise-fips – uses the FIPS-compatible binary and based on scratch image.

Monitoring license expiration #

All the VictoriaMetrics and VictoriaLogs Enterprise components expose the following metrics at the /metrics page:

  • vm_license_expires_at - license expiration date in unix timestamp format
  • vm_license_expires_in_seconds - the number of seconds left until the license expires

Example alerts for vmalert based on these metrics:

      groups:
  - name: vm-license
    # note the `job` label and update accordingly to your setup
    rules:
      - alert: LicenseExpiresInLessThan30Days
        expr: vm_license_expires_in_seconds < 30 * 24 * 3600
        labels:
          severity: warning
        annotations:
          summary: "{{ $labels.job }} instance {{ $labels.instance }} license expires in less than 30 days"
          description: "{{ $labels.instance }} of job {{ $labels.job }} license expires in {{ $value | humanizeDuration }}. 
            Please make sure to update the license before it expires."

      - alert: LicenseExpiresInLessThan7Days
        expr: vm_license_expires_in_seconds < 7 * 24 * 3600
        labels:
          severity: critical
        annotations:
          summary: "{{ $labels.job }} instance {{ $labels.instance }} license expires in less than 7 days"
          description: "{{ $labels.instance }} of job {{ $labels.job }} license expires in {{ $value | humanizeDuration }}. 
            Please make sure to update the license before it expires."