Home Directory Plugins Databases check_mongodb_write.pl (Advanced Nagios Plugins Collection)

Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1
Email: sales@nagios.com

Login

Remember Me

Directory Tree

check_mongodb_write.pl (Advanced Nagios Plugins Collection)

Rating
0 votes
Favoured:
0
Compatible With
  • Nagios 1.x
  • Nagios 2.x
  • Nagios 3.x
  • Nagios 4.x
  • Nagios XI
Hits
26661
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
Checks MongoDB is working by writing a unique document and then reading it back
Part of the Advanced Nagios Plugins Collection.

Download it here:

https://github.com/harisekhon/nagios-plugins

check_mongodb_write.pl

Nagios Plugin to check MongoDB is working by writing a unique document and then reading it back

It will find and connect to the Primary from the given list of Mongod / Mongos nodes. Failing to find a viable Primary will result in the whole check aborting as the replica set / cluster is non-writable in that scenario.

Once it connects to the Primary, it will perform the following checks:

1. write a new unique document to the nagios collection with dynamically generated value
2. read the same document back, checking the value is identical to the value generated and written
3. delete the just created document
4. records the write/read/delete timings to a given precision and outputs perfdata for graphing
5. compares each operation's time taken against the warning/critical thresholds if given

Tested on MongoDB 2.4.8, standalone mongod, mongod Replica Sets, mongos with Sharded Replica Sets, with and without authentication
Write concern and Read concern take the following options with --write-concern and --read-concern:

'1' = primary only
'2' = primary + 1 secondary replica
'N' = N number of Mongod instances must acknowledge including Primary
'majority'

The query timeout for each write => read => delete operation is one quarter of the global --timeout

usage: check_mongodb_write.pl [ options ]

-H --host MongoDB host(s) to connect to (should be from same replica set), comma separated, with optional : suffixes. Tries hosts in given order from left to right to find Primary for write. Specifying any one host is sufficient as the rest will be auto-determined to find the primary ($MONGODB_HOST, $HOST)
-d --database Database to use (default: nagios)
-C --collection Collection to write test document to (default: check_mongodb_write)
-u --user MongoDB user ($MONGODB_USERNAME, $MONGODB_USER, $USERNAME, $USER)
-p --password MongoDB password ($MONGODB_PASSWORD, $PASSWORD)
--write-concern MongoDB write concern (defaults to '1' for a single node or 'majority'. See --help for details in header description)
--read-concern MongoDB read concern (defaults to '1' for a single node or 'majority'. See --help for details in header description)
--ssl Enable SSL, MongDB libraries must have been compiled with SSL and server must support it. Experimental
--sasl Enable SASL authentication, must be compiled in to the MongoDB perl driver to work. Experimental
--sasl-mechanism SASL mechanism (default: GSSAPI eg Kerberos on MongoDB Enterprise 2.4+ in which case this should be run from a valid kinit session, alternative PLAIN for LDAP using user/password against MongoDB Enterprise 2.6+ which is sent in plaintext so should be used over SSL). Experimental
-w --warning Warning threshold in seconds for each read/write/delete operation (use float for milliseconds)
-c --critical Critical threshold in seconds for each read/write/delete operation (use float for milliseconds)
--precision Number of decimal places for timings (default: 4)
-t --timeout Timeout in secs (default: 10)
-v --verbose Verbose mode (-v, -vv, -vvv ...)
-h --help Print description and usage options
-V --version Print version and exit