從物件儲存服務同步資料到Elasticsearch

R-B發表於2021-09-09

AWS的S3, 阿里雲的OSS, 騰訊雲的COS, 都是常見的物件儲存服務。物件儲存服務面向非結構化資料,支援透過HTTP/HTTPS協議訪問,支援存入文字、圖片、影片等多種型別的資料。

實際應用中,部分雲端計算產品會把業務日誌存進物件儲存中,如騰訊雲容器服務的容器執行日誌,騰訊雲負載均衡服務的例項訪問日誌等。日誌雖然存進相對廉價的物件儲存bucket中了,但是檢視或檢索起來比較麻煩,還是把日誌存進Elasticsearch,透過Kibana進行檢索比較靠譜。

本文利用之前自行開發的logstash-input-cos外掛,將存放在騰訊雲物件儲存服務COS中的日誌,透過logstash同步到Elasticsearch中,以實現日誌的快速檢視與檢索。

logstash-input-cos外掛

logstash-input-cos外掛的github地址:

安裝logstash-input-cos外掛

拉取logstash-input-cos外掛:

git clone 

進入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-cosInstallation 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 => [""] # ES endpoint地址
    index => "access.log" # 索引
 }
}

執行logstash

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

透過kibana檢視日誌

透過kibana檢視從COS中同步到ES中的日誌:


圖片描述

image



作者:bellengao
連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4560/viewspace-2811943/,如需轉載,請註明出處,否則將追究法律責任。

相關文章