示例#1
0
def load():
    conf = readjson(CONFIG)
    if not conf:
        conf = {}
    if not conf.get('connection'):
        conf['connection'] = gen_connection()
    if not conf.get('targets'):
        conf['targets'] = gen_targets()
    if not conf.get('upload'):
        conf['upload'] = gen_upload()

    writejson(CONFIG, conf)
    return conf
示例#2
0
def load():
    conf = readjson(CONFIG)
    if not conf:
        conf = {}
    if not conf.get("connection"):
        conf["connection"] = gen_connection()
    if not conf.get("targets"):
        conf["targets"] = gen_targets()
    if not conf.get("upload"):
        conf["upload"] = gen_upload()

    writejson(CONFIG, conf)
    return conf
示例#3
0
def store(now, data):
    node_id = data.get('node_id')
    if node_id:
        loc = path.join(DATADIR, '{}.json'.format(node_id))

        node = readjson(loc)
        if not node:
            node = {'log': {}}
        clients = data.get('clients', {})
        traffic = data.get('traffic', {})

        node['hostname'] = data.get('hostname')

        node['log'][now] = {}
        node['log'][now]['load_avg'] = data.get('loadavg')
        node['log'][now]['clients_total'] = clients.get('total')
        node['log'][now]['clients_wifi'] = clients.get('wifi')
        node['log'][now]['traffic_rx'] = traffic.get('rx', {}).get('bytes')
        node['log'][now]['traffic_tx'] = traffic.get('tx', {}).get('bytes')
        node['log'][now]['traffic_forward'] = traffic.get('forward',
                                                          {}).get('bytes')
        node['log'][now]['traffic_mgmt_rx'] = traffic.get('mgmt_tx',
                                                          {}).get('bytes')
        node['log'][now]['traffic_mgmt_tx'] = traffic.get('mgmt_tx',
                                                          {}).get('bytes')

        return writejson(loc, node)
示例#4
0
def store(now, data):
    node_id = data.get('node_id')
    if node_id:
        loc = path.join(DATADIR, '{}.json'.format(node_id))

        node = readjson(loc)
        if not node:
            node = {'log': {}}
        clients = data.get('clients', {})
        traffic = data.get('traffic', {})

        node['hostname'] = data.get('hostname')

        node['log'][now] = {}
        node['log'][now]['load_avg'] = data.get('loadavg')
        node['log'][now]['clients_total'] = clients.get('total')
        node['log'][now]['clients_wifi'] = clients.get('wifi')
        node['log'][now]['traffic_rx'] = traffic.get('rx', {}).get('bytes')
        node['log'][now]['traffic_tx'] = traffic.get('tx', {}).get('bytes')
        node['log'][now][
            'traffic_forward'
        ] = traffic.get('forward', {}).get('bytes')
        node['log'][now][
            'traffic_mgmt_rx'
        ] = traffic.get('mgmt_tx', {}).get('bytes')
        node['log'][now][
            'traffic_mgmt_tx'
        ] = traffic.get('mgmt_tx', {}).get('bytes')

        return writejson(loc, node)
示例#5
0
def query(conn):
    def _ask(curr, cmd):
        code, out, err = shell(cmd)
        if code == 0 and out is not None:
            try:
                data = loads(out)
                if data is not None:
                    curr = merge(curr, data)
                    return curr
            except ValueError as ex:
                print('ERROR: {}'.format(ex))

    res = {}
    for cmdline in _alfred(conn):
        res = _ask(res, cmdline)
    if conn['keep']:
        writejson(RAW_ALFRED, res)
    return res
示例#6
0
def query(conn):
    def _ask(curr, cmd):
        code, out, err = shell(cmd)
        if code == 0 and out is not None:
            try:
                data = loads(out)
                if data is not None:
                    curr = merge(curr, data)
                    return curr
            except ValueError as ex:
                print('ERROR: {}'.format(ex))

    res = {}
    for cmdline in _alfred(conn):
        res = _ask(res, cmdline)
    if conn['keep']:
        writejson(RAW_ALFRED, res)
    return res