23rwe 发表于 2014-10-9 13:52:56

MongoDB监控三 MongoDB自带监控方法


[*]REST接口

MongoDB提供一个简单的REST接口可用于配置监控和告警脚本和其他一些管理任务。
可以通过在命令行添加 --rest参数或在配置文件加上rest=true开启REST接口支持。
具体可以参见文档http://docs.mongodb.org/ecosystem/tools/http-interfaces/


[*]HTTP接口
MongoDB提供一个简单的HTTP接口,如当前MongoDB实例运行的端口是28018,那么可以通过http://127.0.0.1:38018 访问
具体可以参见文档http://docs.mongodb.org/ecosystem/tools/http-interfaces/

[*]MongoDB数据库命令
MongoDB提供一些数据库命令可以细粒度的反映MongoDB的运行情况,可以将这些命令的输出结果用于编写自定义监控脚本。

db.currentOp()返回一个文档记录数据库实例当前正在执行的操作
db.currentOp()可以不带参数或带一个true参数,带true参数可以显示更多详细的信息,包括空闲的连接和系统操作。
db.currentOp(true)
只有具有管理员权限的用户才可以使用db.currentOp()
可以使用db.killOp()加上opid参数结束掉正在执行的操作,但是这样操作需要特别小心。
db.currentOp()返回一个包含一个叫inprog数组的文档。
opid                     表示当前操作的ID
active                   值为true表示操作已经开始执行,为false表示操作正在排队等待执行
op                     操作类型,query表示查询操作,insert表示插入操作,update表示更新操作,remove表示删除操作还可能的值为getmore和command
ns                     操作的库名和表名
query                  表示查询的具体操作,getmore,insert和command操作会显示空
client                   显示客户端连接的IP和端口
desc                     表示客户端连接的描述信息
threadId               处理当前操作的线程ID
connectionId             当前操作发起的连接ID
waitingForLock         值为true表示当前操作正在等待一个锁,值为false表示已经得到需要的锁
numYields                这个字段表示当前操作让步其他操作完成的次数。通常情况下,当一个操作需要的数据MongoDB还没有全部读入内存时,这个操作会让步于其他需要的数据已经全部读入内存的操作
lockStats                这个





1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
    "inprog" : [
      {
            "opid" : 4293208,
            "active" : false,
            "op" : "query",
            "ns" : "",
            "query" : {
                "getlasterror" : 1
            },
            "client" : "10.4.13.130:36112",
            "desc" : "conn105082",
            "threadId" : "0x7feace984700",
            "connectionId" : 105082,
            "waitingForLock" : false,
            "numYields" : 0,
            "lockStats" : {
                "timeLockedMicros" : {
                  "R" : NumberLong(0),
                  "W" : NumberLong(166),
                  "r" : NumberLong(304),
                  "w" : NumberLong(0)
                },
                "timeAcquiringMicros" : {
                  "R" : NumberLong(0),
                  "W" : NumberLong(3),
                  "r" : NumberLong(6),
                  "w" : NumberLong(0)
                }
            }
      },



页: [1]
查看完整版本: MongoDB监控三 MongoDB自带监控方法