docs: def _authenticate(self, database, username, password, use_x509, server_name, service_check_tags):
          """
          Authenticate to the database.
  
          Available mechanisms:
          * Username & password
          * X.509
  
          More information:
          https://api.mongodb.com/python/current/examples/authentication.html
          """
          authenticated = False
          try:
              # X.509
              if use_x509:
                  self.log.debug(u"Authenticate `%s`  to `%s` using `MONGODB-X509` mechanism", username, database)
                  authenticated = database.authenticate(username, mechanism='MONGODB-X509')
  
              # Username & password
              else:
                  authenticated = database.authenticate(username, password)
  
          except pymongo.errors.PyMongoError as e:
              self.log.error(u"Authentication failed due to invalid credentials or configuration issues. %s", e)
  
          if not authenticated:
              message = "Mongo: cannot connect with config %s" % server_name
              self.service_check(self.SERVICE_CHECK_NAME, AgentCheck.CRITICAL, tags=service_check_tags, message=message)
              raise Exception(message)
  
          return authenticated