您的位置:首页 > 数据库 > Mongodb

mongoDB的复制集4----复制集监控(状态查看)

2016-09-01 17:31 204 查看




一、复制集状态查看

复制集状态查询命令

  ①.复制集状态查询:rs.status()

  ②.查看oplog状态: rs.printReplicationInfo()

  ③.查看复制延迟:  rs.printSlaveReplicationInfo()

  ④.查看服务状态详情:   db.serverStatus()

1).rs.status()

  self:只会出现在执行rs.status()命令的成员里

  uptime:从本节点 网络可达到当前所经历的时间

  lastHeartbeat:当前服务器最后一次收到其心中的时间

  Optime & optimeDate:命令发出时oplog所记录的操作时间戳

  pingMs: 网络延迟

  syncingTo: 复制源

  stateStr:

    可提供服务的状态:primary, secondary, arbiter

    即将提供服务的状态:startup, startup2, recovering

    不可提供服务状态:down,unknow,removed,rollback,fatal

2).rs.printReplicationInfo()

  log length start to end: 当oplog写满时可以理解为时间窗口

  oplog last event time: 最后一个操作发生的时间

3).rs.printSlaveReplicationInfo()

  复制进度:synedTo

  落后主库的时间:X secs(X hrs)behind the primary

4).db.serverStatus()

  可以使用如下命令查找需要用到的信息

  db.serverStatus.opcounterRepl

  db.serverStatus.repl

5).常用监控项目:

  QPS: 每秒查询数量

  I/O: 读写性能

  Memory: 内存使用

  Connections: 连接数

  Page Faults: 缺页中断

  Index hit: 索引命中率

  Bakground flush: 后台刷新

  Queue: 队列

二、复制集常用监控工具

1).mongostat

  -h, --host   主机名或 主机名:端口

  --port     端口号

  -u ,--uername  用户名(验证)

  -p ,--password   密码(验证)

  --authenticationDatabase   从哪个库进行验证

  --discover   发现集群某个其他节点

changwen@ubuntu:~$ mongostat -h 192.168.23.129:28001

changwen@ubuntu:~$ mongostat -h 192.168.23.129:28001  --discover



mongostat重点关注的字段

  getmore  大量的排序操作在进行

  faults   需要的数据不在内存中

  locked db  锁比例最高的库

  index miss  索引未命中

  qr|qw   读写产生队列,供求失衡
2).mongostop:与mongostat基本一样

  -h, --host   主机名或 主机名:端口

  --port     端口号

  -u ,--uername  用户名(验证)

  -p ,--password   密码(验证)

  --authenticationDatabase   从哪个库进行验证
3).mongosniff--复制集有抓包工具

changwen@ubuntu:/usr/local/mongoDB/bin$ sudo ./mongosniff --help
Usage: mongosniff [--help] [--forward host:port] [--objcheck] [--source (NET <interface> | (FILE | DIAGLOG) <filename>)] [<port0> <port1> ... ]
--help          Print this help message.
--forward       Forward all parsed request messages to mongod instance at
specified host:port
--source        Source of traffic to sniff, either a network interface or a
file containing previously captured packets in pcap format,
or a file containing output from mongod's --diaglog option.
If no source is specified, mongosniff will attempt to sniff
from one of the machine's network interfaces.
--objcheck      Log hex representation of invalid BSON documents and nothing
else.  Spurious messages about invalid documents may result
when there are dropped tcp packets.
<port0>...      These parameters are used to filter sniffing.  By default,
only port 27017 is sniffed.

changwen@ubuntu:/usr/local/mongoDB/bin$ ifconfig
ens33     Link encap:Ethernet  HWaddr 00:0c:29:d0:64:58
inet addr:192.168.23.129  Bcast:192.168.23.255  Mask:255.255.255.0
inet6 addr: fe80::1381:709e:cfa6:5063/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:55356 errors:0 dropped:0 overruns:0 frame:0
TX packets:14779 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:57578721 (57.5 MB)  TX bytes:909977 (909.9 KB)

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:65536  Metric:1
RX packets:15001 errors:0 dropped:0 overruns:0 frame:0
TX packets:15001 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:958280 (958.2 KB)  TX bytes:958280 (958.2 KB)

changwen@ubuntu:/usr/local/mongoDB/bin$ sudo ./mongosniff --source NET lo port 28001
sniffing... 0 28001
4).ZABBIX--抓包工具
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息