文章开始之前,推荐一些别人写的很好的文章!感兴趣的也可以去读一下哦!
今日推荐:ChatGPT Next Web个人助手
文章链接:https://cloud.tencent.com/developer/article/2471769 本篇文章主要介绍了使用Docker部署ChatGPT Next Web个人智能助手
今天看到VictoriaMetrics发布的victorialogs发布正式版,很早之前就有关注,而之前更多的是使用VictoriaMetrics作为prometheus的远程存储。
看了下ictorialogs的介绍,其中最感兴趣的是如下几条:
当然了还有很多没有列出的特点,如与grpe、less、sort等命令适配、支持无序日志收集、支持命令行查询、支持告警等
有朋友就问了,那没有缺点嘛?
肯定是有的,完美的背后,肯定是要有所放弃的。
如它只支持单节点部署,目前没有集群版本,主要原因是单台性能足够,不过官方给出了高可用的双写方案,也有完善的备份恢复机制,不过对于日志收集来讲,这些也不是最重要的。
你可以选择二进制方式或者docker方式部署
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
docker方式
docker run --rm -it -p 9428:9428 -v ./victoria-logs-data:/victoria-logs-data \
docker.io/victoriametrics/victoria-logs:v1.0.0-victorialogs
另外关于日志保留时间、大小及存储位置可以通过参数指定
-retentionPeriod=8w -retention.maxDiskSpaceUsageBytes=100GiB -storageDataPath=/var/lib/victoria-logs
victorialogs 提供了支持prometheus方式的指标,如下:
http://localhost:9428/metrics
victorialogs提供了用于日志查询和探索的 Web UI http://localhost:9428/select/vmui
有三种显示查询结果的方式:
为了更高效地处理和查询海量日志数据,VictoriaLogs 采取了一些独特的方法。
VictoriaLogs 会将每个日志字段拆分成多个词(即 tokens),类似于 Elasticsearch 的做法。然而,与 Elasticsearch 使用倒排索引不同,VictoriaLogs 使用布隆过滤器来处理这些 tokens。布隆过滤器的作用是快速跳过查询中不包含特定词的数据块。例如,当搜索某个唯一短语(如 trace_id=7d75e660–9fcf-4b6a-b860-210293b5eda6
)时,大多数数据块会被直接跳过,只有少数数据块会被读取和检查,从而提高查询性能,特别是对于“大海捞针”类型的查询。
布隆过滤器只需要每个唯一 token 占用 2 字节,而 Elasticsearch 的倒排索引则需要至少 8 字节。由于唯一 token 的数量通常远小于总 token 数量,因此布隆过滤器的存储需求大约比倒排索引小 10 到 100 倍。这不仅减少了存储空间需求,还降低了数据摄取和查询时的内存占用,也减少了重查询期间的磁盘读取量。
VictoriaLogs 还引入了类似 Loki 的日志流概念,但默认情况下不会将日志字段放入日志流标签集中。相反,它依赖日志运输器通过 _stream_fields
查询参数或 VL-Stream-Fields
HTTP 请求头提供的一组流日志字段。这样可以高效地存储和查询具有高基数字段(如 user_id
, trace_id
或 ip
)的结构化日志。
VictoriaLogs 将每个日志字段的数据分组并存储在物理上独立的存储区域(类似于 ClickHouse 的列存储)。这极大地减少了查询过程中需要读取的数据量,因为只有所请求字段的数据会从存储中读取。此外,这种方式还能提高按字段压缩数据的比率,从而进一步减少存储空间需求。
VictoriaLogs 通过使用布隆过滤器来提高全文搜索性能,同时保持低存储空间需求(最多比 Elasticsearch 少 15 倍)和低内存需求(最多比 Elasticsearch 少 30 倍)。虽然简单查询可能比 Elasticsearch 慢,但在处理包含多个过滤条件的复杂查询时,VictoriaLogs 通常表现优于 Elasticsearch。此外,VictoriaLogs 支持类似 Grafana Loki 的日志流,并使用列存储来进一步减少存储空间使用。这些特性使得 VictoriaLogs 成为处理和查询海量日志数据的高效工具。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有