全部产品
Search
文档中心

检索分析服务Elasticsearch版:查询日志

更新时间:Sep 29, 2024

通过阿里云Elasticsearch的日志功能,您可以输入关键字和设置时间范围,锁定需要查询的日志内容,快速定位集群问题,辅助集群运维。本文为您介绍如何查询日志以及常见日志的使用说明。

使用限制

  • ES访问日志:仅6.7.0及7.10版本的实例支持在控制台查看ES访问日志。

  • 审计日志:仅以下地域的7.x及以上版本实例支持在控制台查看审计日志。

    国家或大区

    地域

    中国

    华北2(北京)、华东1(杭州)、华东2(上海)、华北3(张家口)

    亚太

    新加坡、澳大利亚(悉尼)关停中、马来西亚(吉隆坡)、印度尼西亚(雅加达)、日本(东京)

    欧洲与美洲

    美国(弗吉尼亚)、美国(硅谷)、德国(法兰克福)、英国(伦敦)

操作步骤

  1. 登录阿里云Elasticsearch控制台
  2. 在左侧导航栏,单击Elasticsearch实例
  3. 进入目标实例。
    1. 在顶部菜单栏处,选择资源组和地域。
    2. Elasticsearch实例中单击目标实例ID。
  4. 在左侧导航栏,单击日志查询,查看集群的运行日志。

    阿里云Elasticsearch主要支持的日志类型包括:主日志、Searching慢日志、Indexing慢日志、GC日志、ES访问日志和审计日志,各类日志的说明和使用场景如下,更多详细信息请参见日志说明

    日志类型

    说明

    使用场景

    主日志

    集群的健康运行状态及索引查询写入日志。例如,写入相关日志包含创建索引、更新索引mapping和写入队列打满等日志;查询相关日志包含查询队列和查询异常等日志。

    当您需要查看集群中各节点的运行状况及查询写入情况,例如节点之间的连通性、Full GC情况、创建或删除索引情况、集群级别的查询报错等信息时,可查看主日志进行排查。

    重要

    如果您的业务侧出现问题,建议优先查看主日志和集群监控,排除集群自身的性能瓶颈或配置问题。

    Searching慢日志

    慢查询日志。当查询耗时超过指定阈值时,将在慢查询日志中打印相关信息。慢查询阈值已在场景化模板的索引模板中配置,默认情况下已是最优,只需一键应用即可,详细信息请参见索引模板配置

    当您的业务出现查询耗时久的情况时,可查看Searching慢日志进行排查。

    查询耗时越久,集群资源消耗越大。当日志存在大量的慢日志,请排查集群资源及负载情况,获取瓶颈项,根据瓶颈项及时扩充对应资源或使用集群限流插件(aliyun-qos)进行限流,以保证集群的稳定性。

    Indexing慢日志

    慢写入日志。当写入耗时超过指定阈值时,将在慢写入日志中打印相关信息。慢写入阈值已在场景化模板的索引模板中配置,默认情况下已是最优,只需一键应用即可,详细信息请参见索引模板配置

    当您的业务出现写入耗时久的情况时,可查看Indexing慢日志进行排查。

    写入耗时越久,对集群的资源消耗越大。当日志存在大量的慢日志,请排查集群资源及负载情况,获取瓶颈项,根据瓶颈项及时扩充对应资源或使用集群限流插件(aliyun-qos)进行限流,以保证集群的稳定性。

    GC日志

    垃圾回收器日志。显示所有JVM堆内存占用触发的垃圾回收情况,通过GC日志可获取详细的垃圾回收信息,包括Old GC、CMS GC、Full GC以及Minor GC等回收机制。

    当集群出现性能瓶颈时,可通过GC日志获取详细的GC回收信息,查看是否存在耗时长或操作频繁的GC。如果存在,需要及时扩充集群资源或使用集群限流插件(aliyun-qos)进行限流,以保证集群的稳定性。

    重要

    默认情况下,阿里云Elasticsearch集群使用CMS回收器,而当数据节点内存大于等于32 GB时,建议使用G1回收器,以提高GC回收效率。详细信息请参见配置垃圾回收器

    ES访问日志

    集群的访问日志。显示Elasticsearch集群接收到restSearchAction相关请求的详细信息,包括uri、bodySize、请求时间等。

    重要
    • 仅6.7.0及7.10版本的实例支持在控制台查看ES访问日志

    • ES访问日志不支持以下查询场景日志:SQL查询、multi查询、 scroll查询、Kibana部分可视化工具触发的查询。

    • 如果您想获取更完善的查询写入请求信息,建议开启审计日志,详情请参见配置Auditlog(审计日志)

    当您需要排查哪些客户端在向Elasticsearch集群发送查询请求时,可通过ES访问日志获取。

    审计日志

    Elasticsearch实例对应的增、删、改、查等操作产生的审计日志。

    重要
    • 使用限制中所列地域的7.x及以上版本实例支持在控制台查看审计日志。其他实例需要在YML配置中开启审计日志,开启后审计日志会以索引形式写入当前的Elasticsearch集群中,您可以在Kibana控制台上查看.security_audit_log-*开头的索引来查看审计日志。详细信息请参见配置YML参数

    • 在控制台上查看审计日志前,需要先单击日志设置开启审计日志采集。

    • 审计日志默认采集的事件类型为access_denied, anonymous_access_denied, authentication_failed, connection_denied, tampered_request, run_as_denied, run_as_granted,如果您需要修改采集的审计事件类型,需要修改集群的YML文件中的xpack.security.audit.logfile.events.include参数,详细信息请参见配置Auditlog(审计日志)

    当您出现身份验证失败、拒绝连接、需要查看数据访问事件以及发现集群存在可疑活动(例如数据访问授权和用户安全配置更改)的情况时,可通过查看审计日志进行排查分析。

  5. 在日志页面的搜索框中,输入查询条件,选择开始时间和结束时间,单击搜索

    阿里云Elasticsearch最多支持查询连续7天内的日志,日志默认按时间倒序展示。支持基于Lucene的日志查询语法,详情请参见Query string syntax

    以查询content包含关键字healthlevelinfohost172.16.xx.xx的主日志为例,示例查询条件为:host:172.16.xx.xx AND content:health AND level:info

    重要
    • 查询条件中的AND必须为大写。

    • 如果结束时间为空,那么结束时间默认为当前时间。如果开始时间为空,那么开始时间默认为结束时间减去1小时。

    • 阿里云Elasticsearch最大支持返回10000条日志,如果在返回的10000条日志中,未覆盖到您所需要的日志内容,可以通过缩短查询时间范围来获取需要的日志。

    搜索成功后,阿里云Elasticsearch会根据您的查询条件返回日志查询结果,并展示在日志查询页面。

