Skip to content

Vector 调研测试之环境安装

Published: at 00:00

前言

在以往的工作经历中,曾经使用过 Filebeat、LogStash、Flume-NG 等工具来进行日志的收集、转换、过滤和路由,最终将日志保存到相应的存储系统中。例如,使用过 Flume-NG 来从 Kafka 消费数据,并将其保存到 HDFS或对象存储中,以便进行大数据计算和处理。还使用过 LogStash 来从 Kafka 消费数据,然后按天分索引保存到 Elasticsearch 中,以便进行便捷的查询操作。

然而,我个人觉得 Flume-NG 和 LogStash 虽然功能强大,但也存在一些不足之处。它们相对复杂,依赖于 JVM 的运行环境,而且内存占用较高。

因此,我对 Vector 产生了兴趣。Vector 是用 Rust 语言开发的,具有内存安全性和出色的性能。我在本地环境进行了一些简单的测试,测试的假设场景类似于用 Flume-NG 将数据写入对象存储系统和用 LogStash 将数据写入 Elasticsearch 的情况。

为了保持测试的完整性,我重新安装了所有必要的组件,并记录了本地安装过程以及着重介绍一下 Vector 。我希望这些记录对其他人在类似情况下的优化和迁移决策有所帮助。

架构图

[Pasted image 20230912172421.png]

环境说明

Vector

https://vector.dev

Kafka

ES

Kibana

MinIO

使用到这个库:https://github.com/minio/minio-py

from minio import Minio

client = Minio('127.0.0.1:9000',
               cert_check=False,
               secure=False,
               access_key='jlKIj2T8EbOxHZLIGcws',
               secret_key='pnKQxp2qMAy3XMBH6zP3fCHAg59ZlLhvSBDDFqj0')

buckets = client.list_buckets()

for bucket in buckets:
    print(bucket.name, bucket.creation_date)