简易的CMDB服务端

廉价感情. 提交于 2020-04-06 05:27:23

前言

本文仅是对以前写的小示例进行一次梳理,由于本人菜鸟一枚,后端代码写的很渣,前端页面也不好看,还请大家多多海涵。

一、程序简介

程序分为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创建镜像

 

 ----------------------------------------------------------    待续    -----------------------------------------------------------------

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!