Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
    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)
Exemplo n.º 6
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,
                        },
                }
Exemplo n.º 7
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,
            },
        }