本文介绍了Mongo DB太多MongoDB page _ faults错误报告的实例分析和逐步排除故障的方法。内容非常详细,有兴趣的朋友可以参考一下,希望对大家有所帮助。
早上,运维的同学,早上打来电话,说zabbix的MONGO监控到了报警。图片发给我,报告的错误是mongodb page_faults太多。
最初,page_faults的根本原因是MONGO瞬间从磁盘读取了大量数据,从而导致了page_faults。
此时,一些MONGO DBA会立即响应,查看是否有完整的COLLECION SCAN,因为没有好的索引,大量的扫描会导致这个问题。
但是这个问题的奇妙之处在于,报告错误的PAGE_FAULTS机器没有查询(不是主库)。既然没有查询,你是怎么得到page_faults的?
官方解释截图
立即确认刚启动的MONGO standy库是否存在page_faults问题。
这些是有问题的机器。(不要笑。新机器中肯定没有这么多页面错误。)
比较主机的page_faults。
果然,这个问题机有很多page_faults。
另外,看看内存状态。果然,SWAP已经被使用了。
通过mongostat查看,系统没有任何问题。
看着日志。
可以看到日志已经指向了advisoryHostFQDNS,通过日志发现这个错误一直在发生,执行一个命令需要80秒。
经过查询,可能有几个原因,因为这个advisoryHostFQDNs是集群中每一台MONGODB机器的域名解析,这里查询的信息来自OPS MANANGER,说明我们这边域名解析可能存在一些问题。
这里解决问题的方法:填写每台机器上所有集群MONGODB和OPS MANANGE上HOSTS的机器名称,而不是通过DNS解析,看能否解决以上问题。
mongo db太多MongoDB page _ faults错误报告和逐步排除故障的示例分析在此分享,希望。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/66426.html