def _initialize(self):
        # The number of entries to request each pass
        self.__lines_to_fetch = self._config.get('lines_to_fetch', default=500, convert_to=int, min_value=10, max_value=5000)

        # The number of seconds to wait before redisplaying connection errors
        self.__connection_error_repeat_interval = self._config.get('connection_error_repeat_interval', default=300, convert_to=int, min_value=10, max_value=6000)

        # The number of seconds to wait when querying the redis server
        self.__connection_timeout = self._config.get('connection_timeout', default=5, convert_to=int, min_value=0, max_value=60)

        # The number of seconds to wait before reissuing warnings about invalid utf8 in slowlog messages.
        self.__utf8_warning_interval = self._config.get('utf8_warning_interval', default=600, convert_to=int, min_value=0, max_value=6000)

        # Redis-py requires None rather than 0 if no timeout
        if self.__connection_timeout == 0:
            self.__connection_timeout = None

        # A list of RedisHosts
        self.__redis_hosts = []

        hosts = self._config.get( 'hosts' )

        default_config = { "host" : "localhost", "port" : 6379, "password" : None }

        # add at least one host if none were specified
        if not hosts:
            hosts = [ default_config ]

        for host in hosts:
            #update the config, using default values for anything that was unspecified
            config = default_config.copy()
            config.update( host )

            #create a new redis host
            redis_host = RedisHost( config['host'], config['port'], config['password'], self.__connection_timeout ) 
            redis_host.utf8_warning_interval = self.__utf8_warning_interval
            self.__redis_hosts.append( redis_host )
Performs monitor-specific initialization.
dataset/ETHPy150Open scalyr/scalyr-agent-2/scalyr_agent/builtin_monitors/redis_monitor.py/RedisMonitor._initialize