一、软件简介
Vector 是一款轻量级、超高性能的可观测性数据管道工具,使用 Rust 语言开发,能够高效地采集(Source)→ 转换(Transform)→ 输出(Sink)各类可观测性数据(日志和指标)。项目采用 MPL-2.0 开源协议(GitHub 22k+ Stars)。
核心特性包括:
极致性能:Rust 编写,内存效率高,吞吐量远超同类工具(Filebeat、Logstash 等)
端到端管道:从数据采集到输出,一个工具搞定 A → B 的全流程
统一数据模型:同时支持日志(Log Events)和指标(Metric Events)
VRL(Vector Remap Language):内置转换语言,灵活解析、过滤、丰富数据
厂商中立:不锁定任何特定平台,生态开放,避免供应商锁定
多种部署角色:支持 Agent(代理)、Sidecar(边车)、Aggregator(聚合器)三种角色
部署拓扑:支持分布式、集中式、流式三种拓扑架构
配置即代码:YAML 配置,简单、可版本化管理
清晰的数据保障:明确声明每条数据管道的保障级别(at-least-once / exactly-once 等)
二、下载地址
GitHub 仓库:https://github.com/vectordotdev/vector
Docker 镜像:timberio/vector
三、典型管道示例
sources:
nginx_logs:
type: file
include: ["/var/log/nginx/access.log"]
transforms:
parse_nginx:
type: remap
inputs: ["nginx_logs"]
source: |
parsed, err = parse_regex!(.message, r'^(?P<ip>\S+) \S+ \S+ \[(?P<timestamp>[^\]]+)\] "(?P<method>\S+) (?P<path>\S+) \S+" (?P<status>\d+) \d+')
if err == null {
. = merge(., parsed)
}
sinks:
console:
type: console
inputs: ["parse_nginx"]
encoding:
codec: json