# leops_doc **Repository Path**: daniel198609/leops_doc ## Basic Information - **Project Name**: leops_doc - **Description**: leops_doc文档 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-01-03 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README LeOps运维功能介绍V1.0

撰写人:leops
时间:2019.10.26
一.关于项目:
①解决开发,测试,运维乃至运营之间的信息鸿沟,改善团队之间的协作关系,减少沟通成本
②解决运维日常部署便利性,减少运维人为失误,减少运维,开发对于服务器的依赖
二.项目初衷
在Leops开发初期,已在某公司项目组独立开发了一套日常运维发版,测试对接,运营接入数据,DBA日常等功能,由于需求以及时间紧迫,开发周期只有一个月。7月拿到需求,8月开始研发完毕使用,很多功能基本上满足90%以上的功能,在此功能基础稳定之后开始对代码进行重构,然后结合其他运维工具链,进行改造并取名LeOps.
三.功能点介绍
1.精确的权限(用户,角色)
2.Cmdb
3.堡垒机
4.Web shell执行
5.批量操作
6.项目各类环境上线
7.分布式调度任务
8.Dba相关
9.操作日志以及审计
10.配置文件集中管理
11.工单 待办
12,docker k8s(开发中)
四.开发环境 前端采用php ci框架进行开发,后端使用python flask,通信机制大部分采用websocket 说明:之前有很多人问我为什么会采用不能的语言进行混编开发,这个跟本身自己之前的经验有关,做过5年+的php开发,对php框架熟悉程度以及前端页面部分的东西速度是python django jinja2 等python部分的N倍。而且对ci框架封装了很多好用的东西在里面,一个功能点开发php2个小时,python则需要半天甚至一天时间(需要对python进行封装)
五.主要功能介绍
1.登录
①采用ip白名单,帐号密码令牌进行登录
界面:

令牌获取为本地绑定token.exe文件进行获取
初始化(第一次打开填入web端地址和用户token)
以后打开即可获取令牌:

IP授权(未授权): IP授权(已授权):
2.项目主界面

后面会对我的桌面进行改造会放入监控,重要信息,图表,工单等信息
3.系统管理
系统界面:

用户主页面

用户功能授权

用户服务器分配(采用服务器组和服务器单独分配机制):

服务器命令运行功能授权:

角色(增删改查 授权)

系统日志(用户在系统里的所有操作)

4.Cmdb(服务器增删改查,登录 运行脚本)
添加服务器:

登录:

点击登录打开自定义协议:

调用本地xshell进行登录(管理员 root帐号 其他用户则是LeOps平台用户)

普通用户

以上过程之前参照jumpserver 的web ssh 也写了一个webssh。但是由于操作习惯和各种限制并没有xshell好用(个人习惯使用xshell),所以摒弃了webssh, 兼容Secure Shell(开发中)

运行
运行过程(实时输出 和服务器上运行脚本一样):

服务器组:

5.自动安装:
软件

安装:
勾选服务器

点击确定 将会自动安装(其他软件也是一样,只需勾选服务器,安装日志在页面实时输出)

安装验证:

软件安装说明:有编译安装和docker(更多的软件会加到这个安装库里面来,后续慢慢完善 这个地方也摒弃了ansible和salt的操作思路,参照了宝塔的做法,可以批量对N台服务器进行安装,并且会在页面实时输出,不需要写playbook等信息)
管理配置:
脚本库

模版页:

分布式调度任务(分布式,粒度为秒 摒弃crontab):
任务列表:

添加任务:

执行器

上线流程(该部分会根据不同的角色 不同的环境进行 ):
点击执行:

执行结果:


模拟环境和生产环境 操作和以上一样 不做展示