阿里云Elasticsearch提供了查询与展示主日志、searching慢日志、indexing慢日志、GC日志、ES访问日志和异步写入日志的功能。通过输入关键字和设置时间范围,就可以快速锁定需要查询的日志内容。本文为您介绍查询日志以及配置慢日志的方法。

背景信息

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

说明
  • 阿里云Elasticsearch最大支持返回10000条日志,如果在返回的10000条日志中,未覆盖到您所需要的日志内容,可以通过缩短查询时间范围来获取需要的日志。
  • 目前ES访问日志功能仅支持通用商业版6.7.0版本的实例,且要将内核升级至最新版本才能使用,详情请参见更新内核补丁

操作步骤

以查询content包含关键字healthlevelinfohost172.16.xx.xx的主日志为例。

  1. 登录阿里云Elasticsearch控制台
  2. 在顶部菜单栏处,选择资源组和地域。
  3. 在左侧导航栏,单击Elasticsearch实例,再在实例列表中单击目标实例ID。
  4. 在左侧导航栏,单击日志查询
  5. 主日志页签的搜索框中输入查询条件。
    ES日志查询搜索条件

    示例查询条件为:host:172.16.xx.xx AND content:health AND level:info

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

配置慢日志

默认情况下,阿里云Elasticsearch的慢日志会记录5~10秒的读写操作,这样不利于排查问题(包括负载不均、读写异常、处理数据很慢等)。因此在实例创建完成后,您可以登录该实例的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"
}

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

相关文档

ListSearchLog