阿里云Elasticsearch(简称ES)提供了查询与展示主日志、searching慢日志、indexing慢日志、GC日志和ES访问日志的功能。通过输入关键字和设置时间范围,就可以快速锁定需要查询的日志内容。

背景信息

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

说明

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

目前ES访问日志功能仅支持阿里云ES通用商业版6.7版本,且要将内核升级至最新版本才能使用,详情请参见更新内核补丁

操作步骤

本文以查询content包含关键字healthlevelinfohost172.16.xx.xx的阿里云ES主日志为例。

  1. 登录阿里云Elasticsearch控制台
  2. 在顶部菜单栏处,选择地域。
  3. 单击目标实例ID/名称链接。
  4. 单击左侧导航栏的日志查询
  5. 日志查询页面,单击主日志
  6. 在搜索框中输入查询条件。
    ES日志查询搜索条件

    本文档的查询条件为:host:172.16.xx.xx AND content:health AND level:info

    注意 查询条件中的AND必须为大写。
  7. 选择开始时间和结束时间,单击搜索
    注意
    • 如果结束时间为空,那么结束时间默认为当前时间。
    • 如果开始时间为空,那么开始时间默认为结束时间减去1小时。
    搜索成功后,阿里云ES会根据您的查询条件返回日志查询结果,并展示在日志查询页面。日志查询结果主要包括时间节点IP内容三部分。ES日志查询结果
    • 时间:日志产生时间。
    • 节点IP:阿里云ES实例的节点的IP地址。
    • 内容:主要由levelhosttimecontent组成。
      名称 描述
      level 日志级别。包括trace、debug、info、warn、error等(GC日志没有level)。
      host 阿里云ES实例的节点的IP地址。

      可在Kibana控制台的Monitoring页面中,单击Elasticsearch区域的Nodes,在节点列表中获取节点IP地址。

      说明 进入Kibana控制台的具体步骤请参见登录Kibana控制台
      time 日志产生的时间。
      content 日志的主要内容。

慢日志配置

默认情况下,阿里云ES的慢日志会记录5~10秒的读写操作,这样不利于排查问题(包括负载不均、读写异常、处理数据很慢等)。因此在创建完阿里云ES实例后,请登录该实例的Kibana控制台,执行以下命令,降低日志记录的时间戳,以抓取更多的日志。
说明 进入Kibana控制台的具体步骤请参见登录Kibana控制台
PUT _settings
{
        "index.indexing.slowlog.threshold.index.debug" : "10ms",
        "index.indexing.slowlog.threshold.index.info" : "50ms",
        "index.indexing.slowlog.threshold.index.warn" : "100ms",
        "index.search.slowlog.threshold.fetch.debug" : "100ms",
        "index.search.slowlog.threshold.fetch.info" : "200ms",
        "index.search.slowlog.threshold.fetch.warn" : "500ms",
        "index.search.slowlog.threshold.query.debug" : "100ms",
        "index.search.slowlog.threshold.query.info" : "200ms",
        "index.search.slowlog.threshold.query.warn" : "1s"
}

配置完成后,在执行读写任务时,如果执行时间超过了以上配置的时间,那么您就可以在阿里云ES的日志查询页面查询到对应的日志。

相关文档

ListSearchLog