QingStor 对象存储新增 Logstash Input/Output 插件

QingStor Logstash Input/Output 插件为首届 QingStor Satellites 活动中成功孵化出的项目,在 QingStor Satellites 活动中,QingStor 团队会选择一些有意义的开源项目为课题,并作为导师指导高校学生逐步完成项目。

QingStor Logstash Input/Output 插件的开发者为 Tacinight,来自兰州大学信息科学与工程学院 DSLab 研究生一年级的同学 赵益民(下图即为赵益民同学近照)。

QingStor Logstash Input/Output 插件已经通过 QingStor 官方审核,并被收纳为 QingStor 官方的 Logstash 插件,后续将由 QingStor 官方与赵益民同学一起进行维护。

下文为简要使用文档。更多详细信息请参见 https://github.com/yunify/logstash-input-qingstor 和 https://github.com/yunify/logstash-output-qingstor

Logstash 简介

Logstash 是一款轻量级的日志搜集和处理工具,可以方便的把分散的、多样化的日志收集起来,并进行自定义的处理,然后传输到指定的目标,比如输出到 Elasticsearch 或者写入文件。Logstash 整体可大致分为三部分,即数据输入(Input)、数据加工(Filter)、数据输出(Output),同时 Logstash 内置了多种输入输出插件,方便用户对接各种第三方服务。QingStor Logstash Input/Output 插件实现了对象存储服务和 Logstash 的对接,方便用户读取存储在对象存储的日志或者上传处理后的日志到对象存储。

安装

首先确保 Logstash 已正确安装,之后使用以下命令从 Ruby Gems 安装插件。

$ bin/logstash-plugin install logstash-input-qingstor
$ bin/logstash-plugin install logstash-output-qingstor

快速开始

使用插件之前请先在 青云控制台 申请 Access Key。

Input 和 Output 插件的基本配置项如下,查看更多可用选项可访问 GitHub 项目页面进行查阅。

input {
    qingstor {
        access_key_id => "your_access_key_id"
        secret_access_key => "your_secret_access_key"
        bucket => "input_bucket_name"
        region => "pek3a"
    }
}
output {
    qingstor {
        access_key_id => "your_access_key_id"
        secret_access_key => "your_secret_access_key"
        bucket => "output_bucket_name"
        region => "pek3a"
    }
}
设置完成之后启动 Logstash,即可从对象存储读取日志文件,然后按照固定大小或固定时间切分并归档,最后输出处理后的日志文件到对象存储。
$ ./bin/logstash -f qs_input_ouput.conf

致谢

最后对 QingStor Logstash Input/Output 插件的作者 Tacinight (赵益民同学) 表示感谢,同时我们也欢迎更多高校学生或第三方开发者参与到我们的开源项目中来。