public void init(AgentConfig agentConfig) throws IOException {
		this.agentConfig = agentConfig;
		Set<String> systemDataCollector = new HashSet<>();
		systemDataCollector.add(SYSTEM);
		MonitorContext.getInstance().setDataCollectors(systemDataCollector);
		int port = agentConfig.getMonitorProperties().getPropertyInt(PROP_MONITOR_BINDING_PORT);
		this.rmiRegistry = LocateRegistry.createRegistry(port);
		MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
		String hostname = agentConfig.getMonitorBindingIP();
		if (StringUtils.isBlank(hostname)) {
			hostname = NetworkUtils.getAllPBindingAddress();
		}
 		final String jmxUrlString = String.format("service:jmx:rmi://%s:%d/jndi/rmi://%s:%d/jmxrmi", hostname, port, hostname, port);
		JMXServiceURL jmxUrl = new JMXServiceURL(jmxUrlString);
		this.jmxServer = JMXConnectorServerFactory.newJMXConnectorServer(jmxUrl, null, mBeanServer);
		RegisterMXBean.getInstance().addDefaultMXBean(mBeanServer);
		LOG.info("Service URL:{} is initiated.", jmxUrl);
	}
Initialize the monitor server.

@param agentConfig agentConfig
@throws IOException IO error
ngrinder-core/src/main/java/org/ngrinder/monitor/agent/MonitorServer.java