logstash从AWS S3获取日志信息的常用方法有两种,一种是利用AWS lambda,另一种就是利用logstash的S3 input插件。

插件github:https://github.com/logstash-plugins/logstash-input-s3

插件文档:https://www.elastic.co/guide/en/logstash/7.3/plugins-inputs-s3.html

需要注意的是,logstash 7.3版本和6.3版本对应的S3 input的版本也不同,两者支持的设置选项也不同。一个明显的区别是logstash 7.3对应的S3 input多了一个watch_for_new_files选项。

配置选项的话,其实值得说的内容并不多。主要有以下几个:

access_key_id
secret_access_key
region
这三个配置是跟登陆S3服务相关的。其中access key和secret access key在My Security Credentials中进行查看和管理。
 
bucket
这个是指定数据来源的桶的名称。
 
prefix
exclude_pattern
这两个是用来指定或过滤文件的。
prefix将指定一个字符串前缀,符合该前缀的文件将被收集
exclude_pattern将指定一个正则表达式,符合该正则表达式的文件将被忽略
另外有一点,在S3中,虽然文件在形式上是以文件夹的结构进行管理的,但文件夹的实质是文件名的前缀。例如,假设桶中有一个文件夹叫gg,gg中有一个叫abc.log的文件,那么实际上abc.log的文件全名是gg/abc.log。在进行文件的匹配和过滤时,也是按文件全名进行处理的。如果有 prefix => "gg/",则可以匹配到在gg文件夹中的abc.log。
 
S3 input插件将读取符合配置的每个文件的内容,并将文件中的每一行转换为一个message,后续可以利用filter对message进行处理。在读取了S3上的文件后,S3 input会在./data/plugins/inputs/s3/中建立文件并记录目前已经读取文件的最后上传时间。该文件即标记了logstash读取文件的进度。删除该文件将导致logstash在启动后重新读取S3上的符合配置要求的文件内容。
 

logstash的S3 input插件的更多相关文章

  1. Logstash介绍及Input插件介绍

    一.Logstash简介   Logstash是一个开源数据收集引擎,具有实时管道功能.Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地. Logstash管 ...

  2. 敲代码非常难之logstash之file input插件实现分析

    版权声明:本文为横云断岭原创文章,未经博主同意不得转载.微信公众号:横云断岭的专栏 https://blog.csdn.net/hengyunabc/article/details/25665877 ...

  3. logstash之Input插件

    1:stdin标准输入和stdout标准输出 首先执行命令: bin/logstash -e 'input { stdin { } } output { stdout { codec   => ...

  4. logsatsh input 插件之 collectd

    logsatsh input 插件之 collectd 标签(空格分隔): logstash 作用:用于监控内存,cpu,磁盘I等信息 未完待续,时间未定. 参考: logstash 官网 elast ...

  5. ELK——Logstash 2.2 date 插件【翻译+实践】

    官网地址 本文内容 语法 测试数据 可配置选项 参考资料 date 插件是日期插件,这个插件,常用而重要. 如果不用 date 插件,那么 Logstash 将处理时间作为时间戳.时间戳字段是 Log ...

  6. logstash中的redis插件

    redis作为logstash中的官方broker,既有input插件,还有output插件. redis input插件 data_type属性: 有三种类型, list -> BLPOP - ...

  7. 基于MVC4+EasyUI的Web开发框架经验总结(1)-利用jQuery Tags Input 插件显示选择记录

    最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...

  8. jQuery Tags Input 插件显示选择记录

    利用jQuery Tags Input 插件显示选择记录 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采 ...

  9. 封装input 逐渐,且input插件必须带有默认值。

    封装input 逐渐,且input插件必须带有默认值. 组件: <template> <div class="input-show"> <span c ...

随机推荐

  1. java混淆工具 字符串加密 程序加密 代码逻辑混淆 防止反编译

    混淆工具使用文档 ht-confusion-project1.0.0 目 录 1.功能介绍... 1 2.安装说明... 3 2.1Window查询jdk版本(点击开始菜单,输入cmd, 输入java ...

  2. java interface和class中的协变

    协变 Java中的协变是指,当发生继承时,子类中重写父类的方法时,可以返回父类方法返回类型的子类型.比如: class SuperClass{} class SubClass extends Supe ...

  3. 如何使用蓝湖设计稿同时适配PC及移动端

    如何使用蓝湖设计稿同时适配PC及移动端 项目需求: 一套代码同时适配PC及移动端 方案: pc端采用px布局,移动端采用rem布局,通过媒体查询(media query)切换 坑: 尝试过使用post ...

  4. Java 实现简单的 Socket 通信

    Java socket 封装了传输层的实现细节,开发人员可以基于 socket 实现应用层.本文介绍了 Java socket 简单用法. 1. 传输层协议 传输层包含了两种协议,分别是 TCP (T ...

  5. 《犬夜叉2021》我想通过Binder找到你

    前言 本故事纯属虚构,如有不通顺的逻辑请轻喷.️ <犬夜叉2021> 第一章:我还能找到你吗,阿篱 犬夜叉和奈落大决战之后,四魂之玉.食骨之井消失,谁也不知道去了哪,而犬夜叉和阿篱再次被分 ...

  6. 【JDBC核心】数据库事务

    数据库事务 概述 事务是逻辑上的一组操作,或者说一个独立的工作单元.事务内的语句,要么全部执行成功,要么全部执行失败. 事务处理 数据一旦提交,就不可回滚.数据意味着提交的情况: 当一个连接对象被创建 ...

  7. 【剑指 Offer】09.用两个栈实现队列

    题目描述 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead , 分别完成在队列尾部插入整数和在队列头部删除整数的功能.(若队列中没有元素,del ...

  8. 【Git】3、创建Git版本库、配置Git仓库用户邮箱信息

    初识Git 文章目录 初识Git 1.创建Git版本库 认识.git 2.基础配置 2.1.查看配置信息 2.2.配置昵称邮箱信息 2.3.修改配置信息 1.通过命令行 2.通过修改配置文件. 修改全 ...

  9. 创建一个简单MyBatis程序

    文章目录 MyBatis基础 MyBatis 简介 创建一个MyBatis程序 1. 创建Java项目 2. 加载MyBatis包 3. 编写POJO类和映射文件 4.创建mybatis-config ...

  10. 【Oracle】迁移表到其他的表空间

    有些时候需要将表迁移到其他的表空间,在将表空间做相关的操作 下面是命令如何迁移表空间 SQL> alter table 表名 move tablespace 表空间名; 如果有很多的表想要迁移的 ...