Skip to content

sielaq/RSstatus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 

Repository files navigation

RSstatus

mongo replica set status command line tool

Why ?

Since mongo 3.x HTTP api is not available
(challenge-response user authentication mechanism is not suported)
but the information in human readable format is needed.

OMG why bash ?

If you know the madness of mongo ruby / python changes in gems / libraries,
moreover, having pinned a specific version (of mentioned libraries) for tools that you already have
makes everything complex to handle.

So, to be agnostic from that, it was the only reasonable choice.

Requirements

Script is based on jshon or jq - JSON parser tools
just install one of it, like:

apt-get install jshon || yum install jshon
or
apt-get install jq || yum install jq

If system is secured,
create readolny user in mogodb with clusterMonitor role:

  db.createUser({
    "user": "readonly",
    "pwd": "readonly",
    "roles": [{
      "role": "clusterMonitor",
      "db": "admin"
    },]
  })

if mongosh is used,
keep in mind to disable prompt in /.mongoshrc.js:

prompt=function(){return "";}

Run

$ ./rsstatus.sh 
+---------------------------------------------------------------------------------------+
| Member               | Id | Up | Votes | Priority | State              | optime       |
| mongo-ams1-001:27017 | 0  | 1  | 1     | 2        | PRIMARY            | 593b1518:3   |
| mongo-ams1-002:27017 | 1  | 1  | 1     | 2        | SECONDARY          | 593b1518:3   |
| mongo-ams2-001:27017 | 2  | 1  | 0     | 0        | RECOVERING(hidden) | 5937d173:393 |
| mongo-ams2-002:27017 | 3  | 1  | 1     | 1        | SECONDARY          | 593b1518:3   |
+---------------------------------------------------------------------------------------+

About

mongo replica set status command line tool

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages