github VictoriaMetrics/VictoriaLogs v1.27.0

latest releases: v1.32.0, v1.31.0, v1.30.0...
27 days ago

Released at 2025-08-08

  • SECURITY: upgrade Go builder from Go1.24.5 to Go1.24.6. See the list of issues addressed in Go1.24.6.

  • SECURITY: upgrade base docker image (Alpine) from 3.22.0 to 3.22.1. See Alpine 3.22.1 release notes.

  • FEATURE: LogsQL: speed up execution of queries, which select big number of logs and end with | sort by (_time) desc limit N pipe. E.g. these queries return up to N logs with the biggest _time field values from big number of selected logs (tens of millions and more). See #46.

  • FEATURE: web UI: update legend behavior in hits chart. The menu now opens on left-click, and visibility actions are moved to menu items. See #58.

  • FEATURE: web UI: add the ability to show stream context per each log line. See #113.

  • FEATURE: web UI: improve visibility of the Query History button. See #540.

  • FEATURE: Syslog data ingestion: add an ability to record the remote IP address from the received syslog messages into the remote_ip log field. See these docs for details. Thanks to @biancalana for the pull request. See #40.

  • FEATURE: retention: support disk space percentage-based retention (-retention.maxDiskUsagePercent), which helps dynamically manage total disk space usage. Only one of -retention.maxDiskSpaceUsageBytes or -retention.maxDiskUsagePercent can be set; otherwise, the application will panic. See #513.

  • FEATURE: add an ability to dynamically attach and detach per-day partitions. This simplifies creating multi-tier storage schemes when recently ingested logs are stored on a fast storage (such as NVMe or SSD), while historical logs are gradually migrated to less expensive storage with bigger capacity (such as HDD). See these docs and #432.

  • FEATURE: querying: expose vl_storage_per_query_processed_blocks histogram, which shows the number of data blocks processed per every query. This histogram can be used for analysing query performance issues. See #45.

  • FEATURE: querying: expose histograms on the number of bytes read from disk for various data types per each query (see #45):

    • vl_storage_per_query_total_read_bytes - the total number of bytes read during query execition.
    • vl_storage_per_query_values_read_bytes - the number of bytes read for log field values.
    • vl_storage_per_query_timestamps_read_bytes - the number of bytes read for the _time field.
    • vl_storage_per_query_bloom_filters_read_bytes - the number of bytes read for bloom filters (bloom filters is built from words seen in log fields and are used for quick skipping of blocks without the given words.
    • vl_storage_per_query_block_headers_read_bytes - the number of bytes read for block headers (block headers contain various metainformation about data block).
    • vl_storage_per_query_columns_headers_read_bytes - the number of bytes read for columns headers (columns headers contain information about column names in every data block).
    • vl_storage_per_query_columns_header_indexes_read_bytes - the number of bytes read for columns header indexes (these indexes contain the location of the per-column information in the columns headers).
  • FEATURE: data ingestion: expose additional metrics, which can be used for troubleshooting data ingestion performance issues (see #45):

    • vl_active_merges{type="indexdb/inmemory"} - the number of active merges for in-memory indexdb (indexdb is used for indexing log stream fields).
    • vl_active_merges{type="indexdb/file"} - the number of active merges for file-based indexdb.
    • vl_merges_total{type="indexdb/inmemory"} - the total number of background merges for in-memory indexdb parts.
    • vl_merges_total{type="indexdb/file"} - the total number of background merges for file-based indexdb parts.
    • vl_rows_merged_total{type="indexdb/inmemory"} - the total number of in-memory indexdb entries merged during the background merge.
    • vl_rows_merged_total{type="indexdb/file"} - the total number of file-based indexdb entries merged during the background merge.
    • vl_pending_rows{type="storage"} - the number of in-memory log entries, which were ingested, but weren't stored to disk yet.
    • vl_pending_rows{type="indexdb"} - the number of in-memory indexdb entries, which were ingested, but weren't stored to disk yet.
    • vl_merge_duration_seconds{type="storage/inmemory"} - the summary, which shows the duration of background merges for in-memory data parts.
    • vl_merge_duration_seconds{type="storage/small"} - the summary, which shows the duration of background merges for small file-based data parts.
    • vl_merge_duration_seconds{type="storage/big"} - the summary, which shows the duration of background merges for big file-based data parts.
    • vl_merge_bytes{type="storage/inmemory"} - the summary, which shows the size of the created in-memory data parts.
    • vl_merge_bytes{type="storage/small"} - the summary, which shows the size of the created small file-based data parts.
    • vl_merge_bytes{type="storage/big"} - the summary, which shows the size of the created big file-based data parts.
  • BUGFIX: web UI: fix broken "Collapse all" button in Group view. See #509. The bug has been introduced in v1.26.0.

  • BUGFIX: web UI: fix chart axis label color on theme switch. See #541.

  • BUGFIX: web UI: fix applying legend filter when using pipe filters. See #546.

  • BUGFIX: web UI: optimize tooltip rendering. See #531.

  • BUGFIX: data ingestion: prevent from possible crash when ingesting logs for dates, which are concurrently removed because of the configured retention. See #505.

  • BUGFIX: data ingestion: support numbers and null in Loki structured metadata. See #547.

Don't miss a new VictoriaLogs release

NewReleases is sending notifications on new releases.