zoukankan      html  css  js  c++  java
  • logstash的S3 input插件

    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上的符合配置要求的文件内容。
     
  • 相关阅读:
    net.sf.fmj.media.cdp.civil.CaptureDevicePlugger addCaptureDevices解决方法
    SVN快速入门教程
    Struts 2详细工作流程
    未能加载.NET基类问题
    图片上传的例子
    一个.NET发邮件的简单例子
    一种巧妙的删除程序自己的方法
    oracle的问题
    javascript 中对Trim()的实现
    SQL Server 不存在或访问被拒绝的问题
  • 原文地址:https://www.cnblogs.com/wangzhao765/p/11307706.html
Copyright © 2011-2022 走看看