module Hcheck::Checks::Mongodb

mongodb check module implements status include mongodb check dependencies

Public Class Methods

included(_base) click to toggle source
# File lib/hcheck/checks/mongodb.rb, line 16
def self.included(_base)
  require 'mongo'
  Mongo::Logger.level = Logger::INFO
end

Public Instance Methods

status(config) click to toggle source

@config { hosts, user, password }

# File lib/hcheck/checks/mongodb.rb, line 8
def status(config)
  mongo_config = config.merge(connect_timeout: 3)
  hosts = mongo_config.delete(:hosts).compact
  client = Mongo::Client.new(hosts, mongo_config.merge(server_selection_timeout: hosts.count * 2))
  client.database_names
  client.close
end