def data_search(request): search = request.GET.get('search', '') if search: x = models.Es() y = x.search_all(index='my-index', type='test', reque=search) context = {'messages': x.data_despose(data=y)} return render(request, "cmdb/index.html", context) else: x = models.Es() # 传输給html的必须是一个字典 context = {'messages': x.Get_data_all()} return render(request, "cmdb/index.html", context)
def post(self, request): try: if request.session['username']: # 获取参数数据 auth = request.POST.get('auth', '') if auth: if auth == "0": x = models.Es() context = { 'status': 1, 'messages': x.Get_data_all( index='my-index', type='test', body={"query": { 'term': { "auth": "0" } }}) } return JsonResponse(context) else: context = {'status': 0, 'messages': "input error"} return JsonResponse(context) else: context = {'status': 0, 'message': '查无数据'} return JsonResponse(context) else: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context) except KeyError: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context)
def post(self, request): try: if request.session['username']: try: id = request.POST.get('id', '') if id: y = models.Es() y.Rm_data(index='my-task', type='task', id=id) context = { 'status': 1, 'message': '删除成功!', 'messages': id } return JsonResponse(context) else: context = { 'status': 0, 'message': '删除失败,未接收参数!', 'messages': id } return JsonResponse(context) except KeyError: context = {'status': 0, 'message': '删除失败!', 'messages': id} return JsonResponse(context) else: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context) except KeyError: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context)
def post(self, request): try: if request.session['username']: # 获取参数数据 id = request.POST.get('id', '') if id: if id == "all": x = models.Es() context = { 'status': 1, 'messages': x.Get_data_all(index='my-script', type='script') } return JsonResponse(context) else: context = {'status': 0, 'messages': "input error"} return JsonResponse(context) else: context = {'status': 0, 'message': '查无数据'} return JsonResponse(context) else: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context) except KeyError: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context)
def post(self, request): try: if request.session['username']: host = request.POST.get('host', '') script = request.POST.get('script', '') stats = request.POST.get('stats', '') #将字符串转化为列表 host_list = host.strip(',').split(',') script_list = script.strip(',').split(',') # print(host_list,script_list) # print(host,script,stats) for host in host_list: if (not host): context = {'status': 0, 'messages': '输入有误'} return JsonResponse(context) x = models.Es() ttx = x.Get_data(index='my-index', type='test', id=host) hostname = ttx['_source']['hostname'] port = ttx['_source']['port'] username = ttx['_source']['username'] password = ttx['_source']['password'] # if (not hostname or not port or not username or not password): # # context = {'status': 0, 'messages': '输入有误'} # # return JsonResponse(context) for script in script_list: tty = x.Get_data(index='my-script', type='script', id=script) # print(tty['_source']['dir']) # print(tty['_source']['name']) #服务器存储脚本路径 local_path = tty['_source']['dir'] + '\\' + tty[ '_source']['name'] print(local_path) #上次至服务器路径 remote_path = r'/tmp/' + tty['_source']['name'] print(remote_path) pty = models.SSH_passwd() ttt = pty.put_file(hostname=hostname, port=port, username=username, password=password, local_path=local_path, remote_path=remote_path) execmd = 'sh /tmp/' + tty['_source']['name'] ttp = pty.sshclient_execmd(hostname=hostname, port=port, username=username, password=password, execmd=execmd) ttl = eval(ttp) context = {'status': 1, 'messages': ttl} # context = {'status': 1, 'messages': 'env execmd succeed!'} return JsonResponse(context) else: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context) except KeyError: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context)
def post(self, request): try: if request.session['username']: tagname = request.POST.get('tagname', '') # dir = request.POST.get('dir', '') name = request.POST.get('name', '') stats = request.POST.get('stats', '') notes = request.POST.get('notes', '') x = models.Es() #部署到生产环节时需要修改此处的绝对路径,存放脚本 dir = r'C:\Users\Administrator\Desktop\cmdb\myapp\script' message = { 'tagname': tagname, 'dir': dir, 'name': name, 'stats': stats, 'notes': notes } print(message) x.Create_data(index='my-script', type='script', body=message) context = {'status': 1, 'messages': '添加成功'} return JsonResponse(context) else: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context) except KeyError: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context)
def post(self, request): try: if request.session['username']: y = models.Es() id = request.POST.get('id', '') print(id) # 判断tagname是否已有,若有则不能添加 if id: tagname = request.POST.get('tagname', '') cpu = request.POST.get('cpu', '') memory = request.POST.get('memory', '') ip = request.POST.get('ip', '') systemd_version = request.POST.get('systemd_version', '') kernel_version = request.POST.get('kernel_version', '') tag = request.POST.get('tag', '') stats = request.POST.get('stats', '') space = request.POST.get('space', '') update_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) update_username = request.POST.get('update_username', '') notes = request.POST.get('notes', '') cost = request.POST.get('cost', '0') message = { 'cpu': cpu, 'tagname': tagname, 'memory': memory, 'ip': ip, 'systemd_version': systemd_version, 'kernel_version': kernel_version, 'tag': tag, 'stats': stats, 'update_time': update_time, 'update_username': update_username, 'space': space, 'notes': notes, 'cost': cost } print(id, message) res = y.update_data(index='my-index', type='test', id=id, body=message) print(res) context = {'status': 1, 'message': '数据更新成功!'} return JsonResponse(context) else: context = {'status': 0, 'message': '数据更新失败!'} return JsonResponse(context) else: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context) except KeyError: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context)
def index_return(request): try: if request.session['username']: x = models.Es() # 传输給html的必须是一个字典 context = {'messages': x.Get_data_all()} return render(request, "cmdb/index.html", context) else: return render(request, "login/login.html") except KeyError: return render(request, "login/login.html")
def data_look(request): try: if request.session['username']: #从前端传来一个值-欠缺;从前端传输回来某条数据的id appip = '3' y = models.Es() res = y.Get_data(index='my-index', type='test', id=appip) context = {'messages': json.dumps(res)} return render(request, "cmdb/data_look.html", context) else: return render(request, "login/login.html") except KeyError: return render(request, "login/login.html")
def post(self, request): try: if request.session['username']: # 获取参数数据 # session_key = request.session.session_key # print(session_key) id = request.POST.get('id', '') # print(id) if id: if id == "all": x = models.Es() context = { 'status': 1, 'messages': x.Get_data_all(index='my-index', type='test') } print(context) return JsonResponse(context) else: try: y = models.Es() res = y.Get_data(index='my-index', type='test', id=id) context = {'messages': json.dumps(res)} return JsonResponse(context) except KeyError: context = {'status': 0, 'message': '查无数据'} return JsonResponse(context) else: context = {'status': 0, 'message': '查无数据'} return JsonResponse(context) else: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context) except KeyError: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context)
def data_delete(request): try: if request.session['username']: #前端未接入,需要将数据的tagname传输过来,即可删除。目前写死 tagname = 'nginx1' y = models.Es() y.Rm_data_tagname(index='my-index', type='test', tagname=tagname) context = {'messages': '删除成功!', 'messages_tagname': tagname} return render(request, "cmdb/data_delete.html", context) else: return render(request, "login/login.html") except KeyError: return render(request, "login/login.html")
def get(self, request): try: if request.session['username']: # 获取参数数据 search = request.GET.get('search', '') if search: x = models.Es() y = x.search_all(index='my-index', type='test', reque=search) context = {'status': 1, 'messages': x.data_despose(data=y)} return JsonResponse(context) else: x = models.Es() # 传输給html的必须是一个字典 context = {'status': 1, 'messages': x.Get_data_all()} return JsonResponse(context) else: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context) except KeyError: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context)
def ssh(request): hostname = 'hqh-study-python.com' port = 2222 username = '******' password = '******' execmd = "cat /etc/redhat-release" pty = models.SSH_passwd() ttt = pty.sshclient_execmd(hostname=hostname, port=port, username=username, password=password, execmd=execmd) print(ttt) x = models.Es() # 传输給html的必须是一个字典 context = {'messages': x.Get_data_all()} return render(request, "cmdb/index.html", context)
def post(self, request): try: if request.session['username']: y = models.Es() id = request.POST.get('id', '') print(id) # 判断tagname是否已有,若有则不能添加 if id: hostname = request.POST.get('hostname', '') port = request.POST.get('port', '') username = request.POST.get('username', '') password = request.POST.get('password', '') execmd = request.POST.get('execmd', '') sudo = request.POST.get('sudo', '') auth = request.POST.get('auth', '1') message = { 'auth': auth, 'execmd': execmd, 'sudo': sudo, 'password': password, 'username': username, 'port': port, 'hostname': hostname } print(id, message) res = y.update_data(index='my-index', type='test', id=id, body=message) print(res) context = {'status': 1, 'message': '数据更新成功!'} return JsonResponse(context) else: context = {'status': 0, 'message': '数据更新失败!'} return JsonResponse(context) else: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context) except KeyError: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context)
def post(self, request): try: if request.session['username']: y = models.Es() tagname = request.POST.get('tagname', '') # 判断tagname是否已有,若有则不能添加 if not tagname: context = {'status': 2, 'message': '名称不可为空'} return JsonResponse(context) res = y.Get_data_tagname(index='my-index', type='test', tagname=tagname) if res == 'True': cpu = request.POST.get('cpu', '') memory = request.POST.get('memory', '') ip = request.POST.get('ip', '') systemd_version = request.POST.get('systemd_version', '') kernel_version = request.POST.get('kernel_version', '') tag = request.POST.get('tag', '') message = { 'cpu': cpu, 'tagname': tagname, 'memory': memory, 'ip': ip, 'systemd_version': systemd_version, 'kernel_version': kernel_version, 'tag': tag } print(message) y.update_data_tagname(index='my-index', type='test', tagname=tagname, data=message) context = {'status': 1, 'message': '数据已更新!'} return JsonResponse(context) else: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context) except KeyError: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context)
def post(self, request): try: if request.session['username']: try: y = models.Es() task = request.POST.get('task', '') # 判断tagname是否已有,若有则不能添加 if not task: context = {'status': 2, 'message': '任务不可为空'} return JsonResponse(context) res = y.Get_data_tagname(index='my-task', type='task', tagname=task) if res == 'True': context = {'status': 0, 'message': '任务已存在,不需要重复添加'} return JsonResponse(context) status = request.POST.get('status', '') create_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) message = { 'status': status, 'task': task, 'create_time': create_time } print(message) y.Create_data(index='my-task', type='task', body=message) print("test") context = {'status': 1, 'message': '添加成功'} return JsonResponse(context) except KeyError: context = {'status': 3, 'message': '添加失败,KeyError'} return JsonResponse(context) else: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context) except KeyError: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context)
def login_auth(request): #只接受POST请求 try: if request.method == "POST": #获取用户输入的信息 usrname = request.POST.get('username', '') passwd = request.POST.get('passwd', '') #将密码转化为MD5格式 x = models.Change_md5() x.setName(passwd) passwd = x.data #过滤查询用户输入的用户,返回类型列表 tty = models.DUser.objects.filter(user=(usrname)) if not tty: # 下列值将给前端使用 context = {'error_id': 1, 'error': '用户不存在'} return render(request, "login/login.html", context) # 判断用户输入的密码与数据库保存密码是否一致 elif passwd == tty[0].passwd: request.session['username'] = usrname request.session.set_expiry(600) x = models.Es() #传输給html的必须是一个字典 # print(request.session.keys()) # print(x.Get_data_all()) # context = {'messages': x.Get_data_all(index="my-index", type="test")} context = {'messages': 'test'} return render(request, "cmdb/index.html", context) else: print('密码错误') context = {'error_id': 2, 'error': '密码错误'} return render(request, "login/login.html", context) else: return render(request, "login/login.html") except ValueError: return render(request, "login/login.html")
def add_message(request): try: if request.method == "POST": y = models.Es() tagname = request.POST.get('tagname', '') #判断tagname是否已有,若有则不能添加 res = y.Get_data_tagname(index='my-index', type='test', tagname=tagname) if res == 'True': context = {'add_messages': '该名称已存在,不可重复添加'} return render(request, "cmdb/data_add.html", context) cpu = request.POST.get('cpu', '') memory = request.POST.get('memory', '') ip = request.POST.get('ip', '') systemd_version = request.POST.get('systemd_version', '') kernel_version = request.POST.get('kernel_version', '') tag = request.POST.get('tag', '') create_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) message = { 'cpu': cpu, 'tagname': tagname, 'memory': memory, 'ip': ip, 'systemd_version': systemd_version, 'kernel_version': kernel_version, 'tag': tag, 'create_time': create_time, 'status': 0 } # print(message) y.Create_data(index='my-index', type='test', body=message) return render(request, "cmdb/data_add.html") else: return render(request, "login/login.html") except KeyError: return render(request, "login/login.html")
def post(self, request): try: if request.session['username']: try: # 前端未接入,需要将数据的tagname传输过来,即可删除。目前写死 tagname = request.POST.get('tagname', '') if tagname: # tagname = 'nginx1' y = models.Es() y.Rm_data_tagname(index='my-index', type='test', tagname=tagname) context = { 'status': 1, 'message': '删除成功!', 'messages': tagname } return JsonResponse(context) else: context = { 'status': 0, 'message': '删除失败,未接收参数!', 'messages': tagname } return JsonResponse(context) except KeyError: context = { 'status': 0, 'message': '删除失败!', 'messages': tagname } return JsonResponse(context) else: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context) except KeyError: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context)
def post(self, request): try: if request.session['username']: try: y = models.Es() tagname = request.POST.get('tagname', '') # 判断tagname是否已有,若有则不能添加 print(type(tagname)) if not tagname: context = {'status': 2, 'message': '名称不可为空'} return JsonResponse(context) res = y.Get_data_tagname(index='my-index', type='test', tagname=tagname) if res == 'True': # print("test") context = {'status': 0, 'message': '该名称已存在,不可重复添加'} return JsonResponse(context) cpu = request.POST.get('cpu', '') memory = request.POST.get('memory', '') ip = request.POST.get('ip', '') systemd_version = request.POST.get('systemd_version', '') kernel_version = request.POST.get('kernel_version', '') tag = request.POST.get('tag', '') i_ip = request.POST.get('i_ip', '') e_ip = request.POST.get('e_ip', '') # e_ip为外网ip,i_ip为内网ip if (i_ip or e_ip): if (i_ip and e_ip): ip = i_ip + "/" + e_ip elif i_ip: ip = i_ip else: ip = e_ip space = request.POST.get('space', '') notes = request.POST.get('notes', '') cost = request.POST.get('cost', '0') stats = request.POST.get('stats', '') hostname = request.POST.get('hostname', '') port = request.POST.get('port', '') username = request.POST.get('username', '') password = request.POST.get('password', '') auth = request.POST.get('auth', '1') sudo = request.POST.get('sudo', '1') create_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) message = { 'cpu': cpu, 'tagname': tagname, 'memory': memory, 'ip': ip, 'systemd_version': systemd_version, 'kernel_version': kernel_version, 'tag': tag, 'create_time': create_time, 'space': space, 'stats': stats, 'notes': notes, 'cost': cost, 'auth': auth, 'sudo': sudo, 'port': port, 'hostname': hostname, 'username': username, 'password': password } print(message) y.Create_data(index='my-index', type='test', body=message) context = {'status': 1, 'message': '添加成功'} return JsonResponse(context) except KeyError: context = {'status': 0, 'message': '添加失败,KeyError'} return JsonResponse(context) else: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context) except KeyError: context = {'status': 7, 'messages': '会话已失效,请重新登录!'} return JsonResponse(context)