1. mongodb监控
服务上线后,运维要对mongodb进行监控。
监控一方面要安全问题服务是否异常,有无恶意写入或操作。
另一方看性能问题,比如流量增长情况,是否需要扩容。
2. serverStatus
serverStatus为mongodb的基本命令,用来查看系统信息。
在mongodb服务器终端输入命令:
db.serverStatus();
会返回下面东西
{
"host" : "192.168.0.1:9980",
"version" : "2.4.9",
"process" : "mongod",
"pid" : 17472,
"uptime" : 183099,
"uptimeMillis" : NumberLong(183099365),
"uptimeEstimate" : 182091,
"localTime" : ISODate("2014-03-29T09:26:03.779Z"),
"asserts" : {
"regular" : 0,
"warning" : 0,
"msg" : 0,
"user" : 17,
"rollovers" : 0
},
"connections" : {
"current" : 55,
"available" : 8137,
"totalCreated" : NumberLong(147027)
},
"cursors" : {
"totalOpen" : 0,
"clientCursors_size" : 0,
"timedOut" : 0
}
截取了一部分。主要是服务器版本, 运行时间, 当前连接数等统计信息。
3. mongostat
mongostat是mongodb自带的工具。用来监控mongodb。
运行方式:
./bin/mongostat --host 192.168.0.1 --port 9980
输出:
insert query update delete getmore command flushes mapped vsize res faults locked db idx miss % qr|qw ar|aw netIn netOut conn set repl time
*0 *0 *0 *0 0 4|0 0 10.3g 21.4g 51m 0 test:0.0% 0 0|0 0|0 382b 7k 62 repl1 SEC 17:37:57
insert
每秒写入的值
getmore
get more操作得罪
command
每秒命令数, 如果为slave,表示 local|replicated
mapped
本地数据库大小
vsize
占用虚拟内存大小
res
常驻内存的大小
qr
客户端等待读的长度
wr
客户端等待写的长度
ar
客户端活跃的读数
aw
客户端活跃的写数
netIn
流入的网络流量
netout
输出的网络流量
conn
连接数
repl
成员状态
M
master
SEC
secondary
REC
recovering
UNK
unknown
SLV
slave
上面这些参数,监控都需要关注。