本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本文介绍如何将Elasticsearch数据导入到日志服务,实现数据的查询分析、加工等操作。
前提条件
已有可用的Elasticsearch集群。
已创建Project和Logstore。具体操作,请参见创建项目Project和创建Logstore。
版本说明
目前,只支持Elasticsearch 6.3及以上版本。
创建数据导入配置
登录日志服务控制台。
在接入数据区域的数据导入页签中,选择Elasticsearch-数据导入。
- 选择目标Project和Logstore,单击下一步。
设置导入配置。
在导入配置步骤中,配置如下参数。
参数
说明
任务名称
SLS任务的唯一名称。
显示名称
任务显示名称。
任务描述
导入任务的描述。
服务实例URL
Elasticsearch服务器的URL地址,格式为
http://host:port/
。支持设置多个地址,各个地址之间使用英文逗号(,)隔开,例如
http://host1:port1/,http://host2:port2/
。通常情况下,Elasticsearch服务器的服务端口为9200。
重要如果您设置了VPC实例ID,则此处必须设置
host
为对应ECS实例的IP地址(IPv4)。ES索引列表
待导入的索引,多个索引之间使用英文逗号(,)隔开,例如
index1,index2,index3
。ES用户名称
Elasticsearch用户名。仅当Elasticsearch集群需要用户认证时,此处才需配置。
ES用户密码
Elasticsearch用户密码。
时间字段
Elasticsearch索引中代表时间的列名,用于指定日志时间。
如果不指定时间字段,则日志服务默认采用数据导入时的系统时间。
重要如果要进行增量导入,则必须设置时间字段。
时间字段格式
设置时间格式,用于解析时间字段的值。
支持Java SimpleDateFormat语法的时间格式,例如yyyy-MM-dd HH:mm:ss。时间格式的语法详情请参见Class SimpleDateFormat。常见的时间格式请参见时间格式。
支持epoch格式,可选值为epoch、epochMillis、epochMacro、epochNano。
重要Java SimpleDateFormat不支持Unix时间戳,如果您要使用Unix时间戳,需设置时间字段格式为epoch格式。
时间字段时区
选择时间字段对应的时区。
当时间字段格式为epoch格式时,不需要设置时区。
ES查询
过滤数据的查询语句,需符合Elasticsearch的query_string格式,例如
gender:male and city:Shanghai
。更多信息,请参见Query string query。导入模式
选择数据导入的模式。
只导入历史数据:数据导入完成后,导入任务自动结束。
自动导入新增数据:导入任务将一直运行。
重要如果选择自动导入新增数据,必须设置时间字段。
起始时间
指定起始时间后,当时间字段的值大于等于起始时间时,数据才会被导入日志服务。
重要只有设置了时间字段后,此配置才有效。
结束时间
指定结束时间后,当时间字段的值小于等于结束时间时,数据才会被导入日志服务。
重要只有设置了时间字段且设置导入模式为只导入历史数据后,此配置才有效。
数据最大延迟秒数
指定数据产生到写入Elasticsearch的最大延迟时间。
重要如果设置的值比真实延迟小,将导致有些数据无法从Elasticsearch导入到日志服务。
设置了时间字段且设置导入模式为自动导入新增数据后,此配置才有效。
检查新数据周期(秒)
检查Elasticsearch中新增数据的周期。默认值:300秒,最小值:60秒。
VPC实例ID
如果Elasticsearch集群是VPC环境下的阿里云Elasticsearch集群或ECS上自建的Elasticsearch集群,您可以通过设置VPC实例ID,实现日志服务通过阿里云内网读取Elasticsearch集群的数据。通过阿里云内网读取数据,具备更好的安全性和网络稳定性。
重要Elasticsearch集群需允许被IP网段100.104.0.0/16访问。
单击预览,预览导入结果。
确认无误后,单击下一步。
预览数据和创建索引,然后单击下一步。日志服务默认开启全文索引。您也可以根据采集到的日志,手动创建字段索引,或者单击自动生成索引,日志服务将自动生成字段索引。更多信息,请参见创建索引。
重要如果需要查询日志中的所有字段,建议使用全文索引。如果只需查询部分字段、建议使用字段索引,减少索引流量。如果需要对字段进行分析(SELECT语句),必须创建字段索引。
单击查询日志,系统将跳转至Logstore查询分析页面。
您需要等待1分钟左右,待索引生效后,才能在原始日志页签中,查看已采集到的日志。查询和分析日志的详细步骤,请参见查询和分析日志。
查看导入配置
创建导入配置成功后,您可以在控制台中查看已创建的导入配置及生成的统计报表。
单击目标Project。
选择目标日志库下的 ,单击配置名称。
在导入配置概览页面,查看导入配置的基本信息和统计报表。
相关操作
删除导入配置
在导入配置概览页面,您可以单击删除配置,删除该导入配置。
警告删除后不可恢复,请谨慎操作。
停止和重启导入任务
创建导入配置后,日志服务会对应生成一个导入任务。您可以在导入配置概览页面,单击停止,停止导入任务。停止后,支持重启。
重要导入任务被停止后,其状态最长保留24小时。如果在停止的24小时内没有重启该任务,则该任务将不可用。即在停止的24小时后,再重启该任务,后续任务运行过程中将出错。
常见问题
问题 | 可能原因 | 解决方法 |
预览时出现Elasticsearch连接错误(failed to connect)。 |
|
|
预览时出现超时错误(preview request timed out)。 | 待导入的Elasticsearch索引中没有数据或没有符合过滤条件的数据。 |
|
日志服务中显示的数据时间和数据本身的时间不一致。 | 设置导入配置时,没有指定日志时间字段或者设置时间格式、时区有误。 | 设置指定的日志时间字段以及正确的时间格式和时区。更多信息,请参见创建数据导入配置。 |
导入数据后,无法查询和分析数据。 |
| |
导入的数据条目数量少于预期。 | 存在大于3 MB的Elasticsearch数据,您可以通过数据处理流量观测仪表盘确认。 | 缩小单条Elasticsearch数据的大小。 |
开启增量导入时,新数据存在明显的延迟。 |
|
|
错误处理机制
错误项 | 说明 |
与Elasticsearch集群通信异常 | 导入任务采用Scroll模式拉取Elasticsearch数据,默认使用的keep-alive时长为24小时。遇到网络连接错误或其他无法与Elasticsearch服务正常通信的错误(例如用户认证错误)时,导入任务会自动重试。 如果在24小时内无法恢复正常连接,Scroll Session信息将被Elasticsearch服务端清除,导致重试导入任务也无法恢复正常运行(提示No search context found错误),您只能重建导入任务。 |