开发者社区> 冷月_wjh> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

使用Logstash将日志导入OSS

简介: 前言 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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《阿里云 JindoFS+OSS 数据上云实战》电子版地址
为了帮助读者能更全面地了解 JindoFS,我们特地编撰了这本电子书。从架构到场景到实操,全方面解读jindoFS。
0 0
Typora配置阿里云OSS作为图床上传图片
Typora配置阿里云OSS作为图床上传图片
0 0
《阿里云 JindoFS+OSS 数据上云实战》电子版地址下载
为了帮助读者能更全面地了解 JindoFS,我们特地编撰了这本电子书。从架构到场景到实操,全方面解读jindoFS。
0 0
使用 Nginx 作为阿里云对象存储OSS网关,给 OSS “限速”
对象存储 OSS 是经常被用于网盘存储的底层 PaaS 产品之一,但是在接触过程中很多的客户都表示使用对象存储 OSS 就怕流量控制不住,如果是企业网盘万一员工大量下载大容量文件就会导致添加流量账单。那么是否有办法给对象存储“限速”呢?
0 0
谷粒学院(八)阿里云oss | 头像上传 | Nginx(二)
谷粒学院(八)阿里云oss | 头像上传 | Nginx
0 0
谷粒学院(八)阿里云oss | 头像上传 | Nginx(一)
谷粒学院(八)阿里云oss | 头像上传 | Nginx
0 0
《阿里云 JindoFS+OSS 数据上云实战》下载
为了帮助读者能更全面地了解 JindoFS,我们特地编撰了这本电子书。从架构到场景到实操,全方面解读jindoFS。
0 0
阿里云OSS传输加速和CDN有什么区别?
阿里云对象存储OSS传输加速和阿里云CDN的区别
0 0
+关注
文章
问答
来源圈子
更多
阿里云存储基于飞天盘古2.0分布式存储系统,产品包括对象存储OSS、块存储Block Storage、共享文件存储NAS、表格存储、日志存储与分析、归档存储及混合云存储等,充分满足用户数据存储和迁移上云需求,连续三年跻身全球云存储魔力象限四强。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
百问百答-OSS (上)
立即下载
百问百答-OSS (下)
立即下载
阿里云 JindoFS+OSS 数据上云实战
立即下载