简易的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、登录认证

简易的CMDB服务端

2、获取资产信息

简易的CMDB服务端

2.1资产信息的其它操作

简易的CMDB服务端

3、机房信息和业务线

简易的CMDB服务端

4、主机变更记录

简易的CMDB服务端

5、执行用户任务

5.1 执行批量安装命令

简易的CMDB服务端

5.2 执行shell脚本

简易的CMDB服务端

5.3 文件下发

简易的CMDB服务端

5.4 文件提取

简易的CMDB服务端

6、主机监控

简易的CMDB服务端

7、webssh

简易的CMDB服务端

8、docker管理

8.1 安装docker

简易的CMDB服务端

8.2 统一镜像源

简易的CMDB服务端

8.3 镜像搜索和批量下载

简易的CMDB服务端

8.4 批量创建容器

简易的CMDB服务端

8.5 docker服务,容器,镜像相关操作

简易的CMDB服务端

8.6 使用dockerfile创建镜像

简易的CMDB服务端

 

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

 

简易的CMDB服务端

上一篇:mysql运维之-单机多实例(多进程的方式)


下一篇:一款开源的基于语义分析的SQL注册检测引擎-sqlinjection-detect