管理Elasticsearch集群日志
CSS服务通过日志查询和日志备份功能,为用户提供全面的日志管理能力,满足不同场景下的日志处理需求,帮助用户高效定位问题、优化性能及保障系统安全。
- 日志查询:在云搜索服务管理控制台的日志管理页面,用户可按节点、日志类型等条件筛选最近日志,并查看结果,适用于快速定位突发问题。
- 日志备份:通过定期将集群日志同步至OBS桶,用户可随时下载日志文件进行深度分析。该功能支持自定义备份策略(如备份时间、存储路径等),备份日志包含运行日志、慢查询日志、弃用操作日志等类型,满足不同场景的审计与排查需求。
计费影响
当使用日志备份功能时,备份的日志存储在OBS桶中需要额外收费,具体收费说明请参见《OBS用户指南》的计费说明。
前提条件
当使用日志备份功能时,需要提前创建用于存储日志的OBS桶。OBS桶需要满足如下条件:
- “存储类别”为“标准存储”。
- “区域”须与集群所在区域相同。
查询日志
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > Elasticsearch”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“日志管理 > 日志查询”,进入日志查询页面。
通过选择日志类型、节点、日志级别或关键字查询日志,各类日志的详细说明请参见日志介绍。
当日志文件大小达到128MB或每日零点(00:00 UTC)时,系统将自动将其打包为压缩包并归档。日志查询界面仅展示未归档的日志内容。已归档的日志需通过日志备份功能获取。
备份日志
日志备份可以将集群日志同步至OBS桶,支持随时下载日志文件进行深度分析。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > Elasticsearch”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“日志管理 > 日志备份”,进入日志备份页面。
- 启用日志备份功能。
- 备份日志。支持自动备份日志和手动备份日志两种方式。
- 查看备份的日志文件。
日志备份采用增量备份方式,备份成功后可以单击“备份路径”访问OBS桶获取全量日志文件。
日志文件类型如表3所示,其中“clustername”是集群名称。
- 当不再使用日志备份功能时,支持关闭备份。
在日志备份页面,单击“关闭备份”,在弹框中单击“确定”即可关闭日志备份功能。关闭后,备份的日志数据不会自动清理,需前往OBS控制台手动清理。
日志介绍
| 日志类型 | 描述 | 使用场景 |
|---|---|---|
| 运行日志 | 运行日志也称为主日志,记录了集群的运行状态和写入查询的关键信息等。例如,写入相关日志包含创建索引、更新索引mapping和写入队列打满等日志;查询相关日志包含查询队列和查询异常等日志。 | 当需要查看集群中各节点的运行状况及查询写入情况,例如节点之间的连通性、Full GC情况、创建或删除索引情况、集群级别的查询报错等信息时,可查看主日志进行排查。 |
| 慢索引日志 | 用于记录慢索引请求的日志文件,主要用于记录索引操作(如bulk、index、update、delete)中执行时间较长的操作,帮助您发现性能瓶颈。 | 当业务出现写入耗时久的情况时,可查看慢索引日志进行排查。 |
| 慢查询日志 | 用于记录慢查询请求的日志文件,主要用于监控和分析执行时间较长的搜索请求。它可以帮助您识别性能瓶颈、优化查询语句、提升系统整体性能。 | 当您的业务出现查询耗时久的情况时,可查看慢查询日志进行排查。 |
| 废弃操作日志 | 用于记录弃用警告(Deprecation Warnings)的日志文件。它会在您使用了已被弃用但尚未移除的API、配置或功能时,向这个日志中写入警告信息。 | 当需要查看业务有没有使用过期API风险情况时,可查看废弃操作日志进行排查。 |
| 接入日志 | 用于记录访问集群的请求信息,主要记录请求Path、访问地址等信息。 接入日志不支持控制台查看,但可以备份到OBS桶或采集到集群中查看。 | 当业务出现大量的请求,需要定位请求来源和请求路径时,可查看接入日志查看集群访问信息。 |
- 运行日志说明
运行日志记录了集群的运行状态和写入查询的关键信息等。例如下面的日志,表示创建了一个名为test的索引,创建完后集群状态由YELLOW变成GREEN。
图1 运行日志
日志内容说明:- 1:日志产生时间。
- 2:日志级别。包括DEBUG、INFO、WARN、ERROR等。
- 3:生成日志的模块。
- 4:生成日志的节点名称。
- 5:日志的主要内容。
- 慢索引日志说明
慢索引日志记录了索引操作中执行时间较长的操作。例如下面的日志,展示了索引请求耗时超过设定阈值的请求记录,包括了索引名称、耗时、请求内容等。
图2 慢索引日志
- 慢查询日志
慢查询日志记录了执行时间较长的搜索请求。例如下面的日志,展示了查询请求耗时超过设定阈值的请求记录,包括了索引名称、耗时、请求内容等。
图3 慢查询日志
日志内容说明:- 1:日志产生时间。
- 2:日志级别。包括DEBUG、INFO、WARN、ERROR等。
- 3:生成日志的模块。
- 4:生成日志的节点名称。
- 5:索引名称和分片ID。
- 6:日志的主要内容。此示例记录了执行耗时、查询命中数量、查询请求体等信息。
- 废弃操作日志
废弃操作日志记录了弃用警告信息。例如下面的日志,表示GET /_cat/master已经废弃,请使用GET /_cat/cluster_manager替代。
图4 废弃操作日志
日志内容说明:- 1:日志产生时间。
- 2:日志级别。只有DEPRECATION。
- 3:生成日志的模块。
- 4:生成日志的节点名称。
- 5:日志的主要内容。
- 接入日志
接入日志记录了访问集群的请求和地址信息,例如下面的日志表示执行了/_snapshot/my_backup/my_snapshot/_restore?pretty=true操作的信息。
图5 接入日志
日志内容说明:- 1:日志产生时间。
- 2:日志发生的节点名称。
- 3:生成日志的线程名称。
- 4:日志级别,包括DEBUG、INFO、WARN、ERROR等。
- 5:日志的请求方法。
- 6:发送的请求路径。
- 7:发送请求的源和目标地址。
FAQ:如何更新日志级别?
Elasticsearch集群使用Log4j2作为日志组件,支持多种日志级别(ERROR、WARN、INFO、DEBUG、TRACE),默认为INFO级别。为便于问题定位和系统调试,您可动态调整日志级别。
- 日志级别按详细程度递增,INFO为默认级别,会记录包含ERROR、WARN及以上级别的日志,过滤掉DEBUG和TRACE日志。
- 通过Elasticsearch API可实时修改指定模块的日志级别。
操作示例
- 登录Kibana进入命令执行页面。Elasticsearch集群支持多种客户端访问,本文仅以CSS服务集成的Kibana为例介绍配置指导。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > Elasticsearch”。
- 在集群列表,选择目标集群,单击操作列的“Kibana”,登录Kibana。
- 在Kibana左侧导航栏选择“Dev Tools”,进入操作页面。
控制台左侧是命令输入框,其右侧的三角形图标为执行按钮,右侧区域则显示执行结果。
- 执行如下命令,调整action模块的日志级别为DEBUG。
PUT _cluster/settings { "persistent": { "logger": { "org.elasticsearch.action": "DEBUG" } } } - 执行如下命令,恢复默认日志级别(INFO)。
PUT _cluster/settings { "persistent": { "logger": { "org.elasticsearch.action": null } } }
FAQ:如何开启Trace日志?
为便于问题定位和接口访问分析,您可以开启HTTP/Transport模块Trace日志并查看详细的Trace日志。
开启Trace日志为临时性配置,集群重启后失效。
操作指导
- 登录Kibana进入命令执行页面。Elasticsearch集群支持多种客户端访问,本文仅以CSS服务集成的Kibana为例介绍配置指导。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > Elasticsearch”。
- 在集群列表,选择目标集群,单击操作列的“Kibana”,登录Kibana。
- 在Kibana左侧导航栏选择“Dev Tools”,进入操作页面。
控制台左侧是命令输入框,其右侧的三角形图标为执行按钮,右侧区域则显示执行结果。
- 执行如下命令,开启Trace日志。
PUT _cluster/settings { "transient": { "logger.org.elasticsearch.transport.TransportService.tracer": "trace", "transport.tracer.include": "", "http.tracer.include": "", "logger.org.elasticsearch.http.HttpTracer": "trace" } } - 进入日志查询页面查看Trace日志。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“日志管理 > 日志查询”,进入日志查询页面。
- 日志级别选择全部(必须全选),查看“日志级别”是“TRACE”的日志信息。