即使是不成熟的尝试,也胜于胎死腹中的策略。

elasticsearch 对load average指标的监控问题

Elasticsearch | 作者 code4j | 发布于2018年09月29日 | 阅读数:3264

我使用的是elasticsearch2.2.0版本,使用GET _nodes/stats/os 接口能抓到load_average,但是看了下源码说明这个load只是近一分钟的,还有五分钟和十五分钟的不在这里。但是高版本的集群我看是区分了1m,5m15m的。
那么低版本(2.2.0)还有办法通过es api获取到15分钟的load吗
 
另外有关cpu使用率,他返回的是us的部分还是us+sy+wai的呢?我想区分开us和wai,主要为了分析是io瓶颈还是应用进程导致cpu瓶颈
已邀请:

weizijun - elasticsearch fan

赞同来自: JackGe

es 2.x版本只有一个load,是通过jmx, getSystemLoadAverage方法得到的。
cpu是使用getSystemCpuLoad得到的,jdk文档看起来是cpu使用的总和

double getSystemCpuLoad()
Returns the "recent cpu usage" for the whole system. This value is a double in the [0.0,1.0] interval. A value of 0.0 means that all CPUs were idle during the recent period of time observed, while a value of 1.0 means that all CPUs were actively running 100% of the time during the recent period being observed. All values betweens 0.0 and 1.0 are possible depending of the activities going on in the system. If the system recent cpu usage is not available, the method returns a negative value.Returns:
the "recent cpu usage" for the whole system; a negative value if not available.
Since:
1.7

rochy - rochy_he

赞同来自:

低版本的确实没有办法获取 5m,15m 的 load,对于 CPU 使用时间,高版本也是不支持获取这么详细的
 
不过你可以使用 Metricbeat 对系统的参数进行采集,只需要过滤出 ES 用户即可获取 ES 的相关信息
你可以参考下面的连接:
https://www.elastic.co/guide/e ... .html

要回复问题请先登录注册