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