MongoDB 监控

2021-07-01 10:32:24 浏览数 (1)

MongoDB 监控

MongoDB自带了mongostat和mongotop这两个命令来监控MongoDB的运行情况。这两个命令对于我们处理MongoDB数据库变慢等等问题非常有用,能详细的统计MongoDB当前的状态信息。除此之外,还可以用db.serverStatus()、db.stats()、开启profile功能通过查看日志进行监控分析。

mongostat 命令

# 它每秒钟刷新一次状态值,提供良好的可读性,通过这些参数可以观察到一个整体的性能情况。

[root@localhost ~]# mongostat

以上命令输出结果如下:

字段说明:

insert: 每秒插入量

query: 每秒查询量

update: 每秒更新量

delete: 每秒删除量

locked: 锁定量

qr | qw: 客户端查询排队长度(读|写)

ar | aw: 活跃客户端量(读|写)

conn: 连接数

time: 当前时间

mongotop 命令

# 它每秒钟刷新一次状态值,提供良好的可读性,通过这些参数可以观察到一个整体的性能情况。

[root@localhost ~]# mongotop --help

代码语言:javascript复制
View live MongoDB collection statistics.Options:  --help                                 显示帮助信息  -v [ --verbose ]                   be more verbose (include multiple times                                             for more verbosity e.g. -vvvvv)  --quiet                                silence all non error diagnostic                                              messages  --version                             版本号  -h [ --host ] arg                  主机地址( <set name>/s1,s2 for sets)  --port arg                           服务端口,也可以使用 --host hostname:port  --ipv6                                 开启IPV6,默认关闭  -u [ --username ] arg         用户名  -p [ --password ] arg         密码  --authenticationDatabase arg          user source (defaults to dbname)  --authenticationMechanism arg (=MONGODB-CR)                                                            authentication mechanism  --gssapiServiceName arg (=mongodb)    Service name to use when authenticating                                                            using GSSAPI/Kerberos  --gssapiHostName arg                     Remote host name to use for purpose of                                                             GSSAPI/Kerberos authentication  --locks                                               查看数据库锁的情况

[root@localhost ~]# mongotop

以上命令执行输出结果如下:

输出字段说明:

ns:数据库命名空间,后者结合了数据库名称和集合。

db:数据库的名称。名为 . 的数据库针对全局锁定,而非特定数据库。

total:mongod在这个命令空间上花费的总时间。

read:在这个命令空间上mongod执行读操作花费的时间。

write:在这个命名空间上mongod进行写操作花费的时间。

带参数实例

[root@localhost ~]# mongotop 10

后面的10是<sleeptime>参数 ,可以不使用,等待的时间长度,以秒为单位,mongotop等待调用之间。通过的默认mongotop返回数据的每一秒。

0 人点赞