Esempio n. 1
0
def racadm_Battery_status_info_page():
    if not session.get('username', None):
        return redirect("/login")
    if request.method == "GET":
        need_state = achieve_disk_reportsclass_table_value(
            'Battery_status_info')
        if need_state != 'no':
            tmp_1 = achieve_Battery_status_page_info(need_state)
            if tmp_1 != 'no':
                need_state = achieve_disk_reportsclass_table_value(
                    'Battery_status_info_need_ip')
                if need_state != 'no':
                    tmp_3 = sensor_status_page_info_format(tmp_1, need_state)
                    if tmp_3 != 'no':
                        return render_template(
                            'sensor_page/select_Battery_status_info.html',
                            info=session,
                            names=tmp_3)
            tmp_3 = 'Default_space'
            return render_template(
                'sensor_page/select_Battery_status_info.html',
                info=session,
                names=tmp_3,
                need_state=need_state.split(','))
    return 'ERROR'
Esempio n. 2
0
def racadm_disk_change_old():
    # 默认认为时间相差为一个小时 3600秒
    difference_time = 3600
    if request.method == "GET":
        client_ip = request.remote_addr
        if check_client_ip(client_ip) == 'no':
            # IP地址没在白名单 禁止访问
            return '01'
        # 当前时间
        now_time_tmp = datetime.datetime.now()
        tmp_fields = [
            'disk_name', 'ip_addr_id', 'disk_state_key', 'disk_state_value'
        ]
        tmp_where = {'disk_state_key': 'check_time'}
        tmp_1 = DB().get_list_where('disk_status_info', tmp_fields, tmp_where)
        for tmp_2 in tmp_1:
            if tmp_2['disk_state_value'] != '====':
                tmp_3 = datetime.datetime.strptime(tmp_2['disk_state_value'],
                                                   '%Y-%m-%d %H:%M:%S')
            else:
                continue
            tmp_4 = now_time_tmp - tmp_3
            if tmp_4.seconds > difference_time:
                need_state = achieve_disk_reportsclass_table_value(
                    'save_status_data_need')
                if need_state == 'no':
                    info_data_where = {
                        'ip_addr_id': tmp_2['ip_addr_id'],
                        'disk_name': tmp_2['disk_name']
                    }
                    DB().delete('disk_status_info', info_data_where)
                else:
                    status_insert_data = {}
                    for tmp_5 in need_state.split(','):
                        if tmp_5 == 'check_time':
                            continue
                        if tmp_2['disk_state_value'] == '====':
                            continue
                        status_insert_data['disk_state_value'] = '===='
                    tmp_where_1 = {
                        'disk_name': tmp_2['disk_name'],
                        'ip_addr_id': tmp_2['ip_addr_id']
                    }
                    DB().update_where('disk_status_info', status_insert_data,
                                      tmp_where_1)
                    status_insert_data = {
                        'disk_state_value': tmp_2['disk_state_value']
                    }
                    tmp_where_1 = {
                        'disk_name': tmp_2['disk_name'],
                        'ip_addr_id': tmp_2['ip_addr_id'],
                        'disk_state_key': tmp_2['disk_state_key']
                    }
                    DB().update_where('disk_status_info', status_insert_data,
                                      tmp_where_1)
        return 'ok'
Esempio n. 3
0
def racadm_NIC_info_page():
    if not session.get('username', None):
        return redirect("/login")
    if request.method == "GET":
        need_state = achieve_disk_reportsclass_table_value('NIC_state')
        if need_state != 'no':
            tmp_2 = achieve_NIC_info(need_state)
            if tmp_2 != 'no':
                tmp_3 = Nic_page_info_format(tmp_2, need_state)
                if tmp_3 != 'no':
                    return render_template('sytem_page/select_Nic_info.html',
                                           info=session,
                                           names=tmp_3)
        tmp_3 = 'Default_space'
        return render_template('sytem_page/select_Nic_info.html',
                               info=session,
                               names=tmp_3,
                               need_state=need_state.split(','))
    else:
        return 'no'
