Cmdb

来自linux中国网wiki
跳到导航 跳到搜索

pre

代码发布系统实现

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 [email protected]"%" identified by "mysql!q$EWQ23FD23"';
#grant all on *.*  to [email protected]'%' identified by 'mysql!q$EWQ23FD23';
# err mysql -uroot -p'mysql!q$EWQ23FD23' -e "grant all on *.*  to [email protected]'%' 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

#[[email protected] 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/

old

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

pip install -r requirements.txt


##初始化 ###初始数据库 ####创建数据库(进入数据库操作) 
create database hcmdb; 
grant all on hcmdb.* to [email protected]'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平台

其它linux php 视频教程

Redhat Linux服务器集群视频教程

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

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