参考地址 MongoDB - 监控
随着MongoDB中保存的数据越来越多,对MongoDB服务状态的监控也越来越重要,经常关注服务是否健康,才能防止故障以及优化。
1.静态监控db.serverStatus()
使用mongo命令进入shell客户端后输入以下命令可以查看MongoDB服务的状态,有助于故障诊断和性能分析。
db.serverStatus()
此命令的输出信息非常多,看得眼花缭乱,可以根据实际情况有选择地查询监控信息。
主机名
db.serverStatus().host
锁
db.serverStatus().locks
全局锁
db.serverStatus().globalLock
内存
db.serverStatus().mem
连接数
db.serverStatus().connections
额外信息
db.serverStatus().extra_info
索引统计
db.serverStatus().indexCounters
后台刷新
db.serverStatus().backgroundFlushing
游标
db.serverStatus().cursors
网络
db.serverStatus().network
副本集
db.serverStatus().repl
副本集操作计数器
db.serverStatus().opcountersRepl
操作计数器
db.serverStatus().opcounters
断言
db.serverStatus().asserts
回写队列
db.serverStatus().writeBacksQueued
持久化
db.serverStatus().dur
记录状态
db.serverStatus().recordStats
工作集
db.serverStatus({workingSet:1}).workingSet
指标
db.serverStatus().metrics
2.动态监控mongostat
MongoDB还提供了动态的监控工具mongostat,mongostat会每秒输出一次serverStatus提供的重要信息。(有点类似Linux系统上的top工具)。
$ mongostat insert query update delete getmore command % dirty % used flushes vsize res qr|qw ar|aw netIn netOut conn time *0 *0 *0 *0 0 1|0 0.0 0.0 0 316M 58.0M 0|0 0|0 79b 21.1k 1 2018-05-21T17:03:55+08:00 *0 *0 *0 *0 0 1|0 0.0 0.0 0 316M 58.0M 0|0 0|0 79b 21.1k 1 2018-05-21T17:03:56+08:00 *0 *0 *0 *0 0 1|0 0.0 0.0 0 316M 58.0M 0|0 0|0 79b 21.1k 1 2018-05-21T17:03:57+08:00 *0 *0 *0 *0 0 1|0 0.0 0.0 0 316M 58.0M 0|0 0|0 79b 21.1k 1 2018-05-21T17:03:58+08:00 *0 *0 *0 *0 0 1|0 0.0 0.0 0 316M 58.0M 0|0 0|0 79b 21.1k 1 2018-05-21T17:03:59+08:00 *0 *0 *0 *0 0 1|0 0.0 0.0 0 316M 58.0M 0|0 0|0 79b 21.1k 1 2018-05-21T17:04:00+08:00
3.第三方工具
除了上述方法可以对MongoDB进行监控,还有一些第三方的工具,如:Hyperic、Zabbix、OpenFalcon等,可以根据实际需要选择。
作者:yuanzicheng
链接:https://www.jianshu.com/p/3aee695037bc
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。