Ejemplo n.º 1
0
    def create_request(path):
        tags = get_tags(ctx, path)
        data = {'tags': ','.join(tags)}

        finger = dl_lib.hash_id(path)
        url = "%s/agents/%s/tags" % (api_host, finger,)
        return grequests.put(url, json=data, headers=headers)
Ejemplo n.º 2
0
    def create_request(path):
        tags = get_tags(ctx, path)
        data = {"tags": ",".join(tags)}

        finger = dl_lib.hash_id(path)
        url = "%s/agents/%s/tags" % (api_host, finger)
        return grequests.put(url, json=data, headers=headers)
Ejemplo n.º 3
0
 def create_request(path):
     id = dl_lib.get_container_id(path)
     details = {
         'mac': host_mac,
         'hostname': "{} ({})".format(dl_lib.container_real_host_name(), host_name),
         'os_name': 'docker',
         'os_version': '',
         'processes': dl_lib.get_processes(id),
         'container': '001',
         'interfaces': dl_lib.get_network(id),
         'mode': 'SOLO',
         'name': "{} ({})".format(dl_lib.get_container_name(id), id)
     }
     finger = dl_lib.hash_id(path)
     url = "%s/agents/%s/ping" % (api_host, finger,)
     return grequests.post(url, json=details, headers=headers)
Ejemplo n.º 4
0
 def create_request(path):
     id = dl_lib.get_container_id(path)
     details = {
         'mac': host_mac,
         'hostname': host_name,
         'os_name': 'docker',
         'os_version': '',
         'processes': dl_lib.get_processes(id),
         'container': '001',
         'interfaces': dl_lib.get_network(id),
         'mode': 'SOLO',
         'name': dl_lib.get_container_name(id)
     }
     finger = dl_lib.hash_id(path)
     url = "%s/agents/%s/ping" % (
         api_host,
         finger,
     )
     return grequests.post(url, json=details, headers=headers, timeout=2)
Ejemplo n.º 5
0
def get_container_metrics(ctx, container, host):
    finger = dl_lib.hash_id(container['name'])

    stats = container['stats']
    last = stats[-1]

    metrics = {
        finger + '.base.load_1_min': last['cpu']['load_average'],
        finger + '.base.cpu': cpu_percent(stats, host),
        finger + '.base.memory': memory_percent(stats, host),
        finger + '.base.swap': 0,
        finger + '.base.net_upload': network_tx_kps(stats),
        finger + '.base.net_download': network_rx_kps(stats)
    }

    # send back everything else
    for group in ['network', 'diskio', 'memory', 'cpu']:
        group_metrics = dl_lib.flatten(last[group], key=group, path=finger)
        metrics.update(group_metrics)

    return metrics
Ejemplo n.º 6
0
def get_container_metrics(ctx, container, host):
    finger = dl_lib.hash_id(container['name'])

    stats = container['stats']
    last = stats[-1]

    metrics = {
        finger + '.base.count': 1,
        finger + '.base.load_1_min': last['cpu']['load_average'],
        finger + '.base.load_fractional': load_fractional(stats, host),
        finger + '.base.cpu': cpu_percent(stats, host),
        finger + '.base.memory': memory_percent(stats, host),
        finger + '.base.swap': 0,
        finger + '.base.net_upload': network_tx_kps(stats),
        finger + '.base.net_download': network_rx_kps(stats)
    }

    # send back everything else
    for group in ['network', 'diskio', 'memory', 'cpu']:
        group_metrics = dl_lib.flatten(last[group], key=group, path=finger)
        metrics.update(group_metrics)

    return metrics