1.现象
最近监控系统新上了一组pg数据库,但是发现自动部署的exporter状态是正常的,metrics访问接口是正常的,prometheus和exporter机器网络也是通的,但是prometheus查询不到export状态。
2.问题定位
当发现prometheus查询不到exporter状态时,就到prometheus查询日志,发现报Unexpected response code: 429 (Your IP is issuing too many concurrent connections, please rate limit
错误,经过查询发现这个错误就是prometheus服务发现请求consul次数超过consul默认的200限制导致的。
3.问题解决
通常解决方法是:
在配置启动配置consul.json中添加
{
"limits": {
"http_max_conns_per_client": 1000
}
}
而我们系统是通过配置映射挂载在consul容器上,于是我修改了consul挂载的配置映射congfigMap
把配置设置成适合自己系统的数量既能保持consul的稳定又能有一定的吞吐量。