- Reference >
- Database Commands >
- Replication Commands >
- replSetGetStatus
replSetGetStatus¶
On this page
Definition¶
- replSetGetStatus¶
The replSetGetStatus command returns the status of the replica set from the point of view of the current server. You must run the command against the admin database. The command has the following prototype format:
{ replSetGetStatus: 1 }
The value specified does not affect the output of the command. Data provided by this command derives from data included in heartbeats sent to the current instance by other members of the replica set. Because of the frequency of heartbeats, these data can be several seconds out of date.
You can also access this functionality through the rs.status() helper in the mongo shell.
The mongod must have replication enabled and be a member of a replica set for the for replSetGetStatus to return successfully.
Example¶
The following example runs the replSetGetStatus command on the admin database of the replica set primary:
use admin
db.runCommand( { replSetGetStatus : 1 } )
Consider the following example output:
{
"set" : "replset",
"date" : ISODate("2016-11-02T20:02:16.543Z"),
"myState" : 1,
"term" : NumberLong(1),
"heartbeatIntervalMillis" : NumberLong(2000),
"optimes" : {
"lastCommittedOpTime" : {
"ts" : Timestamp(1478116934, 1),
"t" : NumberLong(1)
},
"readConcernMajorityOpTime" : {
"ts" : Timestamp(1478116934, 1),
"t" : NumberLong(1)
},
"appliedOpTime" : {
"ts" : Timestamp(1478116934, 1),
"t" : NumberLong(1)
},
"durableOpTime" : {
"ts" : Timestamp(1478116934, 1),
"t" : NumberLong(1)
}
},
"members" : [
{
"_id" : 0,
"name" : "m1.example.net:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 269,
"optime" : {
"ts" : Timestamp(1478116934, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2016-11-02T20:02:14Z"),
"infoMessage" : "could not find member to sync from",
"electionTime" : Timestamp(1478116933, 1),
"electionDate" : ISODate("2016-11-02T20:02:13Z"),
"configVersion" : 1,
"self" : true
},
{
"_id" : 1,
"name" : "m2.example.net:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 14,
"optime" : {
"ts" : Timestamp(1478116934, 1),
"t" : NumberLong(1)
},
"optimeDurable" : {
"ts" : Timestamp(1478116934, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2016-11-02T20:02:14Z"),
"optimeDurableDate" : ISODate("2016-11-02T20:02:14Z"),
"lastHeartbeat" : ISODate("2016-11-02T20:02:15.618Z"),
"lastHeartbeatRecv" : ISODate("2016-11-02T20:02:14.866Z"),
"pingMs" : NumberLong(0),
"syncingTo" : "m3.example.net:27017",
"configVersion" : 1
},
{
"_id" : 2,
"name" : "m3.example.net:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 14,
"optime" : {
"ts" : Timestamp(1478116934, 1),
"t" : NumberLong(1)
},
"optimeDurable" : {
"ts" : Timestamp(1478116934, 1),
"t" : NumberLong(1)
},
"optimeDate" : ISODate("2016-11-02T20:02:14Z"),
"optimeDurableDate" : ISODate("2016-11-02T20:02:14Z"),
"lastHeartbeat" : ISODate("2016-11-02T20:02:15.619Z"),
"lastHeartbeatRecv" : ISODate("2016-11-02T20:02:14.787Z"),
"pingMs" : NumberLong(0),
"syncingTo" : "m1.example.net:27018",
"configVersion" : 1
}
],
"ok" : 1
}
Output¶
The replSetGetStatus command returns a document with the following fields:
- replSetGetStatus.set¶
The set value is the name of the replica set, configured in the replSetName setting. This is the same value as _id in rs.conf().
- replSetGetStatus.date¶
The value of the date field is an ISODate of the current time, according to the current server. Compare this to the value of the lastHeartbeat to find the operational lag between the current host and the other hosts in the set.
- replSetGetStatus.myState¶
The value of myState is an integer between 0 and 10 that represents the replica state of the current member.
- replSetGetStatus.term¶
3.2 新版功能.
The election count for the replica set, as known to this replica set member. The term is used by the distributed consensus algorithm to ensure correctness.
If using protocolVersion: 0, instead of protocolVersion: 1, returns -1.
- replSetGetStatus.heartbeatIntervalMillis¶
3.2 新版功能.
The frequency in milliseconds of the heartbeats.
- replSetGetStatus.optimes¶
3.4 新版功能.
The optimes field holds a document that contains information on various optimes. Optimes are a reference to a position in the replication “oplog”, and are reported here to show replication progress for various operations.
If using protocolVersion: 1, the optime value is a document that contains:
- ts, the Timestamp of the operation.
- t, the term in which the operation was originally generated on the primary.
If using protocolVersion: 0, the optime value is a Timestamp of the operation.
- replSetGetStatus.optimes.lastCommittedOpTime¶
Information, from the viewpoint of this member, regarding the most recent operation that has been written to a majority of replica set members.
- replSetGetStatus.optimes.readConcernMajorityOpTime¶
Information, from the viewpoint of this member, regarding the most recent operation that can fulfill read concern "majority" queries; i.e. the most recent lastCommittedOpTime that can fulfill "majority" queries. readConcernMajorityOpTime is either less than or equal to lastCommittedOpTime.
- replSetGetStatus.optimes.appliedOpTime¶
Information, from the viewpoint of this member, regarding the most recent operation that has been applied to this member of the replica set.
- replSetGetStatus.optimes.durableOpTime¶
Information,, from the viewpoint of this member, regarding the most recent operation that has been written to the journal of this member of the replica set.
- replSetGetStatus.members¶
The members field holds an array that contains a document for every member in the replica set.
- replSetGetStatus.members[n].name¶
The name field holds the name of the server.
- replSetGetStatus.members[n].self¶
The self field is only included in the document for the current mongod instance in the members array. Its value is true.
- replSetGetStatus.members[n].health¶
The health value is only present for the other members of the replica set (i.e. not the member that returns rs.status). This field conveys if the member is up (i.e. 1) or down (i.e. 0).
- replSetGetStatus.members.state¶
The value of state is an integer between 0 and 10 that represents the replica state of the member.
- replSetGetStatus.members[n].stateStr¶
A string that describes state.
- replSetGetStatus.members[n].uptime¶
The uptime field holds a value that reflects the number of seconds that this member has been online.
This value does not appear for the member that returns the rs.status() data.
- replSetGetStatus.members[n].optime¶
Information regarding the last operation from the operation log that this member has applied.
在 3.2 版更改.
If using protocolVersion: 1, optime returns a document that contains:
- ts, the Timestamp of the last operation applied to this member of the replica set from the oplog.
- t, the term in which the last applied operation was originally generated on the primary.
If using protocolVersion: 0, optime returns the Timestamp of the last operation applied to this member of the replica set from the oplog.
- replSetGetStatus.members[n].optimeDurable¶
3.4 新版功能.
Information regarding the last operation from the operation log that this member has applied to its journal.
If using protocolVersion: 1, optime returns a document that contains:
- ts, the Timestamp of the operation.
- t, the term in which this operation was originally generated on the primary.
If using protocolVersion: 0, optime returns the Timestamp of the operation.
- replSetGetStatus.members[n].optimeDate¶
An ISODate formatted date string that reflects the last entry from the oplog that this member applied. If this differs significantly from lastHeartbeat this member is either experiencing “replication lag” or there have not been any new operations since the last update. Compare members.optimeDate between all of the members of the set.
- replSetGetStatus.members[n].optimeDurableDate¶
3.4 新版功能.
An ISODate formatted date string that reflects the last entry from the oplog that this member applied to its journal.
- replSetGetStatus.members[n].electionTime¶
For the current primary, information regarding the election Timestamp from the operation log. See 复制集选举 for more information about elections.
- replSetGetStatus.members[n].electionDate¶
For the current primary, an ISODate formatted date string that reflects the election date. See 复制集选举 for more information about elections.
- replSetGetStatus.members[n].self¶
Indicates which replica set member processed the replSetGetStatus command.
- replSetGetStatus.members[n].lastHeartbeat¶
The lastHeartbeat value provides an ISODate formatted date and time of the transmission time of last heartbeat received from this member. Compare this value to the value of the date and lastHeartBeatRecv field to track latency between these members.
This value does not appear for the member that returns the rs.status() data.
- replSetGetStatus.members[n].lastHeartbeatRecv¶
The lastHeartbeatRecv value provides an ISODate formatted date and time that the last heartbeat was received from this member. Compare this value to the value of the date and lastHeartBeat field to track latency between these members.
- replSetGetStatus.members[n].lastHeartbeatMessage¶
When the last heartbeat included an extra message, the lastHeartbeatMessage contains a string representation of that message.
- replSetGetStatus.members[n].pingMs¶
The pingMs represents the number of milliseconds (ms) that a round-trip packet takes to travel between the remote member and the local instance.
This value does not appear for the member that returns the rs.status() data.
- replSetGetStatus.members[n].syncingTo¶
The syncingTo field is only present on the output of rs.status() on secondary and recovering members, and holds the hostname of the member from which this instance is syncing.
- replSetGetStatus.members[n].configVersion¶
3.0 新版功能.
The configVersion value is the replica set configuration version.