Elasticsearch Service 读取 COS 中的日志文件并写入到 Elasticsearch

在某些场景中,业务服务端或云上组件的日志会归档存储到对象存储 COS 中,在需要进行查询时,需要从 COS 中获取并查询日志。此时,可借助 Logstash 自动地读取 COS 中指定 bucket 的日志文件,然后写入到 Elasticsearch 中,再使用 Kibana 可视化组件进行查询和分析。

相关产品
Elasticsearch Service 产品页,含版本规格、价格与购买入口。

一、创建管道

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 工具栏里查看索引是否存在,以及索引的文档数量是否正确。

赞 (0)
上一篇 4天前
下一篇 4天前