更新时间:2024-09-19 GMT+08:00
分享

配置Elasticsearch集群内核监控

场景描述

表1 集群内核监控介绍

集群内核监控增强

描述

支持的集群版本

相关文档

P99时延监控

开源Elasticsearch在监控search请求时仅提供了平均延迟指标,这不足以准确反映集群的实际搜索性能。为了改进这一点,CSS服务新增了P99延迟监控特性,能够有效地监控集群search请求的第99百分位延迟。

Elasticsearch 7.6.2、Elasticsearch 7.10.2、

监控P99时延

HTTP状态码

通过HTTP对Elasticsearch的访问会收到响应和相应的状态码,但开源的Elasticsearch原生不支持对这些状态码进行统计,导致无法精确掌握接口调用的具体状况,用户也无法通过监控了解集群的整个请求情况。为了改进这一点,CSS服务新增了HTTP状态码监控功能,能够获取HTTP状态码统计信息。

Elasticsearch 7.6.2、Elasticsearch 7.10.2、

监控HTTP状态码

访问集群

  1. 登录云搜索服务管理控制台。
  2. “集群管理”页面,选择需要访问的集群,单击操作列“Kibana”,登录Kibana页面。
  3. 选择左侧导航栏的“Dev Tools”,进入操作页面。

监控P99时延

执行以下命令,获取当前集群的P99时延。
GET /search/stats/percentile 

返回示例如下:

{
  "overall" : {
    "1.0" : 2.0,
    "5.0" : 2.0,
    "25.0" : 6.5,
    "50.0" : 19.5,
    "75.0" : 111.0,
    "95.0" : 169.0,
    "99.0" : 169.0,
    "max" : 169.0,
    "min" : 2.0
  },
  "last_one_day" : {
    "1.0" : 2.0,
    "5.0" : 2.0,
    "25.0" : 6.5,
    "50.0" : 19.5,
    "75.0" : 111.0,
    "95.0" : 169.0,
    "99.0" : 169.0,
    "max" : 169.0,
    "min" : 2.0
  },
  "latest" : {
    "1.0" : 26.0,
    "5.0" : 26.0,
    "25.0" : 26.0,
    "50.0" : 26.0,
    "75.0" : 26.0,
    "95.0" : 26.0,
    "99.0" : 26.0,
    "max" : 26.0,
    "min" : 26.0
  }
}
表2 返回参数说明

参数

说明

overall

表示集群从启动到当前时间的统计数值。

last_one_day

表示最近一天的统计数值。

latest

表示从上次重置到当前时间的统计数值。

  • P99时延的计算是近似值,不提供精确值,越靠近两端的统计值越准确,即99%的时延比50%的时延更准确。
  • 当重启集群时,P99时延的数据将被清空,会从集群重启成功后重新计算。

监控集群P99时延的命令还可以设置其他配置项。

  • 可以自定义监控的百分百数值。
    例如执行如下命令,显示1%、50%和90%的时延数据。
    GET /search/stats/percentile
    {
      "percents": [1, 50, 90]
    }
  • 支持手动重置latest统计值。
    执行以下命令,重置latest统计值。
    POST /search/stats/reset

    如下所示,返回“ok”,表示重置成功。

    {
      "nodes" : {
        "css-c9c8-ess-esn-1-1" : "ok"
      }
    }

监控HTTP状态码

根据集群版本选择监控HTTP状态码的命令。
  • Elasticsearch 7.6.2集群执行如下命令,获取HTTP状态码统计。
    GET /_nodes/http_stats

    返回样例:

    {   
        "_nodes" : {     
          "total" : 1,    
          "successful" : 1,     
          "failed" : 0   },  
         "cluster_name" : "css-8362",   
         "nodes" : {     
          "F9IFdQPARaOJI7oL7HOXtQ" : {       
             "http_code" : {        
                "200" : 114,        
                "201" : 5,        
                "429" : 0,       
                "400" : 7,         
                "404" : 0,        
                "405" : 0      
               }     
             }   
          }
     }
  • Elasticsearch 7.10.2集群执行如下命令,获取HTTP状态码统计。
    GET _nodes/stats/http 

    返回样例:

    {
    ......
      "cluster_name" : "css-2985",
      "nodes" : {
    ......
        "omvR9_W-TsGApraMApREjA" : {
    ......
          "http" : {
            "current_open" : 4,
            "total_opened" : 37,
            "http_code" : {
              "200" : 25,
              "201" : 7,
              "429" : 0,
              "400" : 3,
              "404" : 0,
              "405" : 0
            }
          }
        }
      }
    }

相关文档