项目场景:
使用prometheus+grafana搭建对mongoDB集群的监控。
问题描述
使用prometheus时发现mongodb exporter的/metrics数据展示接口很慢,延迟高。
看了一下大概是10s

原因分析:
由于是在云服务器上进行搭建的。
经过尝试之后发现创建mongodb exporter时填写的url不同会出现不同的加载速度。
docker run -d -p 9216:9216 --restart=always --name=mongodb-exporter-myrs_27017_2_wai_network bitnami/mongodb-exporter:latest --collect-all --compatible-mode \
--mongodb.uri=mongodb://exporter-myrs_27017:password@ip:27017/admin?ssl=false
exporter-myrs_27017:数据库用户名
password:数据库密码
ip:mongodb数据库url对应ip地址
27017:mongodb向外暴露的端口号
当ip为localhost (耗时10.07s)

当ip为公网地址 (耗时0.317s)

当ip为内网地址 (耗时0.218s)

(上述截图中的消耗时间可视为/metrics接口的平均响应时间)
可见,localhost响应时间最长,内网响应时间最短。
解决方案:
mongodb的ip改为内网地址。
项目使用prometheus+grafana监控mongoDB集群时,发现mongodbexporter的/metrics接口响应慢,平均耗时10s。问题源于mongodbexporter创建时使用的URL,localhost导致的延迟最高,而使用内网地址则响应最快。解决方案是将mongodb的IP地址更改为内网地址以优化性能。
1462

被折叠的 条评论
为什么被折叠?



