Skip to content

zeus911/WS-OPS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 

Repository files navigation

ws-ops

WS运维管理平台

功能说明

- 用户管理
- 资产管理
- CMDB
- 运维工单
- LDAP认证
- 发布系统
- 数据库管理系统
- 任务调度
- 内部portal
- 应用健康检查

运行环境

* Python 3.6.3
* Django 1.11.7
* Nginx 1.12.2

启动方式

```
django启动: scripts/gunicorn.sh start
celery启动: 将 supervisor_conf/celery_worker.ini 复制到 /etc/supervisord.d/ 中,启动 supervisor: supervisord -c /etc/supervisord.conf 
```

功能详细说明

- 用户管理
    1. 用户的增删改查
    2. 用户组的增删改查
    3. 权限的增删改查
    4. 用户组的权限管理
    5. ldap 认证

- 资产管理
    1. 服务器的增删改查
    2. cmdb 的增删改查
    3. 阿里云服务器的自动增删改查、阿里云服务器信息的自动更新
    4. 阿里云服务器信息的手动一键更新
    5. 阿里云服务器上部署的应用自动增删改到 cmdb
    6. IDC 服务器信息实现手动批量更新(由于公司网络及防火墙的原因,需从IDC中的跳板机执行脚本批量post信息到平台的接口,实现更新)
    7. IDC 机房信息的增删改查

- 运维工单
    见 workform/莴笋运维平台工单设计思路.txt
    1. 包括: 上线工单、sql工单、防火墙工单、其他运维工单、工单列表、我的工单(已审核、待审核、我发出的)
    2. 工单涉及的每个流程的增删改查,及定义每个流程可以审批的人/组
    3. 工单类型及该类型要求的审批流程的增删改查
    4. 工单审批: 不通的工单类型、不同的流程,只有可以审批的人可见并审批
    5. 展示工单各个流程下的审批状态和结果

- 发布系统
    1. 基于不同的环境(生产,预发布/灰度)发布与回滚
    2. 基于权限限制发布: 发布人的权限不同,能够发布的应用也是不同的
    3. 版本的记录:jenkins 打包时会将相关信息(版本号,应用名,打包人等) post 到本平台的接口
    4. 根据版本的状态,确定要发布或回滚的最终版本,其中回滚的版本只能是之前上线过的版本
    5. 记录发布历史、发布脚本执行过程、发布状态

- 数据库管理
    1. 数据库集群、实例、服务器等信息的增删改查
    2. 结合工单系统,实现同一个工单提交多个库的 SQL
    3. 基于 inception 实现 SQL 提交前的语法检查、影响行数检查 
    4. 基于 inception 实现 SQL 的执行(执行报错后结束或继续执行)、备份与回滚(批量回滚/回滚指定语句),并查看执行或回滚结果
    5. 基于 inception 实现 OSC 功能,包括 OSC 和中止 OSC 并且显示执行进度
    6. 自定义高危 SQL
    7. SQL 操作统计

- 任务调度
    1. 基于 celery 实现定时任务的增删改查
    2. 记录 定时任务或者实时触发任务的执行结果,主要的点是 task_name 与 task_id 的关联

- 内部 portal
    1. 主要是 公司内部系统的汇总及访问跳转

- 健康检查
    1. 基于 nginx 的健康检查模块,监控应用的健康状态
    2. 修改了 该模块的 前端展示样式(将nignx_health_check/ngx_http_upstream_check_module.c替换掉原模块中的同名文件,然后重新编译nginx),相对更美观
    3. 对健康检查的结果做了告警,如果是down、就告警(钉钉+微信)

部署方式

暂时先略

About

运维平台(django)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 80.1%
  • HTML 15.5%
  • CSS 2.3%
  • Python 1.3%
  • C 0.3%
  • PHP 0.2%
  • Other 0.3%