在某些业务场景中,业务服务端的日志或者是云上组件的日志会归档存储到对象存储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
网友评论