功能概述

Logstash 支持从对象存储输入数据到 Elasticsearch,或者从 Elasticsearch 导出数据到对象存储。

版本 插件

6.8.0 及以上

logstash-input/output-s3

5.6.16

  • logstash-input/output-s3,推荐使用该插件

  • logstash-input/output-qingstor

5.5.1

logstash-input/output-qingstor

操作步骤

步骤一:准备 Access Key

创建 API 密钥,用于访问对象存储。详情可参考如何创建 API 密钥

步骤二:准备对象存储桶

创建对象存储桶,详情参考如何创建对象存储桶

步骤三:修改 Logstash 节点配置参数

  1. 按照以下内容,修改 Logstash 节点的配置参数 input_conf_content。详情参考修改集群配置参数

    s3 {
        access_key_id => "access key id"
        secret_access_key => "secret access key"
        endpoint => "https://s3.pek3a.qingstor.com"
        bucket => "logstash-input"
    }
    • ELK 5.6.16 - QingCloud 1.5.0 之前的版本请使用 Logstash Inputs QingStor 插件参考如下示例进行配置。

       qingstor {
       access_key_id => "your_access_key_id"
       secret_access_key => "your_secret_access_key"
       bucket => "bucket_name"
       region => "pek3a"
       sincedb_path => "~/.sincedb"
      }
    • 配置参数说明

      参数 说明

      access_key_id

      前文创建的 access_key_id

      secret_access_key

      前文创建的 secret_key

      bucket

      前文创建的对象存储桶。

      endpoint

      对象存储桶的域名。

    • 关于参数的详情可参考其官方文档

    • 其他配置参数详情请参见手册

  2. 重启 Logstash 节点。

步骤四:测试验证

  1. 上传日志文件至对象存储 Bucket。详情可参考上传文件至 Bucket

  2. 在 Kibana 查看到导入的日志。详情可参考访问 Kibana

  3. Logstash 默认的 output 是 Elasticsearch,并自动配置好了 Elasticsearch 集群的 Hosts 选项。如需在 output 到 Elasticsearch 的过程中指定其他参数,用户可以在 output_es_content 中指定,比如:

    action => "update"
    index => "my-first-index"

    如还需输出到其他位置,可以通过 output_conf_content 指定,比如通过如下配置将数据上传到对象存储。更多参数详情可参考官方文档

    s3 {
    access_key_id => "access key id"
    secret_access_key => "secret access key"
    endpoint => "https://s3.pek3a.qingstor.com"
    bucket => "bucket name"
    codec => "json"
    encoding => "gzip"
    rotation_strategy => "size_and_time"
    size_file => 10485760
    time_file => 10
    }

    ELK 5.6.16 - QingCloud 1.5.0 之前的版本请使用 Logstash Outputs QingStor 插件参考如下示例进行配置。

    qingstor {
    access_key_id => "your-access_key_id"
    secret_access_key => "your-secret-access_key"
    bucket => "bucket name"
    region => "pek3a"
    codec => "json"
    encoding => "gzip"
    rotation_strategy => "size_and_time"
    file_size => 10485760
    file_time => 10
    }