Ejemplo n.º 1
0
def ajax_random_get_server(request):
    result_json = ResultJson()
    nc = NodeControl()
    nodes = nc.getAllNodes()
    server = random.choice(nodes)['host_ip']
    result_json.set_data(server)
    result_json.set_status_code(ResultJson.STATUS_CODE_SUCCESS)
    return JsonResponse(result_json.__dict__, content_type='application/json')
Ejemplo n.º 2
0
 def watch_cpu(self, times=2, is_close=True):
     result_json = ResultJson()
     data = self.doCmd(DescrapyConstant.WATCH_CPU_CMD % (times), is_close)
     if data:
         result_json.set_status_code(ResultJson.STATUS_CODE_SUCCESS)
         result_json.set_data(data)
     else:
         result_json.set_status_code(ResultJson.STATUS_CODE_FAIL)
     return result_json
Ejemplo n.º 3
0
 def watch_disk(self, is_close=True):
     result_json = ResultJson()
     data = self.doCmd(DescrapyConstant.WATCH_DISK_CMD, is_close)
     if data:
         result_json.set_status_code(ResultJson.STATUS_CODE_SUCCESS)
         result_json.set_data(data)
     else:
         result_json.set_status_code(ResultJson.STATUS_CODE_FAIL)
     return result_json
Ejemplo n.º 4
0
 def count_cpus(self, is_close=True):
     result_json = ResultJson()
     data = self.doCmd(DescrapyConstant.COUNT_CPUS, is_close)
     if data:
         result_json.set_status_code(ResultJson.STATUS_CODE_SUCCESS)
         result_json.set_data(data)
     else:
         result_json.set_status_code(ResultJson.STATUS_CODE_FAIL)
     return result_json
Ejemplo n.º 5
0
def ajax_load_node(request):
    result_json = ResultJson()
    server = request.GET['server']
    lc = LinuxClient()
    data = {}
    if lc.connect(server, DescrapyConstant.DEFAULT_NODE_USER, DescrapyConstant.DEFAULT_NODE_PASSWORD):
        memery = lc.doCmd("free -m", False)
        lines = memery.split("\n")
        if len(lines) > 1:
                disk_line = lines[1]
                disk_result = disk_line.replace(" ", "|")
                disk_reults = disk_result.split("|")
                results = []
                for disk in disk_reults:
                    if disk:
                        if not "/" in disk:
                            results.append(disk)
                            
        memery_total = math.ceil(float(results[1])/1024)
        memery_used_rate = str((1 - round((int(results[3]) + int(results[5])) / float(results[1]), 2)) * 100) + "%"
        data['memery_total'] = memery_total
        data['memery_used_rate'] = memery_used_rate
        disk = lc.watch_disk(False).data
        lines = disk.split("\n")
        if len(lines) > 1:
            disk_line = lines[1]
            disk_result = disk_line.replace(" ", "|")
            disk_reults = disk_result.split("|")
            results = []
            for disk in disk_reults:
                if disk:
                    if not "/" in disk:
                        results.append(disk)
            data['disk_total'] = results[0] if len(results) > 0 else "unknow"
            data['disk_used_rate'] = results[3] if len(results) > 3 else "unknow"
        cpus = lc.count_cpus().data
        data['cpus'] = cpus
        result_json.set_data(data)
        result_json.set_status_code(ResultJson.STATUS_CODE_SUCCESS)
    else:
        result_json.set_status_code(ResultJson.STATUS_CODE_FAIL)
        result_json.set_status_message("[%s]用户名或密码错误, 连接失败!" %server)
    return JsonResponse(result_json.__dict__, content_type='application/json')
Ejemplo n.º 6
0
def ajax_load_cpu_line(request):
    server = request.GET['server']
    lc = LinuxClient()
    result_json = ResultJson()
    if lc.connect(server, DescrapyConstant.DEFAULT_NODE_USER, DescrapyConstant.DEFAULT_NODE_PASSWORD):
        times = 2
        result = lc.watch_cpu(times, False).data
        lines = result.split("\n")
        cpu_lines = []
        for line in lines:
            pattern = re.compile(r"^%Cpu.*$")
            match = pattern.search(line)
            if match:
                cpu_lines.append(match.group())
        used_rate = 100 - float(cpu_lines[times - 1].split(",")[3].strip().replace(" ", "|").split("|")[0])
        date_time = date.format_date(datetime.now())
        data = {"date": date_time, "rate": used_rate, "server": server}
        result_json.set_data(data)
        result_json.set_status_code(ResultJson.STATUS_CODE_SUCCESS)
    else:
        result_json.set_status_code(ResultJson.STATUS_CODE_FAIL)
        result_json.set_status_message("[%s]用户名或密码错误, 连接失败!" %server)
    return JsonResponse(result_json.__dict__, content_type='application/json')