[Pkg-nagios-changes] [pkg-nagios-plugins-contrib] 01/01: check_mongodb: Update to latest upstream
Jan Wagner
waja at moszumanska.debian.org
Mon Aug 17 11:44:12 UTC 2015
This is an automated email from the git hooks/post-receive script.
waja pushed a commit to branch master
in repository pkg-nagios-plugins-contrib.
commit 140e08e0f2e5753b713dee5e17868af10d7d8bab
Author: Jan Wagner <waja at cyconet.org>
Date: Mon Aug 17 13:28:03 2015 +0200
check_mongodb: Update to latest upstream
---
check_mongodb/check_mongodb.py | 37 ++++++++++++++++++++++++++++++++-----
check_mongodb/control | 2 +-
2 files changed, 33 insertions(+), 6 deletions(-)
diff --git a/check_mongodb/check_mongodb.py b/check_mongodb/check_mongodb.py
index 1586f0b..55615b8 100644
--- a/check_mongodb/check_mongodb.py
+++ b/check_mongodb/check_mongodb.py
@@ -125,16 +125,16 @@ def main(argv):
p = optparse.OptionParser(conflict_handler="resolve", description="This Nagios plugin checks the health of mongodb.")
p.add_option('-H', '--host', action='store', type='string', dest='host', default='127.0.0.1', help='The hostname you want to connect to')
- p.add_option('-P', '--port', action='store', type='int', dest='port', default=27017, help='The port mongodb is runnung on')
+ p.add_option('-P', '--port', action='store', type='int', dest='port', default=27017, help='The port mongodb is running on')
p.add_option('-u', '--user', action='store', type='string', dest='user', default=None, help='The username you want to login as')
p.add_option('-p', '--pass', action='store', type='string', dest='passwd', default=None, help='The password you want to use for that user')
- p.add_option('-W', '--warning', action='store', dest='warning', default=None, help='The warning threshold we want to set')
- p.add_option('-C', '--critical', action='store', dest='critical', default=None, help='The critical threshold we want to set')
+ p.add_option('-W', '--warning', action='store', dest='warning', default=None, help='The warning threshold you want to set')
+ p.add_option('-C', '--critical', action='store', dest='critical', default=None, help='The critical threshold you want to set')
p.add_option('-A', '--action', action='store', type='choice', dest='action', default='connect', help='The action you want to take',
choices=['connect', 'connections', 'replication_lag', 'replication_lag_percent', 'replset_state', 'memory', 'memory_mapped', 'lock',
'flushing', 'last_flush_time', 'index_miss_ratio', 'databases', 'collections', 'database_size', 'database_indexes', 'collection_indexes', 'collection_size',
- 'queues', 'oplog', 'journal_commits_in_wl', 'write_data_files', 'journaled', 'opcounters', 'current_lock', 'replica_primary', 'page_faults',
- 'asserts', 'queries_per_second', 'page_faults', 'chunks_balance', 'connect_primary', 'collection_state', 'row_count', 'replset_quorum'])
+ 'collection_storageSize', 'queues', 'oplog', 'journal_commits_in_wl', 'write_data_files', 'journaled', 'opcounters', 'current_lock', 'replica_primary',
+ 'page_faults', 'asserts', 'queries_per_second', 'page_faults', 'chunks_balance', 'connect_primary', 'collection_state', 'row_count', 'replset_quorum'])
p.add_option('--max-lag', action='store_true', dest='max_lag', default=False, help='Get max replication lag (for replication_lag action only)')
p.add_option('--mapped-memory', action='store_true', dest='mapped_memory', default=False, help='Get mapped memory instead of resident (if resident memory can not be read)')
p.add_option('-D', '--perf-data', action='store_true', dest='perf_data', default=False, help='Enable output of Nagios performance data')
@@ -230,6 +230,8 @@ def main(argv):
return check_collection_indexes(con, database, collection, warning, critical, perf_data)
elif action == "collection_size":
return check_collection_size(con, database, collection, warning, critical, perf_data)
+ elif action == "collection_storageSize":
+ return check_collection_storageSize(con, database, collection, warning, critical, perf_data)
elif action == "journaled":
return check_journaled(con, warning, critical, perf_data)
elif action == "write_data_files":
@@ -956,6 +958,31 @@ def check_collection_size(con, database, collection, warning, critical, perf_dat
except Exception, e:
return exit_with_general_critical(e)
+
+def check_collection_storageSize(con, database, collection, warning, critical, perf_data):
+ warning = warning or 100
+ critical = critical or 1000
+ perfdata = ""
+ try:
+ set_read_preference(con.admin)
+ data = con[database].command('collstats', collection)
+ storageSize = data['storageSize'] / 1024 / 1024
+ if perf_data:
+ perfdata += " | collection_storageSize=%i;%i;%i" % (storageSize, warning, critical)
+
+ if storageSize >= critical:
+ print "CRITICAL - %s.%s storageSize: %.0f MB %s" % (database, collection, storageSize, perfdata)
+ return 2
+ elif storageSize >= warning:
+ print "WARNING - %s.%s storageSize: %.0f MB %s" % (database, collection, storageSize, perfdata)
+ return 1
+ else:
+ print "OK - %s.%s storageSize: %.0f MB %s" % (database, collection, storageSize, perfdata)
+ return 0
+ except Exception, e:
+ return exit_with_general_critical(e)
+
+
def check_queries_per_second(con, query_type, warning, critical, perf_data, mongo_version):
warning = warning or 250
critical = critical or 500
diff --git a/check_mongodb/control b/check_mongodb/control
index f0508d3..98c5ef6 100644
--- a/check_mongodb/control
+++ b/check_mongodb/control
@@ -1,6 +1,6 @@
Uploaders: Jan Wagner <waja at cyconet.org>
Recommends: python-pymongo
-Version: 19e6b2c8f4
+Version: abf2daad31
Homepage: https://github.com/mzupan/nagios-plugin-mongodb
Watch: https://github.com/mzupan/nagios-plugin-mongodb <span class="sha">([0-9a-f]+)</span>
Description: Plugin script to monitor your MongoDB server(s)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-nagios/pkg-nagios-plugins-contrib.git
More information about the Pkg-nagios-changes
mailing list