MongoDB入门到进阶笔记:06- 实时监控 mongostat

下载 tools
mongodb-database-tools-rhel70-x86_64-100.6.0.tgz

解压到 mongodb/bin目录下
[root@5e7b4039fa6f bin]# pwd
/data/mongodb/bin
[root@5e7b4039fa6f bin]#
[root@5e7b4039fa6f bin]# ll
total 366500
-rwxr-xr-x. 1 root root 14006152 Aug 18 21:04 bsondump
-rwxr-xr-x. 1 root root 15205 Sep 29 11:18 install_compass
-rwxr-xr-x. 1 root root 58599688 Sep 29 12:05 mongo
-rwxr-xr-x. 1 root root 110063096 Sep 29 12:04 mongod
-rwxr-xr-x. 1 root root 16681384 Aug 18 21:04 mongodump
-rwxr-xr-x. 1 root root 16342896 Aug 18 21:04 mongoexport
-rwxr-xr-x. 1 root root 17288152 Aug 18 21:04 mongofiles
-rwxr-xr-x. 1 root root 16615512 Aug 18 21:04 mongoimport
-rwxr-xr-x. 1 root root 17062464 Aug 18 21:04 mongorestore
-rwxr-xr-x. 1 root root 76724856 Sep 29 12:05 mongos
-rwxr-xr-x. 1 root root 16173064 Aug 18 21:04 mongostat
-rwxr-xr-x. 1 root root 15705384 Aug 18 21:04 mongotop

mongodb实时监控之mongostat
mongostat可以实时监控mongodb的状态,一直刷新输出
测试脚本
for(i=1; i<=50000;i++){
db.myuser.insert( {name:’mytest’+i, age:i} )
}

mongostat –help
mongostat -h 127.0.0.1:27017
root@5e7b4039fa6f bin]# mongostat
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
418 *0 *0 *0 0 0|0 0.3% 0.3% 0 1.66G 194M 0|0 0|1 76.3k 164k 4 Nov 2 11:13:27.970
320 *0 *0 *0 0 1|0 0.3% 0.3% 0 1.66G 194M 0|0 0|0 58.5k 139k 4 Nov 2 11:13:28.967
381 *0 *0 *0 0 0|0 0.3% 0.3% 0 1.66G 194M 0|1 0|0 69.6k 154k 4 Nov 2 11:13:29.970
365 *0 *0 *0 0 1|0 0.3% 0.4% 0 1.66G 194M 0|0 0|0 66.7k 151k 4 Nov 2 11:13:30.968
371 *0 *0 *0 0 1|0 0.4% 0.4% 0 1.66G 194M 0|0 0|1 67.7k 152k 4 Nov 2 11:13:31.967
346 *0 *0 *0 0 0|0 0.4% 0.4% 0 1.66G 194M 0|0 0|1 63.2k 146k 4 Nov 2 11:13:32.967
352 *0 *0 *0 0 0|0 0.4% 0.4% 0 1.66G 194M 0|0 0|1 64.3k 147k 4 Nov 2 11:13:33.967
299 *0 *0 *0 0 0|0 0.4% 0.4% 0 1.66G 194M 0|0 0|1 54.7k 134k 4 Nov 2 11:13:34.968
328 *0 *0 *0 0 1|0 0.4% 0.4% 0 1.66G 194M 0|0 0|1 59.8k 141k 4 Nov 2 11:13:35.967
307 *0 *0 *0 0 3|0 0.4% 0.4% 0 1.66G 194M 0|0 0|1 56.2k 136k 4 Nov 2 11:13:36.967
dirty: 脏数据
flushes 刷新后dirty会清零

mongodb监控之serverStatus
serverStatus可用来获取mongodb的状态信息
db.serverStatus()#查看所有的监控信息
db.serverStatus().network#单独查看网络流量信息
db.serverStatus().network
{
“bytesIn” : NumberLong(98285080),
“bytesOut” : NumberLong(51318350),
“physicalBytesIn” : NumberLong(98280936),
“physicalBytesOut” : NumberLong(51318350),
“numSlowDNSOperations” : NumberLong(0),
“numSlowSSLOperations” : NumberLong(0),
“numRequests” : NumberLong(538374),
“tcpFastOpen” : {
“kernelSetting” : NumberLong(0),
“serverSupported” : true,
“clientSupported” : false,
“accepted” : NumberLong(0)
},
“compression” : {
“snappy” : {
“compressor” : {

db.serverStatus().mem #内存
db.serverStatus().mem
{ “bits” : 64, “resident” : 194, “virtual” : 1701, “supported” : true }

db.serverStatus().opcounters#统计增、删、改、查的次数
db.serverStatus().opcounters
{
“insert” : NumberLong(537487),
“query” : NumberLong(69),
“update” : NumberLong(26),
“delete” : NumberLong(9),
“getmore” : NumberLong(0),
“command” : NumberLong(1069)
}

db.serverStatus().connections#连接
db.serverStatus().connections
{
“current” : 4,
“available” : 838856,
“totalCreated” : 20,
“active” : 2,
“threaded” : 4,
“exhaustIsMaster” : 0,
“exhaustHello” : 1,
“awaitingTopologyChanges” : 1
}

使用非交互式shell进行获取
echo ‘db.serverStatus()’ | mongo
echo ‘db.serverStatus().opcounters’ | mongo
[root@5e7b4039fa6f ~]# echo ‘db.serverStatus().opcounters’ | mongo
MongoDB shell version v5.0.13
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { “id” : UUID(“627d44f9-7102-441a-8a8a-547da8d9e672”) }

MongoDB server version: 5.0.13

Warning: the “mongo” shell has been superseded by “mongosh”,
which delivers improved usability and compatibility.The “mongo” shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see

https://docs.mongodb.com/mongodb-shell/install/

{
“insert” : NumberLong(537487),
“query” : NumberLong(70),
“update” : NumberLong(28),
“delete” : NumberLong(14),
“getmore” : NumberLong(0),
“command” : NumberLong(1434)
}
bye
echo ‘db.serverStatus().opcounters.insert’ |mongo
[root@5e7b4039fa6f ~]# echo ‘db.serverStatus().opcounters.insert’ |mongo
MongoDB shell version v5.0.13
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { “id” : UUID(“15a87edc-5902-4a0b-97c2-3c9be5ff320f”) }
MongoDB server version: 5.0.13
Warning: the “mongo” shell has been superseded by “mongosh”,
which delivers improved usability and compatibility.The “mongo” shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
NumberLong(537487)


数据运维技术 » MongoDB入门到进阶笔记:06- 实时监控 mongostat