在某些業務場景中,業務服務端的日志或者是云上組件的日志會歸檔存儲到對象存儲COS中,在需要進行查詢的時候需要從COS中獲取并查詢日志,此時可以借助于騰訊云Logstash自動地讀取COS中指定bucket的日志文件,然后寫入到Elasticsearch中,再使用Kibana可視化組件進行查詢和分析。
創建管道
在“管道管理”頁面,點擊“新建管道”按鈕,創建一個管道:
image
進入管道配置頁面,點擊“引用模板”按鈕,同時引用“input-s3”和“output-elasticsearch”兩個模板:
image
image
在管道配置中,分別針對“input-s3”和“output-elasticsearch”進行配置,一些關鍵的配置參數說明如下:
input-s3
- access_key_id: 騰訊云賬號的API密鑰ID
- secret_access_key: 騰訊云賬號的API密鑰KEY
- endpoint: COS對象存儲的訪問地址,不通地域的地址不同,如廣州地域為https://cos.ap-guangzhou.myqcloud.com
- bucket: COS對象存儲的bucket
- region: COS對象存儲bucket所在的地域,如ap-guangzhou
- prefix: 要讀取的日志文件名稱前綴
查看更多參數,可以參考input-s3
output-elasticsearch
- hosts: elasticsearch集群地址列表
- user: elasticsearch集群賬號
- password: elasticsearch集群密碼
- index: 索引名稱
- document_type: 索引type,對于不同版本的ES集群,該字段有不同的默認值,5.x及以下的集群,默認會使用input中指定的type字段,如果type字段不存在,則該字段的值為doc;6.x的集群,該字段默認值為doc;7.x的集群,該字段默認值為_doc; 8.x的集群,不會使用該字段
- document_id: 文檔ID
查看更多參數,可以參考output-elasticsearch
在配置完管道后,點擊“保存并部署”創建一個管道并自動部署:
image
查看日志
在控制臺查看Logstash的運行日志,如果沒有ERROR級別的日志,則說明管道運行正常:
image
查看數據寫入情況
進入到output-elasticsearch中定義的輸出端的ES集群對應的kibana頁面,在Dev tools工具欄里查看索引是否存在,以及索引的文檔數量是否正確:
image