Esempio n. 4
0
def save_cpu():
    if request.method == "GET":
        client_ip = request.remote_addr
        if check_client_ip(client_ip) == 'no':
            # IP地址没在白名单 禁止访问
            return '01'
        IP_addr=request.args.get("IP_addr")
        check_ip_Result=check_dell_racadm_ip(client_ip,IP_addr)
        if check_ip_Result == 'no':
            # 返回1 IP地址不在记录中
            return '1'
        achieve_ip_Result=dell_racadm_achieve_ip_info(client_ip,IP_addr)
        if achieve_ip_Result == 'no':
            # 返回 2 IP地址信息 获取错误
            return '2'

        # 更新网卡
        tmp_0 = achieve_dell_cacadm_comman('achieve_NIC_and_System')
        if tmp_0 == 'no':
            return '3'
        tmp_1 = check_dell_racadm_info(IP_addr,achieve_ip_Result['card_user_name'],achieve_ip_Result['card_user_passwd'],tmp_0)
        if tmp_1 == 'no':
            # 返回 3 代表 racadm 连接异常
            return '3'
        check_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        need_state = achieve_disk_reportsclass_table_value('System_Information')
        tmp_2=check_dell_racadm_System_format(tmp_1,IP_addr,check_time,need_state)
        return json.dumps(tmp_2, ensure_ascii=False)
        tmp_2 = check_dell_racadm_NIC_CARD_format(tmp_1,IP_addr,check_time)
        if tmp_2 == 'no':
            # 返回 4 代表 数据格式化失败,规则不匹配
            return '4' 
        else:
            return json.dumps(tmp_2, ensure_ascii=False)
            return tmp_2
    return '33'
def get_dell_racadm_info():
    if not session.get('username', None):
        return redirect("/login")
    info_fields = ['id', 'ip_addr']
    tmp_1 = DB().get_list('monitored_ipaddr', info_fields)
    if tmp_1:
        tmp_2 = []
        for i in tmp_1:
            tmp_fields = ['disk_info', 'check_time']
            tmp_where = {'ip_addr_id': i['id']}
            tmp_3 = DB().get_one('disk_info', tmp_fields, tmp_where)
            if tmp_3:
                tmp_4 = check_dell_racadm_Physical_disk_format(
                    tmp_3['disk_info'], i['ip_addr'], tmp_3['check_time'])
                if tmp_4:
                    # tmp_5 = []
                    tmp_6 = achieve_disk_reportsclass_table_value(
                        'get_dell_racadm_info')
                    if tmp_6 != 'no':
                        for tmp_7 in tmp_4:
                            tmp_8 = OrderedDict()
                            for tmp_9 in tmp_6.split(','):
                                tmp_10 = check_dell_racadm_Physical_disk_state(
                                    tmp_9)
                                try:
                                    tmp_8[tmp_10] = tmp_7[tmp_9]
                                except:
                                    tmp_8[tmp_10] = ''
                            tmp_2.append(tmp_8)
                        # tmp_5.append(tmp_8)
                #  tmp_2.append(tmp_5)
        #return json.dumps(tmp_2, ensure_ascii=False)
        return render_template('check_disk/select_dell_racadm_disk_info.html',
                               info=session,
                               names=tmp_2)
    return '1'
