Skip to main content
Vector + VictoriaLogs + Grafana 是一套轻量、高性能的日志采集、存储与查询方案。三者各司其职:
最简单的记忆方式:Vector 管采集,VictoriaLogs 管存储,Grafana 管展示。

为什么用这套架构

传统日志系统通常是 Filebeat / Fluent Bit → Elasticsearch → Kibana。Elasticsearch 功能强大,但对单纯的日志存储查询场景来说资源消耗较高,集群运维也复杂。 VictoriaLogs 是 VictoriaMetrics 生态中的日志存储系统,定位高性能、低资源消耗。用它替换 Elasticsearch,就能以更低的成本搭出一套够用的云原生日志平台。

Vector:采集与加工

Vector 是高性能的日志和指标数据采集、处理与转发工具(Rust 编写)。核心流水线是三段式:
在 Kubernetes 场景下,Vector 以 DaemonSet 运行,每个节点一个实例:
Vector 是 Agent,不是存储。它只负责”采集 → 处理 → 转发”,不要把它当 Elasticsearch 或 VictoriaLogs 用。

VictoriaLogs:存储与查询

VictoriaLogs 负责日志的接收、存储、索引和查询,是整个平台的后端存储。主要特点:
  • 面向日志场景设计,高性能摄取
  • 资源消耗低,支持大规模存储
  • 原生支持结构化日志
  • 与 Grafana、VictoriaMetrics 生态集成友好
适合 Kubernetes 日志、应用日志、系统日志、容器日志等场景。

Grafana:查询与展示

Grafana 是统一的可观测性数据查询与可视化平台。它不负责采集和存储,只负责查询和展示:关键字搜索、时间范围过滤、字段过滤、查看日志上下文、创建日志面板。 更重要的是,它能把 Metrics、Logs、Traces 三类数据放到同一个界面分析。
Grafana 不是日志数据库。真正保存日志的是 VictoriaLogs,Grafana 只是查询入口。

完整数据链路

一条日志的旅程

以 Kubernetes 应用日志为例:
1

应用产生日志

应用把日志写到 stdout / stderr。
2

容器运行时落盘

Container Runtime 把日志保存为节点本地日志文件。
3

Vector 采集与解析

Vector 读取日志并解析成结构化数据。例如原始日志 2026-09-10 16:20:30 INFO request success 会被转成:
4

附加 Kubernetes 元数据

日志自动携带 namespacepodcontainernodeapp 等字段,例如 namespace=production pod=order-service-xxx level=INFO
5

写入 VictoriaLogs

Vector 通过 HTTP 接口批量发送到 VictoriaLogs。
6

Grafana 查询

运维在 Grafana 里按 namespace / pod / 时间范围检索日志。

与指标体系的联动

如果已用 VictoriaMetrics 或 Prometheus 做指标监控,可以用 Grafana 把三大支柱统一起来:
典型联动排障路径:

注意事项

与 ELK 的对比

这不是说 VictoriaLogs 能全面替代 Elasticsearch。Elasticsearch 的全文检索、复杂查询和数据分析能力仍然很强。选型应根据日志规模、查询需求、团队技术栈和运维成本决定。

总结

这套架构的核心价值:以相对轻量的方式构建云原生日志系统,并能与 Prometheus / VictoriaMetrics 监控体系结合,形成统一的可观测性平台。

延伸阅读