{"id":13849434,"url":"https://github.com/ywzhou123/EWP_OMS","last_synced_at":"2025-07-12T16:32:50.470Z","repository":{"id":167406820,"uuid":"60071752","full_name":"ywzhou123/EWP_OMS","owner":"ywzhou123","description":"自动化运维系统（saltstack+django+bootstrap），QQ群342844540，博客http://ywzhou.blog.51cto.com","archived":false,"fork":false,"pushed_at":"2016-07-22T03:45:46.000Z","size":73035,"stargazers_count":218,"open_issues_count":4,"forks_count":175,"subscribers_count":29,"default_branch":"master","last_synced_at":"2024-11-12T19:23:14.934Z","etag":null,"topics":["cmdb","django","oms","python","saltstack","zabbix"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ywzhou123.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-05-31T08:29:30.000Z","updated_at":"2024-07-25T12:30:19.000Z","dependencies_parsed_at":"2023-06-28T06:54:26.090Z","dependency_job_id":null,"html_url":"https://github.com/ywzhou123/EWP_OMS","commit_stats":null,"previous_names":["ywzhou123/ewp_oms"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ywzhou123%2FEWP_OMS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ywzhou123%2FEWP_OMS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ywzhou123%2FEWP_OMS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ywzhou123%2FEWP_OMS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ywzhou123","download_url":"https://codeload.github.com/ywzhou123/EWP_OMS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225829364,"owners_count":17530663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmdb","django","oms","python","saltstack","zabbix"],"created_at":"2024-08-04T19:01:18.043Z","updated_at":"2025-07-12T16:32:50.464Z","avatar_url":"https://github.com/ywzhou123.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# EWP_OMS\n\u003e自动化运维系统（saltstack+django+bootstrap），QQ群342844540，博客http://ywzhou.blog.51cto.com/2785388/d-9\n\n## 数据库:\n\n\u003e进入MySQL Command Line Client\n\n\u003eshow databases;\n\n\u003ecreate database ewp_oms character set utf8;\n\n\u003emysql\u003e grant all on ewp_oms.* to 'admin'@'localhost' identified by \"abc@123\";\n\n\u003emysql\u003e flush privileges;\n\n\u003euse ewp_oms;\n\n\u003e进入项目路径执行数据库同步\n\n\u003epython manage.py migrate\n\n\u003e创建管理员账号(登陆页面及后台管理)\n\n\u003epython manage.py createsuperuser\n\n\n##  目前已实现功能：\n\n### CMDB资产管理：\n\n\u003e－机房：设备统计\n\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/idc.png)\n\n\u003e－硬件服务器：详细信息、主机统计、过滤、数据采集（grains)\n\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/server.png)\n\n\u003e－操作主机：详细信息、过滤、搜索、初始化安装(salt-ssh minion模块）、数据采集(grains)\n\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/host.png)\n\n\u003e－网络设备：WEB链接、过滤\n\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/net.png)\n\n\u003e－操作系统：主机统计\n\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/system.png)\n\n### SALT配置管理：\n\n\u003e－命令管理：管理salt module 和 命令，通过'doc.runner','doc.wheel','doc.execution'命令自动采集模块、命令、及帮助信息；\n非内置模块需要手动添加，如svn\n\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/command.png)\n\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/help.png)\n\n\u003e－Minion管理：管理key的接受和删除，新增Minions表，用于存储minion(key)、状态、grains、pillar等信息，CMDB中的数据可以根据IP来调取minion对象；\n还可以操作自定义grain、pillar等数据。\n\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/minions.png)\n\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/grains.png)\n\n\u003e－接口配置：SALT MASTER端RSET API接口信息，关联机房；新增配置管理，实时获取环境、配置等信息。\n\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/saltserver.png)\n        \n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/config.png)\n\n\u003e－命令执行：\n\n－目标选择：client、target类型均可选，同步异步命令均可执行，目标主机通过manage.status命令获取在线minions；\n\n－命令选择：模块+命令选择框级联；\n\n－结果展示：命令通过异步执行时，先展示JID，再向后台请求JID详细结果并使用jsonformat格式化展示；结果保存在mysql中；\n\n－命令结果：读取mysql中的执行命令历史记录并展示；结果为空时条目背景为红色否则绿色。\n\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/execute.png)\n\n\u003e－本地文件：WEB端的本地文件管理（media目录），实现返回上层目录、创建、删除、改名、上传、下载（有些文件要右键另存不知为啥）、保存功能（移动不太好加，涉及SVN问题），\n                   以及结合SVN，实现版本信息显示、提交（增删改）、更新、还原、签出功能；对文件读取做了后缀格式限制和文件大小限制；\n                   还可以增加推送功能（cp.get_url）；需要安装SVN模块：pip install svn\n                   \n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/localfile.png)\n\n\u003e－远程文件：通过salt实现对客户端主机的文件系统管理，可以创建、删除、重命名文件或目录，可以修改文件内容，对文件的访问做了大小和格式的限制；\n              如果是SVN副本还会显示版本信息；调用了代码发布功能，实现SVN副本的提交和更新。\n              \n－目标选择：根据条件过滤或搜索目标主机；\n\n－文件查看：搜索路径搜索目标主机文件，实现返回上层（..)、判断是目录还是文件、文件内容展示，用的是实时返回，需要对文件格式、大小做限制；\n                    计划增加字符替换功能或保存功能（对网络和后端稍有压力）\n                    \n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/remotefile.png)\n\n\u003e－代码发布：项目开发一般使用svn或git，这里以SVN项目发布为例，新建项目（项目名称、项目主机、项目路径、SVN地址、SVN账号、SVN密码、状态、信息）；\n              刷新页面会处理每个项目，获取本地副本信息、如未发布则checkout、如没未安装SVN则pkg.install；可对单个项目进行提交和更新；\n              SVN模块命令需要手动添加：https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.svn.html\n              \n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/deploy.png)\n\n\u003e－应用部署：本地文件管理页面进行sls模块编写、文件上传、提交，代码发布页面将SVN发布到master指定路径（/srv/salt），应用部署页面\n动态获取SaltMaster的环境及其sls模块，批量选择主机通过state.sls进行安装并显示、记录结果；需要进一步细化，如增加test=true功能，增加pillar值输入，改为异步执行等。\n\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/state.png)\n\n### 操作记录：\n\n\u003e－执行记录：保存salt命令执行记录。\n\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/result.png)\n\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/resultinfo.png)\n\n### Zabbix监控\n\u003eZabbix3.0下载地址：http://www.zabbix.com/download.php\n\u003eAPI接口文档地址：https://www.zabbix.com/documentation/3.0/manual/api\n\u003e下载Zabbix Appliance Zabbix 3.0 LTS Installation CD/DVD (.iso)进行快速安装\n\u003e在EWP_OMS\\config.ini中定义相关连接参数\n\n## Host列表：\n\u003e目前实现了简单的添加监控主机功能（后续会和cmdb、salt整合），及显示监控主机信息，点击相关对象链接跳转到对象详细页面\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/zbx-host.png)\n\n## Item列表：\n\u003e显示监控项信息，点击名称显示其监控图，方法是直接调取zabbix服务端img图片，默认1小时，可选择时间范围及手动刷新\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/zbx-item.png)\n\n\u003e点击最近数值LASTVALUE可以查看HighChart画的图，数据是通过ZBX API的history.get命令获取。\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/zbx-history.png)\n\n## Graph列表：\n\u003e同样是直接调取zabbix服务端graph的img图片进行显示，可选择时间范围及手动刷新\n![](https://raw.githubusercontent.com/ywzhou123/EWP_OMS/master/static/screen/zbx-graph.png)\n\n## Template列表：\n\u003e等待中。。。\n\n## Group列表\n\u003e等待中。。。\n\n## 近期规划：\n\n\u003e虚拟化平台管理：Esxi XenServer KVM （hyper-V就算了，能不用win的地方尽量不用），实现模板管理、虚拟机管理、迁移复制管理、自动扩容管理等等\n\n\u003eCobber初装(实测不太好用，对windows、esxi、xen、ubuntu等支持不太好，放弃)\n\n\n\n## 长远规划：\n\n\u003eDocker容器\n\n\u003eOpenStack云\n\n\u003eELK日志","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fywzhou123%2FEWP_OMS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fywzhou123%2FEWP_OMS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fywzhou123%2FEWP_OMS/lists"}