Cmdb

来自linux中国网wiki
Evan讨论 | 贡献2021年6月15日 (二) 06:28的版本 →‎10分钟一个cmdb
跳到导航 跳到搜索

10分钟一个cmdb

https://blog.csdn.net/weixin_43420337/article/details/90903285


10 分钟为你搭建一个超好用的 cmdb 系统

使用django从零开始开发一个cmdb系统一

pre

代码发布系统实现


Python虚拟环境virtualenv

进阶

Django之入门 CMDB系统 (一) 基础环境 原创

Django之入门 CMDB系统 (二) 前端模板 原创

Django之入门 CMDB系统 (三) 登录注销 原创

Django之入门 CMDB系统 (四) 增删改查 原创

Django之入门 CMDB系统 (五) 前后端分离之前端 原创

Django之入门 CMDB系统 (六) 前后端分离之后端 原创


zhihu.怎么用python从零写出一个CMDB?

实战二:Django2.2之CMDB资产管理系统

使用django从零开始开发一个cmdb系统一


django cmdb 十分钟 10分钟 cmdb https://gitee.com/attacker/cmdb

install

#auto 不交互 

#初始化脚本和导入 

#init

#django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient.so.20: cannot open shared object file: No such file or directory
ln -s /tmp/mysql.sock  /var/lib/mysql/
ln -s  /data/apps/mysql/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.20



yum install -y mysql-devel python-devel -y 

#pip 
mkdir -p ~/.pip

cat >>~/.pip/pip.conf<<EOF
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
 
[install]
trusted-host=mirrors.aliyun.com
EOF

pip install -r requirements.txt

#create database
mysql -uroot -p'mysql!q$EWQ23FD23'  -e "create database mycmdb";
mysql -uroot -p'mysql!q$EWQ23FD23'  -e 'grant all on *.* to root@"%" identified by "mysql!q$EWQ23FD23"';
#grant all on *.*  to root@'%' identified by 'mysql!q$EWQ23FD23';
# err mysql -uroot -p'mysql!q$EWQ23FD23' -e "grant all on *.*  to root@'%' identified by 'mysql!q$EWQ23FD23'";

mysql -uroot -p'mysql!q$EWQ23FD23' -e 'show databases';
mysql -uroot -p'mysql!q$EWQ23FD23' -e 'drop database mycmdb';
mysql -uroot -p'mysql!q$EWQ23FD23' -e ' create  database mycmdb';

mysql -uroot -p'mysql!q$EWQ23FD23' -e 'flush privileges';


#修改dj mysql 配置

##初始化数据表
cd mycmdb
python2.7 manage.py makemigrations  #创建更改的文件
sleep 4
python2.7 manage.py migrate # 2. 将生成的py文件应用到数据库

#django.db.utils.IntegrityError: (1215, 'Cannot add foreign key constraint') 不过早上 一开始没这问题的 

#django.db.utils.IntegrityError: (1215, 'Cannot add foreign key constraint' 第二次又好了 

#初始化数据库
#如果没有这一步 ,mysql 只有结构  没有数据的  #RROR 1022 (23000) at line 450: Can't write; duplicate key in table 'myuser'
mysql -uroot -p'mysql!q$EWQ23FD23' mycmdb < evatar_cmdb_dev.sql

#[root@localhost mycmdb]# mysql -uroot -p'mysql!q$EWQ23FD23' mycmdb < evatar_cmdb_dev.sql
#mysql: [Warning] Using a password on the command line interface can be insecure.
#ERROR 1022 (23000) at line 450: Can't write; duplicate key in table 'myuser'

#run 
python2.7 manage.py runserver 0.0.0.0:8888

python manage.py createsuperuser --username=evan [email protected]

#强制添加用户
http://cmdb.com/ecmdb/





一些问题

2021


django修改model结构 miaration不生效的问题总结

Django重置migrations文件的方法步骤

MySQL 错误码: 1054 Unknown column ‘**‘ in ‘field list‘问题解决 有可能导入的库文件不对

old


