def salt_index(request): line_list = Line.objects.filter() business = Project.objects.filter(line__isnull=False) no_business = Project.objects.filter(line__isnull=True) # business = Project.objects.all() data = host_all() ztree_data = ztree_tag(request.user.username) idc_count = IDC.objects.all() idc_data = {} for idc in idc_count: idc_data[idc.name] = Host.objects.filter(idc=idc).count() user_count = CustomUser.objects.filter().count() department_count = department_Mode.objects.filter().count() # idc = IDC.objects.get(uuid='9cd9516af1454c619af617d92050fc99') # f = open("/Users/voilet/python_code/cmdb/doc/cmdb.txt", "r") # s = f.readlines() # for i in s: # i = i.split() # t = Host(eth1=i[0], number=i[1], Services_Code=i[3], server_sn=i[2], status=1, brand=u'Dell R420', # idc=idc, system=u"CentOS") # t.save() # f.close() return render_to_response('default/default.html', locals(), context_instance=RequestContext(request))
def salt_index_new(request): line_list = Line.objects.all() if line_list.count() == 0: return HttpResponseRedirect('/assets/product/add/?init=true') ztree_data = ztree_tag(request.user.username) users = CustomUser.objects.count() hosts = Host.objects.count() problems = Incident.objects.count() project = Project.objects.count() idc_count = IDC.objects.all().count() if idc_count == 0: return HttpResponseRedirect('/assets/idc_add/?init=true') if project == 0: return HttpResponseRedirect('/assets/server/type/add/?init=true') if hosts == 0: return HttpResponseRedirect('/assets/host_add/?init=true') swan_count = project_swan.objects.count() swan_log_data = SwanLog.objects.all().order_by("-swan_datetime") swan_log = swan_log_data[:10] start_time, stop_time = Date_time() swan_push_data = SwanLog.objects.filter(swan_datetime__gte=stop_time) swan_data = {} for i in swan_push_data: project_name = i.project_name if swan_data.get(project_name, False): swan_data[i.project_name]["count"] += 1 else: swan_data[i.project_name] = {"count": 1, "uuid": i.project_uuid} # for k, v in swan_data.items(): # print k, v return render_to_response('default/default_new.html', locals(), context_instance=RequestContext(request))
def ztree_project(request): line_list = Line.objects.filter() business = Project.objects.filter(line__isnull=False) no_business = Project.objects.filter(line__isnull=True) ztree_data = ztree_tag(request.user.username) return render_to_response('default/default.html', locals(), context_instance=RequestContext(request))
def OpsDoc(request): line_list = Line.objects.filter() business = Project.objects.filter(line__isnull=False) no_business = Project.objects.filter(line__isnull=True) ztree_data = ztree_tag(request.user.username) users = CustomUser.objects.all().count() hosts = Host.objects.all() problems = Incident.objects.all().count() project = Project.objects.all().count() swan_count = project_swan.objects.all().count() swan_log = SwanLog.objects.all().order_by("-swan_datetime")[:10] return render_to_response('default/markdown.html', locals(), context_instance=RequestContext(request))
def ZtreeIndex(request): """ :param request: :return: """ if request.method == 'POST': otherParam = request.POST.get("otherParam") status = request.POST.get("status") line_id = request.POST.get("line_id") try: name = request.POST.get("name") id = request.POST.get("id") except: name = False if not name: ztree = ztree_tag(request.user.username) return HttpResponse(json.dumps(ztree, ensure_ascii=False, indent=4)) elif int(status[0]) == 1: ztree = [] return HttpResponse(json.dumps(ztree, ensure_ascii=False, indent=4)) else: ztree = [] bus_data = Project.objects.get(service_name=name) server_list = Host.objects.filter(business=bus_data).order_by("create_time") s = [] for i in server_list: t = i.service.all().values() for b in t: if b not in s: s.append(b) tree_id = 0 for i in s: tree_id += 1 token = hashlib.sha1(request.user.username + auth_key + i.get("name") + time.strftime('%Y-%m-%d', time.localtime( time.time()))).hexdigest() ztree.append({"id": tree_id, "status": 3, "line_id": line_id, "name": i.get("name"), "token": token, "t": i.get("name"), "business": bus_data.service_name}) return HttpResponse(json.dumps(ztree, ensure_ascii=False, indent=4)) content = {"status": 403, "message": "auth error"} return HttpResponse(json.dumps(content, ensure_ascii=False, indent=4))
def user_auth_server(request, uuid): u""" 不同用户分配不同服务器权限 """ userId = str(uuid) user_data = CustomUser.objects.get(uuid=uuid) data = server_from() business = Project.objects.all() all_node = AuthNode.objects.filter(user_name=user_data) node_count = all_node.count() line_list = Line.objects.filter() business = Project.objects.filter(line__isnull=False) no_business = Project.objects.filter(line__isnull=True) ztree_data = ztree_tag(request.user.username) users = 108 hosts = Host.objects.all() problems = 20 return render_to_response('auth/add_host_auth_ztree.html', locals(), context_instance=RequestContext(request))
def ztree_business(request): u""" 树请求验证 :param request: :return: """ business_name = request.GET.get("name") get_token = str(request.GET.get("token")) user = request.GET.get("user") sum_token = str(hashlib.sha1(request.user.username + auth_key + business_name + time.strftime('%Y-%m-%d', time.localtime( time.time()))).hexdigest()) userId = str(user) user_data = CustomUser.objects.get(uuid=userId) if get_token != sum_token: content_status = False if request.method == 'POST': data = request.POST auth_weights = data.get("auth_weights", False) auth = int(data.get("auth")) for i in data.getlist("node_name"): server = Host.objects.get(uuid=i) # if user_data.department.desc_gid == 1001: if AuthNode.objects.filter(user_name=user_data, node=server).count() == 0: data = AuthNode(user_name=user_data, auth=auth, node=server) data.save() args = {"user": user_data.username, "type": 1, "auth": auth, "node": server.node_name, "ip": server.eth1, "uid": int(3000 + user_data.id), "gid": int(user_data.department.desc_gid), "ssh_key": (user_data.user_key).replace("ssh-rsa ", "")} print args s = RabApi(args=args) print s.SendMessage() else: print u"数据已存在" data = server_from() business = Project.objects.all() all_node = AuthNode.objects.filter(user_name=user_data) ip_list = [i.node.eth1 for i in all_node] node_count = all_node.count() if business_name != u"未分类": bus_data = Project.objects.get(pk=request.GET.get("name")) server_list = Host.objects.filter(business=bus_data).order_by("create_time") else: bus_data = u'未分类' idc_data = IDC.objects.filter(type=1) server_list = Host.objects.filter(business__isnull=True, idc=idc_data).order_by("create_time") ztree_data = ztree_tag(request.user.username) content_status = True return render_to_response('auth/add_host_auth_project.html', locals(), context_instance=RequestContext(request))
def ztree_business(request): u""" 树请求验证 :param request: :return: """ business_name = request.GET.get("name") get_token = str(request.GET.get("token")) user = request.GET.get("user") sum_token = str( hashlib.sha1(request.user.username + auth_key + business_name + time.strftime('%Y-%m-%d', time.localtime(time.time()))). hexdigest()) userId = str(user) user_data = CustomUser.objects.get(uuid=userId) if get_token != sum_token: content_status = False if request.method == 'POST': data = request.POST auth_weights = data.get("auth_weights", False) auth = int(data.get("auth")) for i in data.getlist("node_name"): server = Host.objects.get(uuid=i) # if user_data.department.desc_gid == 1001: if AuthNode.objects.filter(user_name=user_data, node=server).count() == 0: data = AuthNode(user_name=user_data, auth=auth, node=server) data.save() args = { "user": user_data.username, "type": 1, "auth": auth, "node": server.node_name, "ip": server.eth1, "uid": int(3000 + user_data.id), "gid": int(user_data.department.desc_gid), "ssh_key": (user_data.user_key).replace("ssh-rsa ", "") } print args s = RabApi(args=args) print s.SendMessage() else: print u"数据已存在" data = server_from() business = Project.objects.all() all_node = AuthNode.objects.filter(user_name=user_data) ip_list = [i.node.eth1 for i in all_node] node_count = all_node.count() if business_name != u"未分类": bus_data = Project.objects.get(pk=request.GET.get("name")) server_list = Host.objects.filter( business=bus_data).order_by("create_time") else: bus_data = u'未分类' idc_data = IDC.objects.filter(type=1) server_list = Host.objects.filter(business__isnull=True, idc=idc_data).order_by("create_time") ztree_data = ztree_tag(request.user.username) content_status = True return render_to_response('auth/add_host_auth_project.html', locals(), context_instance=RequestContext(request))
def ztree_business(request): """ 树请求验证 :param request: :return: """ business_name = request.GET.get("uuid", False) get_token = str(request.GET.get("token", False)) ztree_data = ztree_tag(request.user.username) try: sum_token = str(hashlib.sha1(request.user.username + auth_key + business_name + time.strftime('%Y-%m-%d', time.localtime(time.time()))).hexdigest()) except TypeError: sum_token = False if request.GET.get("options") == "host": uuid = request.GET.get('uuid', '') ip = request.GET.get('ip', '') if uuid: host = get_object_or_404(Host, uuid=uuid) elif ip: host = get_object_or_404(Host, eth1=ip) host_record = HostRecord.objects.filter(host=host).order_by('-time') user_audit = AuthNode.objects.filter(node=host) audit_count = user_audit.count() return render_to_response('ztree/host_detail.html', locals(), context_instance=RequestContext(request)) content_status = True idle = request.GET.get("idle", False) if get_token != sum_token: content_status = False return render_to_response('ztree/ztree_service.html', locals(), context_instance=RequestContext(request)) if business_name != u"未分类": try: bus_data = Project.objects.get(uuid=request.GET.get("uuid")) if not idle: server_list = Host.objects.filter(business=bus_data, idle=True).order_by("create_time") else: server_list = Host.objects.filter(business=bus_data, idle=False).order_by("create_time") except: pass else: bus_data = u'未分类' idc_data = IDC.objects.filter(type=1) if not idle: server_list = Host.objects.filter(business__isnull=True, idc=idc_data, idle=True).order_by("create_time") else: server_list = Host.objects.filter(business__isnull=True, idc=idc_data, idle=False).order_by("create_time") if request.GET.get("options") == "swan_push": s = Ztree_class(business_name, request.user.first_name) rst = s.swan() rst_data = rst.get("swan_name") status = len(rst_data) return render_to_response('ztree/swan.html', locals(), context_instance=RequestContext(request)) if request.GET.get("options") == "doc": data = Project.objects.get(pk=business_name) # return render_to_response('ztree/swan.html', locals(), context_instance=RequestContext(request)) return render_to_response('markdown/index.html', locals(), context_instance=RequestContext(request)) if request.GET.get("options") == "highstate": project = Project.objects.get(uuid=business_name) host_list = Host.objects.filter(business=project) return render_to_response('ztree/highstate.html', locals(), context_instance=RequestContext(request)) if request.GET.get("options") == "monitor": return render_to_response('ztree/zabbix_count.html', locals(), context_instance=RequestContext(request)) if request.GET.get("options") == "salt": return render_to_response('ztree/saltstack.html', locals(), context_instance=RequestContext(request)) if request.GET.get("options") == "project": ip_list = [] server_list = {} line_name = Line.objects.get(pk=business_name) business_data = Project.objects.filter(line=business_name) for i in business_data: node = Host.objects.filter(business=i, idle=True) for k in node: if k.eth1 not in ip_list: ip_list.append(k.eth1) server_list[str(k.uuid)] = k.eth1 count = len(ip_list) return render_to_response('ztree/project.html', locals(), context_instance=RequestContext(request)) if request.GET.get("options") == "types": get_env = request.GET.get("name") business_data = Project.objects.filter(pk=business_name) server_list = Host.objects.filter(business=business_data, env=get_env).order_by("-create_time") count = server_list.count() return render_to_response('ztree/ztree.html', locals(), context_instance=RequestContext(request)) if request.GET.get("options") == "service": s = [] bus_data = Project.objects.get(uuid=business_name) server_list = Host.objects.filter(business=bus_data, idle=True).order_by("create_time") for i in server_list: t = i.service.all() for b in t: if b not in s: s.append(b) tag = request.GET.get("tgt", False) if tag: service_all = Service.objects.get(name=tag) server_list = Host.objects.filter(service=service_all, business=bus_data) return render_to_response('ztree/ztree_service.html', locals(), context_instance=RequestContext(request)) count = server_list.count() return render_to_response('ztree/ztree.html', locals(), context_instance=RequestContext(request))