Esempio n. 6
0
def dell_racadm():
    if request.method == "GET":
        client_ip = request.remote_addr
        if check_client_ip(client_ip) == 'no':
            # IP地址没在白名单 禁止访问
            return '01'
        IP_addr=request.args.get("IP_addr")
        check_ip_Result=check_dell_racadm_ip(client_ip,IP_addr)
        if check_ip_Result == 'no':
            # 返回1 IP地址不在记录中
            return '1'
        achieve_ip_Result=dell_racadm_achieve_ip_info(client_ip,IP_addr)
        if achieve_ip_Result == 'no':
            # 返回 2 IP地址信息 获取错误
            return '2'
        
        check_time=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

        # 先检测 racadm 是否可用
        tmp_0 = achieve_dell_cacadm_comman('test_connect')
        if tmp_0 == 'no':
            # 返回 3 代表 无法获取测试用 racadm 命令
            return '3'
        tmp_1 = check_dell_racadm_info(IP_addr,achieve_ip_Result['card_user_name'],achieve_ip_Result['card_user_passwd'],tmp_0)
        if tmp_1 == 'no' :
            # 返回 4 代表 racadm 连接异常
            return '4'

        # 获取 磁盘信息 入库
        tmp_0 = achieve_dell_cacadm_comman('achieve_disk')
        tmp_1 = check_dell_racadm_info(IP_addr,achieve_ip_Result['card_user_name'],achieve_ip_Result['card_user_passwd'],tmp_0)
        if tmp_1 != 'no':
            tmp_2=check_dell_racadm_Physical_disk_format(tmp_1,IP_addr,check_time)
            if tmp_2 != 'no':
                need_state = achieve_disk_reportsclass_table_value('save_status_data_need')
                tmp_3=check_dell_racadm_Physical_disk_save(IP_addr,achieve_ip_Result['id'],check_time,tmp_1,tmp_2,need_state)
        # 获取 服务器型号 服务标签 快速服务代码 操作系统 电源状态 网卡 等等信息入库
        tmp_0 = achieve_dell_cacadm_comman('achieve_NIC_and_System')
        tmp_1 = check_dell_racadm_info(IP_addr,achieve_ip_Result['card_user_name'],achieve_ip_Result['card_user_passwd'],tmp_0)
        if tmp_1 == 'no':
            return '5'
        # 获取 服务器型号 服务标签 快速服务代码 操作系统 电源状态 网卡 等等信息入库
        # 服务器型号 服务标签 快速服务代码 操作系统 电源状态 格式化
        need_state = achieve_disk_reportsclass_table_value('System_Information')
        tmp_3=check_dell_racadm_System_format(tmp_1,IP_addr,check_time,need_state)
        # 网卡信息格式化
        tmp_4=check_dell_racadm_NIC_CARD_format(tmp_1,IP_addr,check_time)
        # 入库操作
        tmp_5=check_dell_racadm_System_Nic_info_save(achieve_ip_Result['id'],System_data=tmp_3,Nic_data=tmp_4)
                
        # 硬件资源 内存 信息入库
        tmp_0 = achieve_dell_cacadm_comman('achieve_Memory_info')
        tmp_1 = check_dell_racadm_info(IP_addr,achieve_ip_Result['card_user_name'],achieve_ip_Result['card_user_passwd'],tmp_0)
        if tmp_1 == 'no':
            return '6'
        tmp_2=check_dell_racadm_memory_info_format(tmp_1,IP_addr,check_time,achieve_ip_Result['id'])
        if tmp_2 == 'no':
            return '7'
        tmp_3=check_dell_racadm_memory_info_save(achieve_ip_Result['id'],tmp_2)

        # 硬件资源 CPU 信息入库
        tmp_0 = achieve_dell_cacadm_comman('achieve_CPU_info')
        tmp_1 = check_dell_racadm_info(IP_addr,achieve_ip_Result['card_user_name'],achieve_ip_Result['card_user_passwd'],tmp_0)
        if tmp_1 == 'no':
            return '8'
        tmp_2 = check_dell_racadm_cpu_info_format(tmp_1,IP_addr,check_time,achieve_ip_Result['id'])
        if tmp_2 == 'no':
            return '9'
        tmp_3 = check_dell_racadm_CPU_info_save(achieve_ip_Result['id'],tmp_2)

        # 硬件信息 前面板信息获取
        tmp_0 = achieve_dell_cacadm_comman('achieve_System_LCD')
        tmp_1 = check_dell_racadm_info(IP_addr,achieve_ip_Result['card_user_name'],achieve_ip_Result['card_user_passwd'],tmp_0)
        if tmp_1 != 'no':
            check_dell_racadm_System_LCD_CurrentDisplay_save(achieve_ip_Result['id'],tmp_1)
        
        # cpu 内存 温度 风扇 硬盘 主板等等信息(传感器)
        tmp_0 = achieve_dell_cacadm_comman('achieve_sensorinfo')
        tmp_1 = check_dell_racadm_info(IP_addr,achieve_ip_Result['card_user_name'],achieve_ip_Result['card_user_passwd'],tmp_0)
        if tmp_1 == 'no':
            return '10'
        # 内存传感器信息格式化并入库
        tmp_2=check_dell_racadm_Sensor_memory_format(tmp_1,check_time,achieve_ip_Result['id'])
        if tmp_2 != 'no':
            check_dell_racadm_Sensor_memory_save(achieve_ip_Result['id'],tmp_2)
        # 风扇传感器信息格式化并入库
        tmp_2=check_dell_racadm_Sensor_FAN_format(tmp_1,check_time,achieve_ip_Result['id'])
        if tmp_2 != 'no':
            check_dell_racadm_Sensor_Fan_save(achieve_ip_Result['id'],tmp_2)
        # CPU传感器信息格式化并入库
        tmp_2=check_dell_racadm_Sensor_CPU_format(tmp_1,check_time,achieve_ip_Result['id'])
        if tmp_2 != 'no':
            check_dell_racadm_Sensor_CPU_save(achieve_ip_Result['id'],tmp_2)
        # 温度传感器信息格式化并入库
        tmp_2=check_dell_racadm_Sensor_TEMPERATURE_format(tmp_1,check_time,achieve_ip_Result['id'])
        if tmp_2 != 'no':
            check_dell_racadm_Sensor_TEMPERATURE_save(achieve_ip_Result['id'],tmp_2)
        # 电源传感器信息格式化并入库
        tmp_2=check_dell_racadm_Sensor_POWER_format(tmp_1,check_time,achieve_ip_Result['id'])
        if tmp_2 != 'no':
            check_dell_racadm_Sensor_POWER_save(achieve_ip_Result['id'],tmp_2)
        # 电池传感器信息格式化并入库
        tmp_2=check_dell_racadm_Sensor_BATTERY_format(tmp_1,check_time,achieve_ip_Result['id'])
        if tmp_2 != 'no':
            check_dell_racadm_Sensor_BATTERY_save(achieve_ip_Result['id'],tmp_2)



                

        return 'ok'
    #    return json.dumps(tmp_2, ensure_ascii=False)
    else:
        return redirect('/')