#!/usr/local/baize/env/bin/python
#coding:utf-8
# (c) 2016 , Tianbiao Zu <zutianbian@qq.com>
#
# 该文件是白泽自动化管理系统的一部分,是白泽系统的django views配置文件
###################################################################################################
import os
import json
import re
import logging
import hashlib
import base64
import time
import urllib
import urllib2
import baize.settings as C
from ftplib import FTP
from urlparse import urlparse
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from django.shortcuts import render_to_response, HttpResponseRedirect
from API.API_web.config_items import Config
from API.API_web.reciver import *
from django.contrib.auth.hashers import check_password, make_password
from django.contrib.auth.models import User
from django.contrib import auth
from django.contrib.auth import authenticate
from django.core.context_processors import csrf
from API.API_web.generate_password import fun_generate_password
from django.core.mail import send_mass_mail
from baize.settings import EMAIL_HOST_USER, ADMIN_EMAIL
from django.utils import timezone
from django.contrib.auth.decorators import login_required
from pyecharts import Line
from models import Asset, Detect_Role, Geo, Isp, Detect_Task, Ping_Detect, Traceroute_Detect, Curl_Detect, \
Remote_Control_Command, Remote_Control_Script, Remote_Control_Copy, Asset_Tag, Asset_Tag_Data, \
Business_Tree, Configure_Manage_Work, Configure_Manage_Work_Tag_Data, Configure_Manage_Task, \
Configure_Manage_Task_Data, Authority_Url, Authority_Bussiness, Bussiness, Bussiness_Btn, Alarm_Msg, \
Alarm_Person_Data, Alarm, Alarm_Person, Alarm_Msg_Template, Alarm_Msg_Ignore, Monitor_Item, Monitor_Screen, \
Authority_Screen, Monitor_Chart, Monitor_Screen_Data
def authority_url(func):
def inner(request, *args, **kwargs):
try:
superuser = request.user.is_superuser
except Exception, e:
superuser = True
if not superuser:
try:
list_authority = Authority_Url.objects.filter(url__contains=request.path, user=request.user)
except Exception, e:
list_authority = []
if not list_authority:
http_accept = request.META.get('HTTP_ACCEPT', '')
if 'json' not in http_accept:
return fun_403(request, *args, **kwargs)
else:
response_data = {
"success": False,
"msg": u"url权限不足,请联系管理员"
}
return HttpResponse(json.dumps(response_data), content_type="application/json")
return func(request, *args, **kwargs)
return inner
def baize_register(username, email):
C_web = Config()
length = int(C_web.item(item_name='LENGTH_PASSWORD_RANDOM', group_name='PASSWORD', default=u"""8"""))
_secret_method = C_web.item(item_name='SECRET_METHOD', group_name='MASTER', default=u"""pbkdf2_sha256""")
_password = fun_generate_password(length=length)
try:
_secret_password = make_password(_password, None, _secret_method)
except Exception, e:
logger = logging.getLogger('log_file')
logger.error(e)
if C.LOG_SCREEN == 'ON':
logger = logging.getLogger('log_screen')
logger.error(e)
_secret_password = _password
message1 = (u"【Baize】注册成功", u"恭喜您,注册白泽系统成功,您的账号: %s, 密码: %s" % (username, _password), EMAIL_HOST_USER, [email, ])
message2 = (u"【Baize】注册提醒", u"%s注册成功,邮箱: %s, 密码: %s" % (username, email, _password), EMAIL_HOST_USER, [ADMIN_EMAIL, ])
try:
user = User.objects.filter(username=username, email=email)
except Exception, e:
user = None
if user:
log_message = u"%s已经存在,邮箱: %s" % (username, email)
logger = logging.getLogger('log_file')
logger.info(log_message)
if C.LOG_SCREEN == 'ON':
logger = logging.getLogger('log_screen')
logger.info(log_message)
_re = {
"success": False,
"msg": u"您注册的邮箱已经存在"
}
else:
user = User(username=username, email=email, password=_secret_password, is_superuser=True)
try:
_res = send_mass_mail((message1, message2), fail_silently=False)
except Exception, e:
logger = logging.getLogger('log_file')
logger.error(e)
if C.LOG_SCREEN == 'ON':
logger = logging.getLogger('log_screen')
logger.error(e)
_res = 0
if _res >= 2:
user.save()
log_message = u"%s注册成功,邮箱: %s" % (username, email)
logger = logging.getLogger('log_file')
logger.info(log_message)
if C.LOG_SCREEN == 'ON':
logger = logging.getLogger('log_screen')
logger.info(log_message)
_re = {
"success": True,
"msg": u"注册成功"
}
elif _res == 0:
log_message = u"注册失败,邮箱%s不存在" % email
logger = logging.getLogger('log_file')
logger.info(log_message)
if C.LOG_SCREEN == 'ON':
logger = logging.getLogger('log_screen')
logger.info(log_message)
_re = {
"success": False,
"msg": u"您注册的邮箱不存在"
}
else:
log_message = u"%s注册失败,邮箱: %s" % (username, email)
logger = logging.getLogger('log_file')
logger.info(log_message)
if C.LOG_SCREEN == 'ON':
logger = logging.getLogger('log_screen')
logger.info(log_message)
_re = {
"success": False,
"msg": u"您注册的邮箱不存在"
}
return _re
@csrf_exempt
def register(request):
C_web = Config()
argv_local = dict()
argv_local['BODY_BG'] = 'gray-bg'
if request.method == 'GET':
argv_local["DEFAULT"] = {
"WEB_TITLE": C_web.item(item_name='WEB_TITLE', group_name='DEFAULT', default=u"Baize"),
"MSG_WELCOME_REGISTER": C_web.item(item_name='MSG_WELCOME_REGISTER', group_name='DEFAULT',
default=u"Register to Baize"),
"MSG_REGISTER": C_web.item(item_name='MSG_REGISTER', group_name='DEFAULT',
default=u"""<div class="text-normal">Create account to see it in action.</div>"""),
"MSG_ACCOUNT_HAVE": C_web.item(item_name='MSG_ACCOUNT_HAVE', group_name='DEFAULT',
default=u"""Already have an account?"""),
"WEB_FOOTER": C_web.item(item_name='WEB_FOOTER', group_name='DEFAULT', default=u"""© 白泽自动化运维开发小组 2017"""),
}
return render_to_response('login/register.html', argv_local)
else:
username = request.POST['username']
email = request.POST['email']
_re = baize_register(username, email)
if _re['msg'] == u'注册成功':
argv_local["DEFAULT"] = {
"WEB_TITLE": C_web.item(item_name='WEB_TITLE', group_name='DEFAULT', default=u"""Baize"""),
"MSG_WELCOME": C_web.item(item_name='MSG_WELCOME', group_name='DEFAULT',
default=u"""Welcome to Baize"""),
"MSG_USAGE": C_web.item(item_name='MSG_USAGE', group_name='DEFAULT',
default=u"""打造通用型自动化运维平台.助力传统运维向Devops转型"""),
"MSG_LOGIN": C_web.item(item_name='MSG_LOGIN_SUCCESS', group_name='DEFAULT',
没有合适的资源?快使用搜索试试~ 我知道了~
白泽自动化运维系统.zip
共2000个文件
js:757个
png:620个
html:245个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 24 浏览量
2024-03-23
11:59:58
上传
评论
收藏 51.73MB ZIP 举报
温馨提示
配置管理、网络探测、资产管理、业务管理、CMDB、CD、DevOps、作业编排、任务编排等功能,未来将添加监控、报警、日志分析、大数据分析等部分内容 运维(Operations & Maintenance,简称O&M)是IT行业中至关重要的角色,负责确保信息系统和服务的高效稳定运行。运维工程师的工作涵盖了系统架构搭建、维护、优化,以及故障排查与解决等多个方面。 首先,运维工作包括基础设施的部署与配置,如服务器、网络设备、存储设备等硬件资源的安装调试与监控,同时还需要安装操作系统、数据库和其他应用软件,并进行性能调优以满足业务需求。 其次,运维人员承担着日常监控与安全管理任务,他们借助各类工具持续监控系统的运行状态,及时发现并处理异常情况,预防服务中断。此外,运维还包括制定备份恢复策略,确保数据的安全性和可用性,以及实施网络安全策略,防止黑客攻击、病毒感染等安全风险。 再者,运维团队还需参与系统升级、扩容等工作,以应对业务增长带来的挑战。他们通过对资源的合理调度与规划,保证系统性能和用户体验的不断提升。 最后,运维工程师还涉及自动化运维体系的建设和完善,通过脚本编写、配置管理工具的运用,实现批量部署、自动巡检、故障自愈等功能,从而提升运维效率,减轻人工压力。 总之,运维工作的核心目标在于保障业务的连续性和稳定性,为用户提供优质、高效的服务环境,同时紧跟技术发展步伐,不断推动运维工作的智能化、自动化进程。
资源推荐
资源详情
资源评论
收起资源包目录
白泽自动化运维系统.zip (2000个子文件)
auto_worker_agent 1KB
auto_worker_proxy 1KB
auto_worker_web 1KB
baize 23KB
bash_lib_baize 21KB
ansible.cfg 6KB
influxdb.conf 14KB
nginx.conf 2KB
COPYING 10KB
style.css 170KB
style.css 170KB
summernote-bs3.css 143KB
summernote-bs3.css 143KB
bootstrap.css 143KB
bootstrap.css 143KB
bootstrap.min.css 118KB
bootstrap.min.css 118KB
animate.css 64KB
animate.css 64KB
font-awesome-ie7.css 40KB
font-awesome-ie7.min.css 37KB
datepicker3.css 33KB
datepicker3.css 33KB
jquery-ui.css 32KB
jquery-ui.css 32KB
jquery-ui.css 32KB
jquery-ui.css 32KB
bootstrap-rtl.css 31KB
bootstrap-rtl.css 31KB
style.css 29KB
style.css 29KB
font-awesome.css 28KB
font-awesome.css 28KB
font-awesome.css 27KB
ambiance.css 25KB
ambiance.css 25KB
jquery-ui.min.css 25KB
jquery-ui.min.css 25KB
style.min.css 25KB
style.min.css 25KB
bootstrap-rtl.min.css 24KB
bootstrap-rtl.min.css 24KB
font-awesome.min.css 23KB
font-awesome.min.css 23KB
fullcalendar.css 23KB
fullcalendar.css 23KB
font-awesome.min.css 22KB
jquery.datetimepicker.css 18KB
sweetalert.css 18KB
sweetalert.css 18KB
jquery.datetimepicker.min.css 16KB
select2.min.css 15KB
select2.min.css 15KB
summernote.css 14KB
summernote.css 14KB
chartist.min.css 14KB
chartist.min.css 14KB
jasny-bootstrap.min.css 14KB
jasny-bootstrap.min.css 14KB
jquery-ui-1.10.4.custom.min.css 14KB
jquery-ui-1.10.4.custom.min.css 14KB
chosen.css 13KB
chosen.css 13KB
social-buttons.css 13KB
social-buttons.css 13KB
ui.jqgrid.css 13KB
ui.jqgrid.css 13KB
dropzone.css 11KB
dropzone.css 11KB
datatables.min.css 10KB
datatables.min.css 10KB
ladda.min.css 9KB
ladda.min.css 9KB
ladda-themeless.min.css 8KB
ladda-themeless.min.css 8KB
codemirror.css 7KB
codemirror.css 7KB
blueimp-gallery.min.css 7KB
blueimp-gallery.min.css 7KB
daterangepicker-bs3.css 7KB
daterangepicker-bs3.css 7KB
awesome-bootstrap-checkbox.css 7KB
awesome-bootstrap-checkbox.css 7KB
toastr.min.css 7KB
toastr.min.css 7KB
jquery-jvectormap-2.0.2.css 6KB
jquery-jvectormap-2.0.2.css 6KB
blueimp-gallery.css 6KB
blueimp-gallery.css 6KB
jquery.steps.css 6KB
jquery.steps.css 6KB
footable.core.css 5KB
footable.core.css 5KB
fullcalendar.print.css 5KB
fullcalendar.print.css 5KB
styles.css 4KB
clockpicker.css 4KB
clockpicker.css 4KB
basic.css 4KB
basic.css 4KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
JJJ69
- 粉丝: 5965
- 资源: 5593
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功