def accounts_user(request): data = {} user = User.objects.order_by('id') data = paginator(request, user) request.breadcrumbs((('首页', '/'), ('用户管理', reverse('accounts_user')))) return render_to_response('accounts/user/user.html', data)
def server_idc(request): data = {} server = IDC.objects.order_by('id') data = paginator(request, server) request.breadcrumbs((('首页', '/'), ('IDC列表', reverse('server_idc')))) return render_to_response('cmdb/idc.html', data)
def monitor_list(request): server = Server.objects.order_by('id') platforms = Platform.objects.values_list('id', 'name') offline = Server.objects.values('status').filter(status='False').count() online = Server.objects.values('status').filter(status='True').count() monitors = Server.objects.values_list('id', 'mem_rate', 'disk_rate', 'swap_rate') mem_warn, disk_warn, swap_warn = 0, 0, 0 for i in monitors: if i[1] or i[2] or i[3] is not None: if float(i[1]) > 80: mem_warn += 1 elif float(i[2]) > 80: disk_warn += 1 elif float(i[3]) > 80: swap_warn += 1 else: print('Server ID: ' + str(i[0]) + ' 资源信息为空') data = paginator(request, server) request.breadcrumbs((('首页', '/'), ('监控详情', reverse('monitor_list')))) data['monitors'] = json.dumps([(i[0], i[1], i[2], i[3]) for i in monitors]) data['platforms'] = json.dumps([(i[0], i[1]) for i in platforms]) data['online'] = online data['offline'] = offline data['mem_warn'] = mem_warn data['disk_warn'] = disk_warn data['swap_warn'] = swap_warn return render_to_response('monitor/server.html', data)
def server_list(request): data = {} # if request.method == "POST": # form = IDCForm(request.POST) # else: form = ServerForm() # server = Server.objects.order_by('id') server = Server.objects.order_by('id') groups = ServerGroup.objects.values_list('id', 'name') idcs = Idc.objects.values_list('id', 'name') apps = AppProject.objects.values_list('id', 'app_name_cn', 'app_name_en') users = SystemUser.objects.values_list('id', 'name', 'username') data = paginator(request, server) request.breadcrumbs((('首页', '/'), ('资产列表', reverse('server_list')))) data['groups'] = json.dumps([(i[0], i[1]) for i in groups]) data['idcs'] = json.dumps([(i[0], i[1]) for i in idcs]) data['apps'] = json.dumps([(i[0], i[1], i[2]) for i in apps]) data['users'] = json.dumps([(i[0], i[1], i[2]) for i in users]) data['form'] = form return render_to_response('cmdb/server.html', data)
def system_user_search(request): data = {} search = request.GET.get("search") content = SystemUser.objects.filter( Q(name__icontains=search) | Q(username__icontains=search)) data = paginator(request, content) return render_to_response('cmdb/user_table.html', data)
def server_group(request): group = ServerGroup.objects.annotate( average_server=Count('servers')).order_by('id') data = paginator(request, group) request.breadcrumbs((('首页', '/'), ('资产组列表', reverse('server_group')))) return render_to_response('cmdb/group.html', data)
def get_minion_keys(request): saltserver = request.GET.get('saltserver') data = collections.defaultdict(lambda: collections.defaultdict(list)) accept_lists = [] minions = Minions.objects.filter(saltserver=saltserver).order_by('minion') for m in minions: if m.status == 0: accept_lists.append(m) if m.status == 1: data['unaccept']['lists'].append(m) if m.status == 2: data['reject']['lists'].append(m) if m.status == 3: data['denied']['lists'].append(m) data['accept']['count'] = len(accept_lists) data['unaccept']['count'] = len(data['unaccept']['lists']) data['reject']['count'] = len(data['reject']['lists']) data['denied']['count'] = len(data['accept']['lists']) data['accept']['lists'] = paginator(request, accept_lists, page_number=10) request.breadcrumbs((('首页', '/'), ('Salt管理', reverse('salt_info')))) return render(request, 'saltapi/salt_keys.html', { 'request': request, 'data': data, 'saltserver': saltserver })
def server_list(request): data = {} server = Server.objects.order_by('id') data = paginator(request, server) request.breadcrumbs((('首页', '/'), ('资产列表', reverse('server_list')))) return render_to_response('cmdb/index.html', data)
def server_group(request): data = {} server = ServerGroup.objects.order_by('id') data = paginator(request, server) request.breadcrumbs((('首页', '/'), ('资产组列表', reverse('server_group')))) return render_to_response('cmdb/group.html', data)
def salt_info(request): data = {} info = Salt.objects.all().order_by('-update_time') data = paginator(request, info) request.breadcrumbs((('首页', '/'), ('Salt管理', reverse('salt_info')))) return render(request, 'saltapi/salt.html', {'data': data})
def group_search(request): data = {} search = request.GET.get("search") content = ServerGroup.objects.filter( Q(name__icontains=search) | Q(comment__icontains=search) | Q(created_by__fullname__icontains=search)) data = paginator(request, content) return render_to_response('cmdb/group_table.html', data)
def server_idc(request): idc = Idc.objects.annotate(average_server=Count('servers')).order_by('id') data = paginator(request, idc) request.breadcrumbs((('首页', '/'), ('IDC列表', reverse('server_idc')))) if request.method != "POST": return render_to_response('cmdb/idc.html', data) else: return render_to_response('cmdb/server.html', data)
def tools(request): obj = toolsscript.objects.order_by('id') data = paginator(request, obj) request.breadcrumbs( (('首页', '/'), ('命令行', reverse('cmd')), ('脚本工具', reverse('tools')))) # return render(request, "tasks/tools.html", # {"tools": obj, "tasks_active": "active", "tools_active": "active"}) return render_to_response('tasks/tools.html', data)
def accounts_user(request): data = {} user = MyUser.objects.all() data = paginator(request, user) request.breadcrumbs((('首页', '/'), ('用户管理', reverse('user_user')))) return render(request, 'accounts/user/user.html', data)
def idc_search(request): data = {} search = request.GET.get("search") content = Idc.objects.filter( Q(name__icontains=search) | Q(contact__icontains=search) | Q(phone__icontains=search) | Q(operator__icontains=search) | Q(created_by__fullname__icontains=search)) data = paginator(request, content) return render_to_response('cmdb/idc_table.html', data)
def fms_search(request): data = {} search = request.GET.get("search") content = Content.objects.filter( Q(title__icontains=search) | Q(type__name__icontains=search) | Q(project__name__icontains=search)) data = paginator(request, content) return render_to_response('fms/fms_table.html', data)
def idc_search(request): data = {} search = request.GET.get("search") idc = IDC.objects.filter( Q(isp__name__icontains=search) | Q(name__icontains=search) | Q(contact__icontains=search) | Q(network__icontains=search)) data = paginator(request, idc) return render_to_response('cmdb/idc/idc_table.html', data)
def execadd_list(request): data = {} execfile = ExecFile.objects.order_by('id') data = paginator(request, execfile) request.breadcrumbs((('首页', '/'), ('exec数据', reverse('execadd_list')))) return render_to_response('execadd/index1.html', data)
def system_user(request): data = {} form = SystemUserForm() users = SystemUser.objects.order_by('id') data = paginator(request, users) request.breadcrumbs((('首页', '/'), ('登录用户列表', reverse('system_user')))) data['form'] = form return render_to_response('cmdb/user.html', data)
def fms_list(request): data = {} content = Content.objects.select_related().all().order_by('-ctime') for i in content: time_count(i, i.start_time, i.end_time) data = paginator(request, content) request.breadcrumbs((('首页', '/'), ('故障列表', reverse('fms_list')))) return render_to_response('fms/fms.html', data)
def accounts_group(request): data = {} group = Group.objects.all() users = MyUser.objects.values_list('id', 'fullname') data = paginator(request, group) request.breadcrumbs((('首页', '/'), ('用户管理', reverse('accounts_group')))) data['users'] = json.dumps([(i[0], "%s" % (i[1])) for i in users]) return render(request, 'accounts/user/group.html', data)
def app_platform(request): data = {} platform = Platform.objects.annotate(average_app=Count('servers')).order_by('id') data = paginator(request, platform) request.breadcrumbs((('首页', '/'), ('平台列表', reverse('app_platform')))) if request.method != "POST": return render_to_response('release/platform.html', data) else: return render_to_response('release/app.html', data)
def accounts_group(request): data = {} group = Group.objects.order_by('id') users = User.objects.values_list('id', 'username', 'fullname') data = paginator(request, group) request.breadcrumbs((('首页', '/'), ('用户管理', reverse('accounts_group')))) data['users'] = json.dumps([(i[0], i[1], "%s(%s)" % (i[1], i[2])) for i in users]) return render_to_response('accounts/user/group.html', data)
def user_search(request): data = {} search = request.GET.get("search") user = User.objects.filter( Q(group__name__icontains=search) | Q(username__icontains=search) | Q(email__icontains=search) | Q(fullname__icontains=search) | Q(mobile__icontains=search)) data = paginator(request, user) return render_to_response('accounts/user/user_table.html', data)
def server_search(request): data = {} search = request.GET.get("search") content = Server.objects.filter( Q(in_ip__icontains=search) | Q(project_name__icontains=search) | Q(service_name__icontains=search) | Q(position__icontains=search) | Q(host_name__icontains=search) | Q(author__fullname__icontains=search)) data = paginator(request, content) return render_to_response('cmdb/server_table.html', data)
def asset_search(request): data = {} search = request.GET.get("search") serverasset = ServerAsset.objects.filter( Q(ip__icontains=search) | Q(hostname__icontains=search) | Q(idc__name__icontains=search) | Q(ops__fullname__icontains=search) | Q(dev__fullname__icontains=search) | Q(salt__name__icontains=search)) data = paginator(request, serverasset) return render_to_response('cmdb/assets/server_table.html', data)
def platform_search(request): data = {} search = request.GET.get("search") # content = ServerGroup.objects.filter( # Q(name__icontains=search) | Q(comment__icontains=search) | Q(created_by__fullname__icontains=search)) content = Platform.objects.annotate(average_app=Count('servers')).filter( Q(name__icontains=search) | Q(owner__icontains=search) | Q(phone__icontains=search)) data = paginator(request, content) return render_to_response('release/platform_table.html', data)
def idc_list(request): data = {} idc = IDC.objects.all().order_by('-update_time') data = paginator(request, idc) request.breadcrumbs((('首页', '/'), ('机房管理', reverse('cmdb_idc')))) return render(request, 'cmdb/idc/idc.html', { 'request': request, 'data': data })
def kube_list(request): form = KubeNodeForm() # k8s = Server.objects.filter(app_project__app_name_cn='k8s').values_list('id', 'in_ip') # logger.info('查询k8s节点{}'.format(k8s)) server = KubeNode.objects.select_related().all().order_by('id') data = paginator(request, server) request.breadcrumbs((('首页', '/'), ('K8S节点列表', reverse('kube_list')))) # data['k8s'] = json.dumps([(i[0], i[1]) for i in k8s]) data['form'] = form return render_to_response('kube/kube.html', data)
def release_plan(request): data = {} form = ReleasePlanForm() plan = ReleasePlan.objects.annotate(average_server=Count('app_id')).order_by('id') app = ReleasePlan.objects.values_list('app', 'app_id') data = paginator(request, plan) request.breadcrumbs((('首页', '/'), ('发布计划', reverse('release_plan')))) data['form'] = form data['app'] = json.dumps([(i[0], i[1]) for i in app]) return render_to_response('release/release_plan.html', data)