日志说明

主日志

主日志主要展示集群的运行日志,包括日志产生的时间、日志所在的节点IP和日志内容。ES日志查询结果

参数

说明

时间

日志产生时间。

节点IP

生成日志的节点的IP地址。

内容

日志的详细信息,主要由levelhosttimecontent组成:

  • level:日志级别。包括trace、debug、info、warn、error等。

    说明

    GC日志没有level

  • host:生成日志的节点的IP地址。

  • time:日志产生的时间。

  • content:日志的主要内容。

慢日志

慢日志默认开启,主要展示超过指定时间阈值的索引(Indexing慢日志)和查询(Searching慢日志)日志。在集群负载不均、读写异常、处理数据很慢等情况下,您可以通过查询慢日志来分析具体原因。

默认情况下,阿里云Elasticsearch的慢日志会记录5~10秒的读写操作,这样不利于排查问题。因此在实例创建完成后,您可以选择以下任意一种方式,降低日志记录的时间间隔,以抓取更多的日志:

  • 集群创建成功后,场景化配置模板默认已开启,且会自动应用到集群中。其中索引模板配置中定义了慢日志配置,您无需修改保持默认即可。其中通用场景默认的慢日志配置如下:

      "settings": {    "index": {      "search": {        "slowlog": {          "level": "info",          "threshold": {            "fetch": {              "warn": "200ms",              "trace": "50ms",              "debug": "80ms",              "info": "100ms"            },            "query": {              "warn": "500ms",              "trace": "50ms",              "debug": "100ms",              "info": "200ms"            }          }        }      },      "refresh_interval": "10s",      "unassigned": {        "node_left": {          "delayed_timeout": "5m"        }      },      "indexing": {        "slowlog": {          "level": "info",          "threshold": {            "index": {              "warn": "200ms",              "trace": "20ms",              "debug": "50ms",              "info": "100ms"            }          },          "source": "1000"        }      }    }  }
    说明

    如果场景化配置模板不启用状态,您需要参见修改场景化配置模板,启用并提交模板配置,才可以将默认的慢日志配置应用到集群。

  • 参见登录Kibana控制台,登录该实例的Kibana控制台,执行以下命令,修改慢日志配置。

    PUT _settings{    "index.indexing.slowlog.threshold.index.warn" : "200ms",    "index.indexing.slowlog.threshold.index.trace" : "20ms",    "index.indexing.slowlog.threshold.index.debug" : "50ms",    "index.indexing.slowlog.threshold.index.info" : "100ms",    "index.search.slowlog.threshold.fetch.warn" : "200ms",    "index.search.slowlog.threshold.fetch.trace" : "50ms",    "index.search.slowlog.threshold.fetch.debug" : "80ms",    "index.search.slowlog.threshold.fetch.info" : "100ms",    "index.search.slowlog.threshold.query.warn" : "500ms",    "index.search.slowlog.threshold.query.trace" : "50ms",    "index.search.slowlog.threshold.query.debug" : "100ms",    "index.search.slowlog.threshold.query.info" : "200ms"}

