我使用的是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瓶颈
那么低版本(2.2.0)还有办法通过es api获取到15分钟的load吗
另外有关cpu使用率,他返回的是us的部分还是us+sy+wai的呢?我想区分开us和wai,主要为了分析是io瓶颈还是应用进程导致cpu瓶颈
2 个回复
weizijun - elasticsearch fan
赞同来自: JackGe
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
赞同来自:
不过你可以使用 Metricbeat 对系统的参数进行采集,只需要过滤出 ES 用户即可获取 ES 的相关信息
你可以参考下面的连接:
https://www.elastic.co/guide/e ... .html