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配置项

把配置设置成适合自己系统的数量既能保持consul的稳定又能有一定的吞吐量。

更多推荐