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

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • 概述 监控预警平台, eagle + eye (鹰眼)的合体词, 寓意可以快速发现问题, 并及时作出响应,Eagl...
    Kungfu猫熊阅读 7,464评论 0 52
  • logstash input插件开发 logstash作为一个数据管道中间件,支持对各种类型数据的采集与转换,并将...
    bellengao阅读 3,212评论 0 7
  • 蝉鸣...唤醒入眠的窈窕淑女。 “妈!你怎么不叫我!我是不是...又睡过头啦!”一位女子怒斥着。 这时,一位很高大...
    傀大猫阅读 299评论 0 1
  • 梅香不如诗香浓 作者/狼烟诗影 自:田子《三百诗集》 ...
    狼烟诗影阅读 1,720评论 0 0