项目场景:
使用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
改为内网地址。