美文网首页玩转大数据大数据Elasticsearch实践与分析
从对象存储服务同步数据到Elasticsearch

从对象存储服务同步数据到Elasticsearch

作者: bellengao | 来源:发表于2018-08-15 11:07 被阅读20次

    AWS的S3, 阿里云的OSS, 腾讯云的COS, 都是常见的对象存储服务。对象存储服务面向非结构化数据,支持通过HTTP/HTTPS协议访问,支持存入文本、图片、视频等多种类型的数据。

    实际应用中,部分云计算产品会把业务日志存进对象存储中,如腾讯云容器服务的容器运行日志,腾讯云负载均衡服务的实例访问日志等。日志虽然存进相对廉价的对象存储bucket中了,但是查看或检索起来比较麻烦,还是把日志存进Elasticsearch,通过Kibana进行检索比较靠谱。

    本文利用之前自行开发的logstash-input-cos插件,将存放在腾讯云对象存储服务COS中的日志,通过logstash同步到Elasticsearch中,以实现日志的快速查看与检索。

    logstash-input-cos插件

    logstash-input-cos插件的github地址:https://github.com/gaobinlong/logstash-input-cos.git

    安装logstash-input-cos插件

    拉取logstash-input-cos插件:

    git clone https://github.com/gaobinlong/logstash-input-cos.git
    

    进入logstash的解压目录,执行:

    ./bin/logstash-plugin install ~/logstash-input-cos/logstash-input-cos-0.0.1-java.gem
    

    执行结果为:

    Validating /usr/local/githome/logstash-input-cos/logstash-input-cos-0.0.1-java.gem
    Installing logstash-input-cos
    Installation successful
    

    编写配置文件

    编写配置文件cos.logstash.conf

    input {
        cos {
            "endpoint" => "cos.ap-guangzhou.myqcloud.com" # COS访问域名
            "access_key_id" => "*****" # 腾讯云账号secret id
            "access_key_secret" => "****" # 腾讯云账号secret key
            "bucket" => "******" # 腾讯云COS bucket
            "region" => "ap-guangzhou" # 腾讯云COS bucket所在地域
            "appId" => "**********" # 腾讯云账号appId
            "interval" => 60 # 数据同步时间间隔,每60s拉取一次数据
        }
    }
    
    output {
        elasticsearch {
        hosts => ["http://172.16.0.39:9200"] # ES endpoint地址
        index => "access.log" # 索引
     }
    }
    

    执行logstash

    ./bin/logstash -f cos.logstash.conf
    

    通过kibana查看日志

    通过kibana查看从COS中同步到ES中的日志:


    image

    相关文章

      网友评论

        本文标题:从对象存储服务同步数据到Elasticsearch

        本文链接:https://www.haomeiwen.com/subject/fdiibftx.html