果然,基于 VictoriaMetrics 修改而来的 VictoriaLogs 来了!!!

发布时间 2023-08-31 17:13:29作者: ahfuzhang

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!


2022 年 6 月的时候,正在痛苦的研究 grafana loki, 团队希望用这个新组件来替换成本巨高的 ElasticSearch。但是 loki 用来用去都像是个半成品,文档不全,难用,代码混乱,实在是一段痛苦的经历。
当时我就在想:完全可以基于 VictoriaMetrics 的源码,改出一套低成本存储的日志系统来。
思路是这样的:

  1. 目前的日志都是半结构化的,通常格式如下:
    tag name1 : tag value1
    tag name2: tag value2
    log content (long text)
  1. 日志的结构化部分,与 metric 完全一样,因此可以存储在 vm-storage 的索引部分。
    • 结构化的部分能够被索引化的存储和检索,并且可以使用 promql 来检索。
    • 只要结构化的部分,其全新组合的 tag 不会剧烈增加,则索引部分的增量就是可控的。
  2. 日志的非结构化部分是一段长文本。
    这些长文本可以顺序存储在 VictoriaMetrics 的数据文件部分。
    首先使用结构化的标签进行过滤,缩小范围后,再在长文本中去匹配关键词。这里的搜索可能比较耗资源,一方面相比es而言存储成本小了很多,另一方面可以对长文本再做很多算法上的优化。
    可能单纯的文本匹配,es 的性能会更好,但是综合成本和使用频率等因素,半结构化的方式够用且成本低廉。

终于,在六月底,Valyala 大神发布了 VictoriaLogs,很多评测文章表示简单易用且性能卓越。
希望 Victoria 系列产品能够在整个可观测领域大放异彩。
后面我也想办法再去研究研究 VictoriaLogs 底层的实现原理。