有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
文档中心 > Elasticsearch Service > Logstash 指南 > 最佳实践 > 读取 COS 中的日志文件并写入到 Elasticsearch
在某些场景中,业务服务端或云上组件的日志会归档存储到对象存储 COS 中,在需要进行查询时,需要从 COS 中获取并查询日志。此时,可借助 Logstash 自动地读取 COS 中指定 bucket 的日志文件,然后写入到 Elasticsearch 中,再使用 Kibana 可视化组件进行查询和分析。

创建管道

1. 登录 Elasticsearch Service 控制台,单击 Logstash 管理,选择需要操作的实例,单击实例 ID/名称,进入实例基本信息页面。
2. 切换到“管道管理”页签,单击新建管道,创建一个管道。


3. 进入新建管道页面,单击引用模板

同时引用“input-s3”和“output-elasticsearch”两个模板:


在管道配置中,分别针对“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
在配置完管道后,单击保存并部署即可创建一个管道并自动部署。



查看日志

在控制台查看 Logstash 的运行日志,如果没有 ERROR 级别的日志,则说明管道运行正常。



查看数据写入情况

进入到 output-elasticsearch 中定义的输出端的 ES 集群对应的 kibana 页面,在 Dev tools 工具栏里查看索引是否存在,以及索引的文档数量是否正确。