yum install -y mysql-devel python-devel -y

pip install -r requirements.txt


##初始化 ###初始数据库 ####创建数据库(进入数据库操作) 
create database hcmdb; 
grant all on hcmdb.* to HCmdbAdmin@'localhost' identified by 'nDrDyXd#dnoMqH2'; #(根据settings.py中设定修改) 
####初始化数据表 *
 python2.7 manage.py makemigrations 
 python2.7 manage.py migrate

####初始化数据 
 mysql -uHCmdbAdmin -p hcmdb < init.sql

##运行

python2.7 manage.py runserver 0.0.0.0:9003
##登陆

用户名: cmdbAdmin 密码: cmdbAdmin


django常用命令

python manage.py startapp appname
python manage.py runserver 0.0.0.0:8000
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py changepassword
python manage.py clearsessions

#其他命令
python manage.py shell     #进入django shell
python manage.py dbshell   #进入django dbshell
python manage.py check     #检查django项目完整性
python manage.py flush     #清空数据库
python manage.py compilemessages   #编译语言文件
python manage.py makemessages      #创建语言文件
python manage.py showmigrations    #查看生成的数据库同步脚本
python manage.py sqlflush          #查看生成清空数据库的脚本
python manage.py sqlmigrate        #查看数据库同步的sql语句
python manage.py dumpdata          #导出数据
python manage.py loaddata          #导入数据
python manage.py diffsettings      #查看你的配置和django默认配置的不同之处

其他命令

note


#No module named bootstrapform
pip install django-bootstrap-form

#ImportError: No module named tastypie
sudo pip install django-tastypie 



由于Django内部连接MySQL时使用的是MySQLdb模块,而python3中还无此模块,所以需要使用pymysql来代替
如下设置放置的与project同名的配置的 __init__.py文件中

import pymysql
pymysql.install_as_MySQLdb()

Model中的关联关系字段 (Relationship fields)

Model中的ForeignKey,ManyToManyField与OneToOneField

Django中ForeignKey参数的使用


修改用户和密码

http://cmdb.com/accounts/userList/
最高权限 控制  添加你想要的权限  

改密码 
左上角 logo


添加用户 和密码 
连接 mysql  复制一下别人的 密码 并设置为超级用户  并激活 然后再回去logo 改回自己想要的密码


安全事项

一定要修改最原始的那个系统管理员帐号

为什么不开通只能用qq扫码登录呢 

参考

内部参考

django文档

Django模版语言

外部参考

从django1.11 到cmdb

开发运维资产管理系统cmdb一些观点扯淡

autoops django1.11

Python之路,Day19 - CMDB、CMDB、CMDB

Python自动化运维之27、Django(一)

Python自动化运维之1、Python入门

基于django的saltstack自动化运维平台SOMS

Django 开发的自动化运维平台

都说Djnago框架重,那就让哥用15行代码写个Django Web程序!

Python自动化运维之20、HTML

Python自动化运维之21、CSS

Python自动化运维之22、JavaScript

Python自动化运维之23、Dom

Python自动化运维之24、JQuery

Python自动化运维之25、Ajax

常见的cmdb

100+Stars的CMDB开源项目

opman-django Python3.6,Django1.11.3,MySQL5.7 自动化运维平台:CMDB

Ralph-NG

adminset

国内常见的cmdb

good djnago1.11 py3的CMDB之资产管理系统

应该是现在用的这个

SaltOps

AutoOps是一款基于django

于Python3.6、Django1.11.7

https://github.com/feixuelove1009/liujiangblog_project_2

Alerts 运维告警平台,目前有告警实时web推送、微信报警、告警收敛等功能

lightOps

go写的基于SQL的RDBMS运维CLI

调研的六个开源DevOps平台

see also

Mac安装MySQL-python的血泪史

python2.7 安装MYSQL-python 报错:ERROR: Command errored out with exit status 1:

其它linux php 视频教程

Redhat Linux服务器集群视频教程

后盾网千元级Linux视频教程第一期

2014燕十八PHP高性能架构班视频教程之Redis