10分分钟钟用用python搭搭建建一一个个超超好好用用的的CMDB系系统统
这篇文章主要介绍了10分钟用python搭建一个超好用的CMDB系统,文中通过示例代码介绍的非常详细,对大家的
学习或者工 具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
CMDB 是什么, 为 IT 工程师的你想必已经听说过了,或者已经烂熟了,容我再介绍一下,以防有读者还不知道。C
MDB 的全称是 Configuration Management Data Base,翻译下就是配置管理数据库,它存储与管理企业 IT 架构中设
备的各种配置信息,它支撑服务流程的运转、发挥着配置信息的价值。在今天,无论是自 化运维、标准化运维、De
vOps、甚至是时髦的智能运维,其实都离开不 CMDB,可以说 CMDB 是运维体系的基石,有了配置信息数据库,后
面各种标准、流程都可以建立在 CMDB 基础之上,从而实现真正的标准化、自 化、智能化运维,节约运维成本的同
时,也降低运维流程混乱带来的操 风险。
今天分享一个开源的 cmdb 系统的搭建过程,通过这一系列搭建的过程你不仅可以获得一个支持全文检索、自带 rest
ful api 的 cmdb 系统,而且还可以学到不少时髦的技术。
后端技术 :
Python
Django
Django REST framework
Elasticsearch
uwsgi
Nginx
Docker
前端技术 :
Vue
Element-ui
Vue-Router
Vuex
Axios
先看一下这个 CMDB 系统的容颜,设计上参考了饿了么内部的 cmdb 系统:
基本功能有 :热添加删除表、自定义字段类型,方便增删改查的前端界面,强大的搜索查找能力 (后端使用elasticsea
rch存储数据 ) 可以配合 kibana 使用,查看数据的删除修改记录、历史版本等,还带有表级权限管理,开放所有 AP
I。
github 仓库
后端 :/open-cmdb/cmdb
前端 :/open-cmdb/cmdb-web
下面介绍两种方法搭建此开源 cmdb 系统 ,一个是使用 Docker,适用于 linux 操 系统 ,另一个是不使用 Docker,
适用于 windows 和 linux 。最后介绍下 vue 环境的搭建。
1. 使使用用 Docker
如果你熟悉容器技术,推荐使用此方法,不过最新的 Docker 目前还不支持大多数的 windows 版本,因此如果使用容
器,请使用 ubuntu 或 centos 等 Linux 操 系统。首先要安装 Docker,安装 Docker 的方法请参考我之前的一篇文章
docker容器从入门到痴迷,或直接网上搜索对应操 系统的安装方法对着做即可,没有难度。
环境境准准备 ::
1、一台可以访问互联网的 linux 服务器 内存最好 >= 4G ,并创建一个具有 sudo 权限的普通用户,注意要有 yum
命令,如果没有可以安装下。
2、一个 cmdb 专用的邮箱,用于发送密码和验证码,如果使用16 、qq等第三方邮箱请在设置里面打开POP /SMTP/
IMAP服务并生成授权码。如果不使用注册和忘记密码功能,也可以不准备
一一键安安装装
将下述代码保存到 install_cmdb.py 并执行 sudo python install_cmdb.py 即可一键安装。
# -*- coding: utf-8 -*-
import os
import subprocess
import argparse
import time
def base(cmd):
if subprocess.call(cmd, shell=True):
raise E ception("{} 执行失败".format(cmd))
def install_docker():
base("sudo yum install -y yum-utils device-mapper-persistent-data lvm2")
base("sudo yum-config-manager --add-repo /docker-ce/linu /cento
s/docker-ce.repo")