README 未给出具体启动命令与默认端口,需查阅官方文档;集群版与单机版部署方式不同,选型前需确认;查询语法为 LogsQL,从 SQL 或 LogQL 迁移需借助转换工具
VictoriaLogs
VictoriaMetricsApache-2.0活跃维护高性能日志数据库,能轻松处理 TB 级日志数据,可作为 Loki、Elasticsearch 的轻量替代,适合可观测性和 SIEM 场景。
Fast and easy to use database for logs, which can efficiently handle terabytes of logs
docker pull victoriametrics/victoria-logsREADME 未说明具体硬件要求,仅提到可从很小规模扩展到每天处理 TB 级日志的大型部署
高性能轻量零配置的日志数据库,单机或集群都能扛住每天TB级日志量
高性能日志数据库,能轻松处理 TB 级日志数据,可作为 Loki、Elasticsearch 的轻量替代,适合可观测性和 SIEM 场景。
核心能力
- 零配置、schema-free,写入日志无需预先定义字段结构
- 同时提供单机版和集群版,支持垂直与水平扩展
- 内置 Web UI 与 Grafana 插件,可直接查询浏览日志
- 提供 LogsQL 查询语言,并支持从 SQL、LogQL 转换
- 以二进制发布和 Docker 镜像分发,部署方式简单
容易踩的坑
- v1.52.12026-10-01 · 2026-10-01 18:15 UTC
查看更新说明
Released at 2026-10-02
v1.52.x is a line of LTS releases. It contains important up-to-date bugfixes for VictoriaLogs enterprise. All these fixes are also included in the latest community release. The v1.52.x line will be supported for at least 12 months since v1.52.0 release
-
SECURITY: upgrade Go builder from Go1.26.5 to Go1.26.8. See the list of issues addressed in Go1.26.6, Go1.26.7 and Go1.26.8.
-
SECURITY: deletion API: restrict the
/delete/run_taskendpoint to thePOSTmethod only in order to prevent some SSRF-based log deletion attacks. See #1635. -
BUGFIX: Loki data ingestion: properly ignore structured metadata with empty values in protobuf requests. Previously, valid requests containing structured metadata with empty values were rejected. See #1757.
-
BUGFIX: metrics: prevent
vl_streams_created_totalfrom decreasing when an old daily partition is removed. The metric now increases until restart, so Prometheusincrease()no longer reports false spikes after old partitions are deleted. See #1461. -
BUGFIX: syslog data ingestion and
unpack_syslogpipe: prevent a panic when an incomplete RFC5424 structured data parameter ends immediately after=. This could occur both when ingesting syslog messages and when parsing already stored messages withunpack_syslog. See #1786. -
BUGFIX: syslog data ingestion: rename the misspelled
vl_udp_reqests_totalmetric tovl_udp_requests_total, so it matches the docs. -
BUGFIX: cluster version (vlinsert): now drains buffered logs to
vlstoragenodes on graceful shutdown instead of dropping them, bounded by the new-insert.drainTimeoutcommand-line flag (default5s). See #1572. -
BUGFIX: cluster version: evenly spread rerouted data across available
vlstoragenodes. Previously, healthy nodes adjacent to unavailable nodes in the-storageNodelist could receive much more data, resulting in uneven resource usage. See #1548. -
BUGFIX: cluster version: properly cancel queries already running on
vlstoragewhen the corresponding query is canceled or times out onvlselect. Previously,vlstoragecould fail to detect the disconnectedvlselect, causing these queries to continue running and waste CPU and disk IO. See [#1672](https://github.com/VictoriaMetrics/VictoriaLogs/issues
-
- v1.53.0最新正式版2026-10-01 · 2026-10-01 11:20 UTC
Released at 2026-10-01
▶️ Watch the video overview on YouTube
Update note 1: the
/internal/force_merge,/internal/force_flush,/internal/log_new_streamsand/internal/partition/*HTTP endpoints now require thePOSTmethod for security reasons, in order to prevent GET-based SSRF attacks. Update any scripts or automation calling these endpoints viaGETto usePOST. See #1635.Update note 2: requests to
/select/vmalert/-/reloadand other/select/vmalert/*paths ending with/configor/reloadnow require the-httpAuth.*credentials for security reasons. Previously, such requests were proxied to vmalert without checking the credentials. Add the credentials to any scripts calling these paths. See VictoriaMetrics#11548.-
SECURITY: upgrade Go builder from Go1.26.5 to Go1.27.1. See the list of issues addressed in Go1.26.6, Go1.27 release notes and the list of issues addressed in Go1.27.1.
-
SECURITY: deletion API: restrict the
/delete/run_taskendpoint to thePOSTmethod only in order to prevent some SSRF-based log deletion attacks. See #1635. -
FEATURE: support for accepting HTTP requests over Unix domain socket via
-httpListenAddr=unix:/path/to/socketcommand-line flag. The socket file permissions are determined by the umask of the process. See these docs and #1618. -
FEATURE: deletion API: add the
-deleteAuthKeycommand-line flag for protecting the/delete/*endpoints with a dedicatedauthKey. This allows restricting who can delete logs independently of-httpAuth.*. See #1749. -
FEATURE: cluster version: apply
-search.logSlowQueryDurationtovlstoragenodes too, so slow queries are logged, along with thewaitDuration, by thevlstoragenode which executed them and not only by the coordinatingvlselectnode. See #1712. Thanks to @shraddhaag for the pull request #1740. -
FEATURE: cluster version: optimize queries, which return the limited number of log entries with the biggest timestamps on the selected time range. Web UI usually executes such queries. See #1602.
-
FEATURE: dashboards/cluster, dashboards/single, and dashboards/vlagent: add
Fsync avg durationpanel to the Troubleshooting section of the single-node, cluster, and vlagent dashboards. This panel shows averagefsynclatency to help identify slow storage persistence. See [VictoriaMetrics#10432
-
- v1.51.12026-08-18 · 2026-08-18 18:29 UTC
查看更新说明
Released at 2026-08-18
-
SECURITY: upgrade Go builder from Go1.26.4 to Go1.26.6. See the list of issues addressed in Go1.26.5 and the list of issues addressed in Go1.26.6.
-
BUGFIX: cluster version: allow
vlstoragev1.51.1 to accept requests fromvlselectversions v1.38.0 through v1.51.0. This allows upgradingvlstoragenodes from older versions to v1.51.1 whilevlselectnodes remain on the corresponding older version, and then upgrading thevlselectnodes to v1.51.1, without query downtime caused by an internal protocol mismatch. Starting from v1.52.0,vlstorageno longer accepts requests fromvlselectv1.50.0 or earlier. See #1665.
-
- v1.52.02026-07-16 · 2026-07-16 02:38 UTC
查看更新说明
Released at 2026-07-16
Update note 1: the base Docker image has been changed from Alpine to distroless in order to reduce an attack surface (The
distrolessbase image doesn't contain any executables contrary to the Alpine base image). For debugging VictoriaLogs containers in Kubernetes it is recommended to usekubectl debug.Update note 2: VictoriaLogs no longer provides a Docker image for the
linux/386platform because thedistrolessbase image doesn't support this platform. Executable files forlinux/386platform are still published at the VictoriaLogs releases page.Update note 3: VictoriaLogs cluster users upgrading from versions v1.38.0 through v1.50.0 should first upgrade all
vlstoragenodes to v1.51.1, then upgrade allvlselectnodes to v1.51.1, and only then continue upgrading the cluster to v1.52.0. This avoids query downtime caused by incompatible internal protocol versions.-
SECURITY: upgrade Go builder from Go1.26.4 to Go1.26.5. See the list of issues addressed in Go1.26.5.
-
FEATURE: switch base Docker image from Alpine to distroless for VictoriaLogs,
vlagentandvlogscli. This reduces the image size and attack surface. See #1228. -
FEATURE: LogsQL: add
json_array_concatpipe for joining JSON array items stored in the given log field into a string with the given delimiter. See #712. -
FEATURE: data ingestion: adjust
_streamfield value according to the actual log fields. This simplifies importing of previously modified VictoriaLogs-exported data. See #1122. -
FEATURE: vlagent: add
-remoteWrite.basicAuth.usernameFilecommand-line flag for dynamically reloading basic auth username for the corresponding-remoteWrite.urlfrom the given file. See operator#2371. -
FEATURE: web UI: improve hits chart tooltip timestamp display by hiding excessive precision. See #1533.
-
FEATURE: web UI: add Quick start examples to autocomplete suggestions and show recent query history items alongside field and value suggestions. See #1498.
-
FEATURE: web UI: persist query history in browser local storage and show the last run time for history items. See #1498.
-
FEATURE: web UI: improve hits chart interval selector by using curated interval options and choosing a more suitable default step for the selected time
-
- v1.51.02026-06-17 · 2026-06-17 05:16 UTC
查看更新说明
Released at 2026-06-17
Update Note 1: LogsQL: disallow using
filterpipes without thefilterprefix if the filter doesn't start withfield_name:prefix. For example,foo | baris disallowed now. It must be rewritten to one of the following equivalents:foo bar,foo | "bar",foo | _msg:barorfoo | filter bar. This reduces the chances of incorrectly written queries like in the #1454. However, this may be a breaking change if you have queries that filter without thefilterprefix, such as... | !foo,... | {host="x"},... | >5or... | =foo- these now fail withunexpected pipeand must add thefilterprefix (e.g.... | filter !foo).Update Note 2: cluster version: this release bumps the internal
vlselectandvlstorageprotocol version (see the queries-longer-than-10MB fix in #1462). A version mismatch betweenvlselectandvlstoragefails the request, so queries are expected to fail during a rolling upgrade while the cluster runs mixed versions. All the cluster components must be upgraded to this release or newer.Update Note 3: VictoriaLogs cluster users upgrading from versions v1.38.0 through v1.50.0 should upgrade to v1.51.1 instead of this release. Upgrade all
vlstoragenodes first, and then upgrade allvlselectnodes. This avoids query downtime caused by incompatible internal protocol versions.-
SECURITY: upgrade Go builder from Go1.26.2 to Go1.26.4. See the list of issues addressed in Go1.26.3 and the list of issues addressed in Go1.26.4.
-
FEATURE: vmalert: add
-vmalert.proxyURLcommand-line flag, which allows proxying/select/vmalert/*requests from VictoriaLogs tovmalert. See #90 and these docs. -
FEATURE: metrics: expose filesystem type for storage paths via the
vm_fs_infometric. This helps identify filesystem-specific issues during troubleshooting. See #1435. -
FEATURE: LogsQL: allow putting
;in the end of the query. This is useful for detecting the end of multi-line query. -
FEATURE: LogsQL: add
coalescepipe, which returns the first non-empty value from the given list of fields. This is useful when the same value may be stored under different field names across logs, such asuser_id,usernameoremail. The pipe can also return a default value when all the fields are empty. See #690. Thanks to @warkadiusz for the pull request #904. -
FEATURE: querying API: allow using
limitandoffsetpipes after thestatspipe in queries to [/select/logsql/stats_query
-
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
VictoriaLogs
VictoriaLogs is a high-performance, lightweight, zero-config, schema-free database for logs that is easy to use and scales both vertically and horizontally, from very small setups to large-scale deployments handling terabytes per day.
Both the single-node and cluster versions of VictoriaLogs are open source and free to use.
Here are some resources to help you get started with VictoriaLogs:
- Playgrounds: built-in web UI, Grafana plugin for VictoriaLogs, SQL to LogsQL, LogQL to LogsQL
- Documentation
- Available: Binary releases, docker images Docker Hub and Quay, Source code
- Deployment types: Single-node version, Cluster version
- Changelog: CHANGELOG, and How to upgrade
- Community: Slack, X (Twitter), LinkedIn, YouTube
Community and contributions
Feel free asking any questions regarding VictoriaLogs:
If you like VictoriaLogs and want to contribute, then please read these docs.
Thank you for your cooperation!
Join the team
We're hiring engineers who share the same development goals as we do: practical improvements, simple solutions, and happy users.
Already contributing to VictoriaMetrics? We'd be especially happy to hear from you.