概述
网上查询关于increase
的使用知道大概,但当具体使用时,关于其指标详情理解,仍然云里雾里,本人在使用过程中,关于该指标,有以下总结。
官网描述
increase(v range-vector) calculates the increase in the time series in the range vector. Breaks in monotonicity (such as counter resets due to target restarts) are automatically adjusted for. The increase is extrapolated to cover the full time range as specified in the range vector selector, so that it is possible to get a non-integer result even if a counter increases only by integer increments.
从官网的描述可以得到如下信息:
- 横坐标是时间范围;
- 计算的结果可能包含小数,由此可知
increase
所得结果并不是简单的减法所得。
案例分析
以如下案例做进一步讲解,下面这个指标主要用来计算 K8S Pod什么时间发生重启,并重启多少次 :
increase(kube_pod_container_status_restarts_total{k8s_cluster_name=~"$k8s_cluster_name", pod=~".*$container_name.*", pod!~".*istio-proxy.*"}[24h])
从上图可以可以得出以下结论:
increase
函数本周期的First
的取值源自上个计算周期的Last
值,如果计算周期是 24h,即改值是上个24小时的Last
值;- Mean 值是由 Total/Count 得出;
- 如果一个 Pod 中的 container 重启了多次,但后续时间段没有再发生重启,则该 Pod 在后续时间范围会是一条非0直线,如上图所示;
- 一个 Pod 如果连续多天发生重启失败然后反复重启的情况,则该Pod在非0纵坐标上会有小波浪线组成的直线,如下图所示
hip-fast-design-service-6769b7b6f5-9d2z
Pod, 会一直在255,256,255…之间波动,如下所示,Pod 的状态会是Waiting 和 Terminated 之间轮询切换;
- 根据 increase 指标,求 sum,会四舍五入得到整数数值,如下所示: