lib/sensu-plugins-mongodb/metrics.rb in sensu-plugins-mongodb-boutetnico-1.1.1 vs lib/sensu-plugins-mongodb/metrics.rb in sensu-plugins-mongodb-boutetnico-1.2.0

- old
+ new

@@ -21,20 +21,13 @@ def connect_mongo_db(db_name) if @connected raise 'Already connected to a database' end - db_user = @config[:user] - db_password = @config[:password] @mongo_client = get_mongo_client(db_name) - if Gem.loaded_specs['mongo'].version < Gem::Version.new('2.0.0') - @db = @mongo_client.db(db_name) - @db.authenticate(db_user, db_password) unless db_user.nil? - else - @db = @mongo_client.database - end + @db = @mongo_client.database end # Fetches a document from the mongo db. # # @param command [Mesh] the command to search documents with. @@ -319,23 +312,26 @@ server_metrics['metrics.repl.network.bytes'] = repl['network']['bytes'] server_metrics['metrics.repl.network.getmores_num'] = repl['network']['getmores']['num'] server_metrics['metrics.repl.network.getmores_totalMillis'] = repl['network']['getmores']['totalMillis'] server_metrics['metrics.repl.network.ops'] = repl['network']['ops'] server_metrics['metrics.repl.network.readersCreated'] = repl['network']['readersCreated'] - server_metrics['metrics.repl.preload.docs_num'] = repl['preload']['docs']['num'] - server_metrics['metrics.repl.preload.docs_totalMillis'] = repl['preload']['docs']['totalMillis'] - server_metrics['metrics.repl.preload.indexes_num'] = repl['preload']['indexes']['num'] - server_metrics['metrics.repl.preload.indexes_totalMillis'] = repl['preload']['indexes']['totalMillis'] + if Gem::Version.new(mongo_version) <= Gem::Version.new('4.0.0') + server_metrics['metrics.repl.preload.docs_num'] = repl['preload']['docs']['num'] + server_metrics['metrics.repl.preload.docs_totalMillis'] = repl['preload']['docs']['totalMillis'] + server_metrics['metrics.repl.preload.indexes_num'] = repl['preload']['indexes']['num'] + server_metrics['metrics.repl.preload.indexes_totalMillis'] = repl['preload']['indexes']['totalMillis'] + end + # Metrics (replicaset status) # MongoDB will fail if not running with --replSet, hence the check for nil unless replicaset_status.nil? server_metrics['metrics.replicaset.state'] = replicaset_status['myState'] end # Metrics (storage) - if Gem::Version.new(mongo_version) >= Gem::Version.new('2.6.0') + if Gem::Version.new(mongo_version) <= Gem::Version.new('4.0.0') freelist = server_status['metrics']['storage']['freelist'] server_metrics['metrics.storage.freelist.search_bucketExhauseted'] = freelist['search']['bucketExhausted'] server_metrics['metrics.storage.freelist.search_requests'] = freelist['search']['requests'] server_metrics['metrics.storage.freelist.search_scanned'] = freelist['search']['scanned'] end @@ -373,27 +369,23 @@ ssl_cert = @config[:ssl_cert] ssl_key = @config[:ssl_key] ssl_ca_cert = @config[:ssl_ca_cert] ssl_verify = @config[:ssl_verify] - if Gem.loaded_specs['mongo'].version < Gem::Version.new('2.0.0') - MongoClient.new(host, port) - else - address_str = "#{host}:#{port}" - client_opts = {} - client_opts[:database] = db_name - unless db_user.nil? - client_opts[:user] = db_user - client_opts[:password] = db_password - end - if ssl - client_opts[:ssl] = true - client_opts[:ssl_cert] = ssl_cert - client_opts[:ssl_key] = ssl_key - client_opts[:ssl_ca_cert] = ssl_ca_cert - client_opts[:ssl_verify] = ssl_verify - end - Mongo::Client.new([address_str], client_opts) + address_str = "#{host}:#{port}" + client_opts = {} + client_opts[:database] = db_name + unless db_user.nil? + client_opts[:user] = db_user + client_opts[:password] = db_password end + if ssl + client_opts[:ssl] = true + client_opts[:ssl_cert] = ssl_cert + client_opts[:ssl_key] = ssl_key + client_opts[:ssl_ca_cert] = ssl_ca_cert + client_opts[:ssl_verify] = ssl_verify + end + Mongo::Client.new([address_str], client_opts) end end end