AWS的S3, 阿里云的OSS, 騰訊云的COS, 都是常見的對象存儲服務(wù)。對象存儲服務(wù)面向非結(jié)構(gòu)化數(shù)據(jù),支持通過HTTP/HTTPS協(xié)議訪問,支持存入文本、圖片、視頻等多種類型的數(shù)據(jù)。
實(shí)際應(yīng)用中,部分云計(jì)算產(chǎn)品會把業(yè)務(wù)日志存進(jìn)對象存儲中,如騰訊云容器服務(wù)的容器運(yùn)行日志,騰訊云負(fù)載均衡服務(wù)的實(shí)例訪問日志等。日志雖然存進(jìn)相對廉價(jià)的對象存儲bucket中了,但是查看或檢索起來比較麻煩,還是把日志存進(jìn)Elasticsearch,通過Kibana進(jìn)行檢索比較靠譜。
本文利用之前自行開發(fā)的logstash-input-cos插件,將存放在騰訊云對象存儲服務(wù)COS中的日志,通過logstash同步到Elasticsearch中,以實(shí)現(xiàn)日志的快速查看與檢索。
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
進(jìn)入logstash的解壓目錄,執(zhí)行:
./bin/logstash-plugin install ~/logstash-input-cos/logstash-input-cos-0.0.1-java.gem
執(zhí)行結(jié)果為:
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 # 數(shù)據(jù)同步時(shí)間間隔,每60s拉取一次數(shù)據(jù)
}
}
output {
elasticsearch {
hosts => ["http://172.16.0.39:9200"] # ES endpoint地址
index => "access.log" # 索引
}
}
執(zhí)行l(wèi)ogstash
./bin/logstash -f cos.logstash.conf
通過kibana查看日志
通過kibana查看從COS中同步到ES中的日志:

image