thanos-query查询数据异常的问题
现象
在grafana上,通过thanos-query查询监控数据,选择短的时间范围,比如30分钟之内,可以正常查询数据;但是当时间范围大于30分钟之后,无法获取到监控数据。
排查
排除外部环境的干扰
使用port-forward将pod映射出来,排除k8s ingress或者service的原因,使用port-forward直接访问还是同样的现象
使用其他版本的grafana同样无法访问,排除grafana版本问题
正式排查
浏览器F12,时间范围选择5分钟,请求都正常
浏览器F12,时间范围选择30分钟,一些请求正常,一些请求处于pending状态,一段时间后返回502 Bad Gateway,但是直接在数据源中用表达式查询,可以正常获取数据,可能是grafana到数据源之间有问题
分别查看grafana和数据源以及中间环节相关组件的日志。查看thanos query组件发现有大量http 503日志,搜索相关issue发现 github.com/thanos-io/t… , issue里面说超时或者取消请求(强制刷新)都有可能导致503代码,新版本会解决。发现当前版本比较旧,为v0.15.0,所有相关组件更新到v0.22.0。更新之后现象依旧。
目前grafana正常(连接其他数据源正常),thanos正常(直接访问正常),但是grafana到thanos异常
修改数据源access为direct(browser)模式,关闭basic auth,可正常访问,问题解决。
原因分析
具体原因有待继续分析。环境一直都在,可以轻易复现,待有时间再差深层原因,并更新此文章。
作者:用户2503005331113
链接:https://juejin.cn/post/7025957808818356237