def _get_metrics_api(server): assert server['server_properties']['scalarizr.key'], \ "Server %s doesn't have a scalarizr key" % server['server_id'] host = { 'public':server['remote_ip'], 'local':server['local_ip'], 'auto':server['remote_ip'] if server['remote_ip'] else server['local_ip'], }[CONFIG['instances_connection_policy']] port = server['server_properties']['scalarizr.api_port'] headers = None if 'vpc_ip' in server: if server['remote_ip']: host = server['remote_ip'] else: host = server['vpc_ip'] port = 80 headers = { 'X-Receiver-Host':server['local_ip'], 'X-Receiver-Port':server['server_properties']['scalarizr.api_port'], } key = cryptotool.decrypt_key(server['server_properties']['scalarizr.key']) api_type = server['os_type'] metrics = server['metrics'] timeout = CONFIG['instances_connection_timeout'] return szr_api.get_metrics(host, port, key, api_type, metrics, headers=headers, timeout=timeout)
def _get_metrics_api(server): assert server['server_properties']['scalarizr.key'], \ "Server %s doesn't have a scalarizr key" % server['server_id'] host = { 'public': server['remote_ip'], 'local': server['local_ip'], 'auto': server['remote_ip'] if server['remote_ip'] else server['local_ip'], }[CONFIG['instances_connection_policy']] port = server['server_properties']['scalarizr.api_port'] headers = None if 'vpc_ip' in server: if server['remote_ip']: host = server['remote_ip'] else: host = server['vpc_ip'] port = 80 headers = { 'X-Receiver-Host': server['local_ip'], 'X-Receiver-Port': server['server_properties']['scalarizr.api_port'], } key = cryptotool.decrypt_key(server['server_properties']['scalarizr.key']) api_type = server['os_type'] metrics = server['metrics'] timeout = CONFIG['instances_connection_timeout'] return szr_api.get_metrics(host, port, key, api_type, metrics, headers=headers, timeout=timeout)
def _get_metrics_api(self, server): assert_msg = "Server: '%s' doesn't have a scalarizr key" % server[ 'server_id'] assert server['scalarizr.key'], assert_msg headers = {'X-Server-Id': server['server_id']} instances_connection_policy = self.scalr_config.get( server['platform'], {}).get('instances_connection_policy', self.scalr_config['instances_connection_policy']) ip, port, proxy_headers = helper.get_szr_api_conn_info( server, instances_connection_policy) headers.update(proxy_headers) key = cryptotool.decrypt_key(server['scalarizr.key']) api_type = server['os_type'] metrics = server['metrics'] timeout = self.config['instances_connection_timeout'] return szr_api.get_metrics(ip, port, key, api_type, metrics, headers=headers, timeout=timeout)
def _get_metrics_api(server): assert_msg = "Server:'%s' doesn't have a scalarizr key" % server['server_id'] assert server['scalarizr.key'], assert_msg instances_connection_policy = SCALR_CONFIG.get(server['platform'], {}).get( 'instances_connection_policy', SCALR_CONFIG['instances_connection_policy']) ip, port, headers = helper.get_szr_api_conn_info(server, instances_connection_policy) key = cryptotool.decrypt_key(server['scalarizr.key']) api_type = server['os_type'] metrics = server['metrics'] timeout = CONFIG['instances_connection_timeout'] return szr_api.get_metrics( ip, port, key, api_type, metrics, headers=headers, timeout=timeout)
def _get_metrics_api(self, server): assert_msg = "Server: '%s' doesn't have a scalarizr key" % server['server_id'] assert server['scalarizr.key'], assert_msg headers = {'X-Server-Id': server['server_id']} instances_connection_policy = self.scalr_config.get(server['platform'], {}).get( 'instances_connection_policy', self.scalr_config['instances_connection_policy']) ip, port, proxy_headers = helper.get_szr_api_conn_info(server, instances_connection_policy) headers.update(proxy_headers) key = cryptotool.decrypt_key(server['scalarizr.key']) api_type = server['os_type'] metrics = server['metrics'] timeout = self.config['instances_connection_timeout'] return szr_api.get_metrics( ip, port, key, api_type, metrics, headers=headers, timeout=timeout)
def test_get_metrics(): host = 'localhost' port = '8010' key = 'YaOtBabuhkiYhelYaOtDeduhkiYhel' with mock.patch('scalrpy.util.rpc.HttpServiceProxy') as HttpServiceProxy: hsp = HttpServiceProxy.return_value hsp.sysinfo.cpu_stat.return_value = {'user':0, 'nice':0, 'system':0, 'idle':0} hsp.sysinfo.mem_info.return_value = { 'total_swap':0, 'avail_swap':0, 'total_real':0, 'total_free':0, 'shared':0, 'buffer':0, 'cached':0} hsp.sysinfo.net_stats.return_value = { 'eth0':{'receive':{'bytes':0}, 'transmit':{'bytes':0}}} hsp.sysinfo.load_average.return_value = [0.0, 0.0, 0.0] hsp.sysinfo.disk_stats.return_value = { 'xvda1':{ 'write':{ 'num':0, 'bytes':0, 'sectors':0}, 'read':{ 'num':0, 'bytes':0, 'sectors':0}}, 'loop0':{ 'write':{ 'num':0, 'bytes':0, 'sectors':0}, 'read':{ 'num':0, 'bytes':0, 'sectors':0}}} data = szr_api.get_metrics(host, port, key, 'linux', ['cpu', 'la', 'mem', 'net']) assert data == { 'cpu':{ 'user':0.0, 'nice':0.0, 'system':0.0, 'idle':0.0, }, 'la':{ 'la1':0.0, 'la5':0.0, 'la15':0.0, }, 'mem':{ 'swap':0.0, 'swapavail':0.0, 'total':0.0, 'avail':None, 'free':0.0, 'shared':0.0, 'buffer':0.0, 'cached':0.0, }, 'net':{ 'in':0.0, 'out':0.0, }, } hsp.sysinfo.net_stats.return_value = { 'xxx Ethernet Adapter _0':{'receive':{'bytes':0}, 'transmit':{'bytes':0}}} data = szr_api.get_metrics(host, port, key, 'windows', ['cpu', 'mem', 'net']) assert data == { 'cpu':{ 'user':0.0, 'nice':0.0, 'system':0.0, 'idle':0.0, }, 'mem':{ 'swap':0.0, 'swapavail':0.0, 'total':0.0, 'avail':None, 'free':0.0, }, 'net':{ 'in':0.0, 'out':0.0, }, }
def test_get_metrics(): host = 'localhost' port = '8010' key = 'YaOtBabuhkiYhelYaOtDeduhkiYhel' with mock.patch('scalrpy.util.rpc.HttpServiceProxy') as HttpServiceProxy: hsp = HttpServiceProxy.return_value hsp.sysinfo.cpu_stat.return_value = { 'user': 0, 'nice': 0, 'system': 0, 'idle': 0 } hsp.sysinfo.mem_info.return_value = { 'total_swap': 0, 'avail_swap': 0, 'total_real': 0, 'total_free': 0, 'shared': 0, 'buffer': 0, 'cached': 0 } hsp.sysinfo.net_stats.return_value = { 'eth0': { 'receive': { 'bytes': 0 }, 'transmit': { 'bytes': 0 } } } hsp.sysinfo.load_average.return_value = [0.0, 0.0, 0.0] hsp.sysinfo.disk_stats.return_value = { 'xvda1': { 'write': { 'num': 0, 'bytes': 0, 'sectors': 0 }, 'read': { 'num': 0, 'bytes': 0, 'sectors': 0 } }, 'loop0': { 'write': { 'num': 0, 'bytes': 0, 'sectors': 0 }, 'read': { 'num': 0, 'bytes': 0, 'sectors': 0 } } } data = szr_api.get_metrics(host, port, key, 'linux', ['cpu', 'la', 'mem', 'net']) assert data == { 'cpu': { 'user': 0.0, 'nice': 0.0, 'system': 0.0, 'idle': 0.0, }, 'la': { 'la1': 0.0, 'la5': 0.0, 'la15': 0.0, }, 'mem': { 'swap': 0.0, 'swapavail': 0.0, 'total': 0.0, 'avail': None, 'free': 0.0, 'shared': 0.0, 'buffer': 0.0, 'cached': 0.0, }, 'net': { 'in': 0.0, 'out': 0.0, }, } hsp.sysinfo.net_stats.return_value = { 'xxx Ethernet Adapter _0': { 'receive': { 'bytes': 0 }, 'transmit': { 'bytes': 0 } } } data = szr_api.get_metrics(host, port, key, 'windows', ['cpu', 'mem', 'net']) assert data == { 'cpu': { 'user': 0.0, 'nice': 0.0, 'system': 0.0, 'idle': 0.0, }, 'mem': { 'swap': 0.0, 'swapavail': 0.0, 'total': 0.0, 'avail': None, 'free': 0.0, }, 'net': { 'in': 0.0, 'out': 0.0, }, }