使用Logstash将日志导入OSS

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
简介: 前言logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的 “存储库” 中。目前logstash已经支持了很多输入和输出插件,本文主要介绍如何使用logstash output oss插件将日志导入OSS。

前言

logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的 “存储库” 中。

logstash_img1

目前logstash已经支持了很多输入和输出插件,本文主要介绍如何使用logstash output oss插件将日志导入OSS。

安装

目前logstash output oss插件可以在RubyGems.org里面找到,并且logstash使用RubyGems.org作为它的插件仓库,因此我们可以直接进入到logstash的安装目录,执行如下命令进行安装

./bin/logstash-plugin install logstash-output-oss

将会产生如下输出

Validating logstash-output-oss
Installing logstash-output-oss
      com.aliyun.oss:aliyun-sdk-oss:3.4.0:compile
Installation successful

我们现在可以查看刚才安装的logstash output oss插件

[user@host logstash-6.5.3]# bin/logstash-plugin list --verbose logstash-output-oss
logstash-output-oss (0.1.1)

配置及运行

logstash output oss插件的相关配置项的解释可以在这里找到,需要注意的是,endpoint/bucket/access_key_id/access_key_secret都是必填项,其他的都是可选项。
下面是一个示例,用来将写入/etc/logstash-6.5.3/sample.data中事件,导入到OSS里面。

input {
  file {
    path => "/etc/logstash-6.5.3/sample.data"
    codec => json {
      charset => "UTF-8"
    }
  }
}

output {
  oss {
    "endpoint" => "oss-cn-zhangjiakou-internal.aliyuncs.com"
    "bucket" => "Your bucket"
    "prefix" => "logstash/%{index}"
    "recover" => true
    "access_key_id" => "Your access key id"
    "access_key_secret" => "Your access secret key"
    "rotation_strategy" => "size_and_time"
    "time_rotate" => 2
    codec => json_lines {
      charset => "UTF-8"
    }
  }
}

其中,我们生成的event脚本是:

while [[ 1 ]]
do
    let index=$RANDOM%10
    echo "{\"index\": $index, \"message\": \"Hello, world\"}" >> sample.data
done

我们配置的rotata的策略是size_and_time,基于时间和大小,其中配置了时间是每两分钟(time_rotate),大小采用的是默认值(在代码里面定义,30MB)。

在这里注意一下配置项中的prefix(logstash/%{index})字段,这个字段支持string interpolation,因此它会用event中相同的字段进行替换(如果没有则不替换)。

最终,我们可以通过控制台来查看生成的文件:
_2019_01_02_5_39_36

_2019_01_02_5_39_44

参考资料

https://rubygems.org/gems/logstash-output-oss
https://github.com/aliyun/logstash-output-oss
https://www.elastic.co/guide/en/logstash/current/index.html

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
3天前
|
存储 监控 安全
|
2天前
|
存储 JSON 监控
开源日志分析Logstash
【10月更文挑战第22天】
7 1
|
2月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
135 9
|
3月前
|
消息中间件 监控 Kafka
Filebeat+Kafka+Logstash+Elasticsearch+Kibana 构建日志分析系统
【8月更文挑战第13天】Filebeat+Kafka+Logstash+Elasticsearch+Kibana 构建日志分析系统
173 3
|
3月前
|
数据可视化 应用服务中间件 Apache
优化集中式日志记录的方法:添加 Logstash 过滤器
优化集中式日志记录的方法:添加 Logstash 过滤器
41 1
|
4月前
|
SQL JSON 数据处理
5% 消耗,6 倍性能:揭秘新一代 iLogtail SPL 日志处理引擎与 Logstash 的 PK
在本文中,我们将深入探讨为何选择 iLogtail,以及它在 SPL 数据处理方面相较于 Logstash 有何独特优势。通过对比这两款工具的架构、性能以及功能,我们希望能够揭示 iLogtail 如何在日益复杂的日志处理需求中脱颖而出,帮助您做出明智的技术选择。
40408 19
|
6月前
|
SQL 分布式计算 监控
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
本文演示了使用 EMR Serverless Spark 产品搭建一个日志分析应用的全流程,包括数据开发和生产调度以及交互式查询等场景。
56591 7
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
|
6月前
|
监控 应用服务中间件 nginx
使用 Docker Compose V2 快速搭建日志分析平台 ELK (Elasticsearch、Logstash 和 Kibana)
ELK的架构有多种,本篇分享使用的架构如图所示: Beats(Filebeat) -> -> Elasticsearch -> Kibana,目前生产环境一天几千万的日志,内存占用大概 10G
355 4
|
6月前
|
数据采集 监控 数据可视化
日志解析神器——Logstash中的Grok过滤器使用详解
日志解析神器——Logstash中的Grok过滤器使用详解
503 4
|
26天前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
166 3

相关产品