简易的CMDB服务端
前言
本文仅是对以前写的小示例进行一次梳理,由于本人菜鸟一枚,后端代码写的很渣,前端页面也不好看,还请大家多多海涵。
一、程序简介
程序分为cmdb_server,cmdb_client两部分,以运维为核心开发的简易框架,cmdb_client主要负责资产信息采集,采集到数据后将数据进行清洗,汇总.使用post的方式将数据发给cmdb_server,cmdb_server将接收到的数据写入数据库。通过前端展现给用户。
cmdb_server实现的主要功能如下(目前部分功能仅支持centos 7):
1、用户登录认证。’
2、将采集到的资产信息以前端页面展示给用户,并可以将资产信息以excel的形式导出。
3、机房信息维护。
4、业务线信息维护。
5、记录主机资产信息的变更记录。
6、执行用户任务(批量执行命令,执行脚本,文件下发。提取客户端文件到本地)
7、实时监控主机硬件资源。
8、webssh。
9、docker服务器管理。
cmdb_client主要实现了通过agent或者ssh的方式对windows7以上版本,centos7版本的资产信息采集。
程序目前主要针对centos 7进行的开发
二、程序目录简介
[root@localhost cmdb]# tree -l 1 cmdb_server/ cmdb_server/ ├── asset_api # 负责接送cmdb_client发来的资产信息,并将资产信息写入数据库 ├── assetrepository # 数据库 ├── cmdb_server # 程序主目录 ├── data_dir # 存放日志,下载文件的目录 ├── db.sqlite3 ├── manage.py ├── plugin # 插件库:处理ssh连接,发送报警邮件,日志,主机存活扫描,分页处理,excel处理 ├── __pycache__ ├── requirements.txt ├── show_page # 实现用户功能的目录 ├── templates ├── test.py [root@localhost cmdb_server]# tree -l 1 show_page/ show_page/ ├── client_manage # 用于展示资产信息 ├── docker_manage # docker服务器管理 ├── host_monitor # 主机监控 ├── __init__.py ├── login_register # 用户登录认证 ├── __pycache__ ├── user_task # 执行用户任务 ├── web # 功能app └── web_ssh # webssh
三、程序开发平台
操作系统:centos 7
软件版本:python 3.6 django 1.11.20 mariadb 5.5.64
主要用到的技术:python,django,ssh,websocket,ajax,需要用到的运维命令。
四、功能演示
1、登录认证
2、获取资产信息
2.1资产信息的其它操作
3、机房信息和业务线
4、主机变更记录
5、执行用户任务
5.1 执行批量安装命令
5.2 批量执行shell脚本
5.3 批量文件下发
5.4 文件提取
6、主机监控
7、webssh
8、docker管理
8.1 批量安装docker
8.2 统一镜像源
8.3 镜像搜索和批量下载
8.4 批量创建容器
8.5 docker服务,容器,镜像相关操作
8.6 使用dockerfile创建镜像
---------------------------------------------------------- 待续 -----------------------------------------------------------------
上一篇: Flutter 不可错过的学习资源