- Add links to relevant docs into descriptions for every -kafka.* and -gcp.pubsub.* command-line flags. - Wait until message processing goroutines are stopped before returning from gcppubsub.Stop(). - Prevent from multiple calls to Init() without Stop(). - Drop message if tenantID cannot be parsed properly. - Take into account tenantID for all the supported message formats. - Support gzip-compressed messages for graphite format. - Use exponential backoff sleep when the message cannot be pushed to remote storage systems because of disabled on-disk persistence - https://docs.victoriametrics.com/vmagent.html#disabling-on-disk-persistence - Unblock from sleep as soon as Stop() is called. Previously the sleep could take up to 2 seconds after Stop() is called. - Remove unused globalCtx and initContext from app/vmagent/remotewrite/gcppubsub - Mention Google PubSub support at docs/enterprise.md - Make Google PubSub docs more clear at docs/vmagent.md This is a follow-up for commits 115245924a5f096c5a3383d6cc8e8b6fbd421984 and e6eab781ce42285a6a1750dc01eba6801dd35516 . Updates https://github.com/VictoriaMetrics/VictoriaMetrics-enterprise/pull/717 Updates https://github.com/VictoriaMetrics/VictoriaMetrics-enterprise/pull/713
13 KiB
sort | weight | title | menu | aliases | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
99 | 99 | VictoriaMetrics Enterprise |
|
|
VictoriaMetrics Enterprise
VictoriaMetrics components are provided in two kinds - Community edition and Enterprise edition.
VictoriaMetrics community components are open source and are free to use - see the source code and the license.
VictoriaMetrics Enterprise components are available in binary form at releases page
and at docker hub. Enterprise binaries and packages have enterprise
suffix in their names.
Valid cases for VictoriaMetrics Enterprise
The use of VictoriaMetrics Enterprise components 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 intereseted in such a contract.
-
Managed VictoriaMetrics is built on top of VictoriaMetrics Enterprise.
See these docs for details on how to run VictoriaMetrics enterprise.
VictoriaMetrics enterprise features
VictoriaMetrics Enterprise includes all the features of the community edition, plus the following additional features:
- Downsampling - this feature allows reducing storage costs and increasing performance for queries over historical data.
- Multiple retentions - this feature allows reducing storage costs by specifying different retentions for different datasets.
- Automatic discovery of vmstorage nodes -
this feature allows updating the list of
vmstorage
nodes atvminsert
andvmselect
without the need to restart these services. - Backup automation.
- Advanced per-tenant stats.
- Advanced auth and rate limiter.
- mTLS for cluster components.
- Kafka integration.
- Google PubSub integration.
- Multitenant support in vmalert.
- Ability to read alerting and recording rules from Object Storage.
- Ability to filter incoming requests by IP at vmauth.
- Anomaly Detection Service.
On top of this, Enterprise package of VictoriaMetrics includes the following important Enterprise 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.
Contact us via this page if you are interested in VictoriaMetrics Enterprise.
Running VictoriaMetrics Enterprise
VictoriaMetrics Enterprise components are available in the following forms:
Binary releases
It is allowed to run VictoriaMetrics Enterprise components in cases listed here.
Binary releases of VictoriaMetrics Enterprise are available at the releases page.
Enterprise binaries and packages have enterprise
suffix in their names. For example, victoria-metrics-linux-amd64-v1.95.1-enterprise.tar.gz
.
In order to run binary release of VictoriaMetrics Enterprise component, please download the *-enterprise.tar.gz
archive for your OS and architecture
from the releases page and unpack it. Then run the unpacked binary.
All the VictoriaMetrics Enterprise components prior v1.94.0
release require -eula
command-line flag to be passed to them.
This flag acknowledges that your usage fits one of the cases listed here.
The -eula
command-line flag is deprecated starting from v1.94.0
release in favor of new 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.-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.95.1/victoria-metrics-linux-amd64-v1.95.1-enterprise.tar.gz
tar -xzf victoria-metrics-linux-amd64-v1.95.1-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 Enterprise components in cases listed here.
Docker images for VictoriaMetrics Enterprise are available at VictoriaMetrics DockerHub.
Enterprise docker images have enterprise
suffix in their names. For example, victoriametrics/victoria-metrics:v1.95.1-enteprise
.
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.95.1-enteprise -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.95.1-enteprise -licenseFile=/path/to/vm-license
Example docker-compose configuration:
version: "3.5"
services:
victoriametrics:
container_name: victoriametrics
image: victoriametrics/victoria-metrics:v1.95.1
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 Enterprise components in cases listed here.
Helm charts for VictoriaMetrics Enterprise components are available here.
In order to run VictoriaMetrics 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 key in plain-text:
server:
image:
tag: v1.95.1-enterprise
license:
key: {BASE64_ENCODED_LICENSE_KEY}
In order to provide key via existing secret, the following values file is used:
server:
image:
tag: v1.95.1-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}
Kubernetes operator
It is allowed to run VictoriaMetrics Enterprise components in cases listed here.
VictoriaMetrics 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 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.95.1-enterprise
In order to provide 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.95.1-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}
See full list of CRD specifications here.
Monitoring license expiration
All the VictoriaMetrics Enterprise components expose the following metrics at the /metrics
page:
vm_license_expires_at
- license expiration date in unix timestamp formatvm_license_expires_in_seconds
- the number of seconds left until the license expires
Example alerts for vmalert based on these metrics:
{% raw %}
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."
{% endraw %}