可根据rs.status() 查询集群服务器状态.
字段解释:
- self 这个信息出现在执行rs.status()函数的成员信息中
- stateStr用户描述服务器状态的字符串。有SECONDARY,PRIMARY,RECOVERING等
- uptime 从成员可到达一直到现在经历的时间,单位是秒。
- optimeDate 每个成员oplog最后一次操作发生的时间,这个时间是心跳报上来的,因此可能会存在延迟
- lastHeartbeat 当前服务器最后一次收到其他成员心跳的时间,如果网络故障等可能这个时间会大于2秒
- pinMs 心跳从当前服务器达到某个成员所花费的平均时间
- errmsg 成员在心跳请求中返回的状态信息,通过是一些状态信息,不全是错误信息。
state和stateStr是重复的,都表示成员状态,只是state是内部的叫法。
health 为1表示server正常,0表示server宕.
health 为1表示server正常,0表示server宕.
state 为1表明Primary,2表明secondary,3表示Recovering,7表示Arbiter,8表示Down.
optime与optimeDate表达的信息也是一样的,只是表示的方式不同,一个是用新纪元开始的毫秒数表示的,一个是用一种更容易阅读的方式表示。
syncingTo表示当前服务器从哪个节点在做同步。
由于rs.status()是从执行命令成员本身的角度得出的,由于网路等故障,这份报告可能不准确或者有些过时。
optime与optimeDate表达的信息也是一样的,只是表示的方式不同,一个是用新纪元开始的毫秒数表示的,一个是用一种更容易阅读的方式表示。
syncingTo表示当前服务器从哪个节点在做同步。
由于rs.status()是从执行命令成员本身的角度得出的,由于网路等故障,这份报告可能不准确或者有些过时。