修改完成后,在执行读写任务时,如果执行时间超过了以上配置的时间,您就可以在慢日志页签中查询到对应的日志。慢日志

GC日志

GC日志默认开启,包含日志产生的时间、所在节点的IP地址和日志内容。详细信息,请参见主日志GC日志

ES访问日志

访问日志展示了Elasticsearch集群接收到restSearchAction相关请求的详细信息,包括集群node和IP地址、bodySize、请求内容、请求时间、发起请求的客户端IP地址、uri等信息。

重要
  • 仅6.7.0和7.10版本的实例支持在控制台查看ES访问日志

  • 如果您想获取更完善的查询写入请求信息,建议开启审计日志,详情请参见配置Auditlog(审计日志)

ES访问日志

审计日志

重要

使用限制中所列地域的7.x及以上版本实例支持在控制台查看审计日志。

审计日志主要展示Elasticsearch实例对应的增、删、改、查等操作产生的日志。默认关闭,您可以通过以下步骤开启并查看审计日志:

  1. 日志查询页面,单击右侧的日志设置

  2. 日志设置对话框中,打开审计日志采集开关。

    重要
    • 开启审计日志采集后,您可以在当前页面查询到该集群的审计日志。如果您需要修改采集的审计事件类型,请前往集群配置修改xpack.security.audit.logfile.events.include参数配置,详细信息请参见配置Auditlog(审计日志)

    • 开启或关闭审计日志采集会触发集群重启。目前阿里云Elasticsearch集群重启是采用滚动重启的方式。在集群状态正常(绿色)、索引至少包含1个副本的情况下,如果资源使用率也不是特别高,那么集群在重启期间能够持续提供服务。但建议在业务低峰期操作。

  3. 选中操作提示,单击确认

    确认后,集群会进行重启。重启过程中,可在任务列表查看进度。重启成功后,即可开启审计日志采集。

    重要

    审计日志信息会占用您的磁盘空间,同时也会影响性能。如果您不需要查看审计日志,可使用同样的方式关闭审计日志采集功能。

  4. 日志查询页面,单击审计日志页签,查看审计日志。

    审计日志

相关文档

ListSearchLog

常见问题