在k8s环境中,常使用prometheus+grafana做监控组件,prometheus负责采集、存储数据,grafana负责监控数据的可视化。
在实际的使用中,有时会遇到这样的问题,k8s集群中的时间比真实时间慢,这个时候,在grafana上查看数据面板的时候,可能会出现数据缺失的情况,那么这个问题如何解决呢?
grafana在查询prometheus数据的时候,时间默认是取的浏览器的时间作为标准时间,即使用本地电脑时间作为标准时间,如下图所示:
电脑时间为10点35,则浏览器时间也是10点35,last 6 hours的时间范围为:04点35~10点35。
如果k8s集群中的时间比电脑本地时间慢10分钟,那么在grafana查询这个时间范围的数据可能就查不到。这个时候我们可能就会想到把grafana的时间调慢10分钟,没错,就是要这样做,那么在grafana上如何实现呢?
首先登录grafana,然后点击左上角面板的设置按钮:
点击General菜单栏,找到Now delay now-,从字面意思可以看出,这是修改grafana默认时间的,
如上图,如果浏览器时间比k8s集群时间慢10分钟,将这个值设置为10m,修改之后点击Save dashboard保存,在弹出的页面中选择如下两个复选框(有几个选几个,都选上),然后点左上角返回按钮返回面板页。
注:s表示秒,m表示分钟,h表示小时。
注意!!!
改完之后,还需要切换时间范围,使修改生效。
如下图,可以看到时间范围已经减10m了。
然后再点击保存按钮保存当前时间范围的修改。
如下图,勾选将当前时间范围保存为面板默认时间范围。