目录
Cmdb开发文档... 1
1部署说明... 1
1.1 环境说明... 1
1.2 Django的MTV模型... 2
1.3 克隆部署代码... 2
2资产管理... 5
2.1 关于各数据表用途说明... 5
2.2 assets_host表结构设计... 6
2.3 服务器导出... 8
2.3机房管理... 9
3自动化运维... 9
4业务监控... 10
5故障管理... 10
Python环境:Python2.7
Django环境Django1.7.4
git clone https://github.com/voilet/cmdb
mv cmdb /data
cd /data/cmdb
pip install -r requirements.txt --index https://pypi.mirrors.ustc.edu.cn/simple/
可能有些没有安装数据库组建的需要
pip install MySQL-python
建立mysql 数据库并且授权账号登录:
Ø create database cmdb_v2 default charset=utf8;
导入数据库表文件:
doc/cmdb.sql
插入数据:
INSERT INTO `users_department_mode` VALUES (1,'运维部','',1001);
insert into `users_customuser` (`id`, `password`, `last_login`, `is_superuser`, `email`, `username`, `first_name`, `last_name`, `department_id`, `mobile`, `session_key`, `user_key`, `menu_status`, `user_active`, `uuid`, `is_staff`, `is_active`, `date_joined`) values('1','pbkdf2_sha256$15000$uM1f5HMxHOqE$zPzKtNJMheQe62Q592V5l0m60nq/5Vj4rgzlVf5nXYs=','2016-08-04 14:12:56','1','[email protected]','admin','','',NULL,'','ff3a3s4vj7ivjl7km1teqhxrizwbdrek',NULL,'1','0','3eceb1e9-df90-38ed-9960-03183bc85cce','0','1','2015-12-29 14:05:50');
4、修改配置文件mysite/settings.py:(这里可以以后修改)
EMAIL_HOST = 'mail.qq.com'
EMAIL_PORT = '25'
EMAIL_HOST_USER = 'devops'
EMAIL_HOST_PASSWORD = '123456'
EMAIL_USE_TLS = False
EMAIL_PUSH = True
# 发送邮件帐号
SendMail = "[email protected]"
REDIS_HOST = "127.0.0.1"
REDIS_PORT = 6379
REDIS_DB = 0
修改配置文件 mysite/prod.py:(数据库相关,必须修改)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
# 'NAME': 'voilet_cmdb_v1', # Or path to database file if using sqlite3.
'NAME': 'cmdb_v2', # Or path to database file if using sqlite3.
'USER': 'root',
'PASSWORD': '123456', # Not used with sqlite3.
'HOST': '127.0.0.1', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '3306', # Set to empty string for default. Not used with sqlite3.
"OPTIONS": {
"init_command": "SET foreign_key_checks = 0;",
},
},
修改启动配置文件uwsgi:(必须修改,其中/home/jm/uwsgi修改为实际的路径)
DESC="uwsgi daemon"
NAME=uwsgi
DAEMON=/usr/bin/uwsgi
CONFIGFILE=/data/cmdb/mysite_uwsgi.ini
PIDFILE=/data/cmdb/mysite.pid
SCRIPTNAME=/etc/init.d/$NAME
修改站点配置文件mysite_uwsgi.ini:(修改为实际地址)
chdir = /data/cmdb
5丶然后拷贝程序到/etc/init.d/
cp uwsgi /etc/init.d/uwsgi
6丶添加nginx主机配置到nginx.conf(其中/data/cmdb实际地址)
server {
listen 80;
server_name cmdb.com;
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
location /static {
alias /data/cmdb/static;
}
location /static/admin {
alias /usr/local/python2.7/lib/python2.7/site-packages/django/contrib/admin/static/admin;
}
location /static/ueditor {
expires 30d;
alias /data/cmdb/DjangoUeditor/static/ueditor;
}
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8100;
}
}
7丶启动
service nginx reload
/etc/init.d/uwsgi start
注:uwsgi通过/etc/init.d/uwsgi stop无法关闭,可直接杀进程方式关闭
打开网页访问
默认账号密码admin: Admin_147258
8丶登陆之后
先创建产品线,然后在创建项目,在建机房
然后添加服务
| AuthNode |
| AuthSudo |
| assets_conftemplate |
| assets_host | #服务器信息表
| assets_host_business | #服务器与项目对应表
| assets_host_service | #服务器与服务对应表
| assets_hostrecord | #cmdb用户操作主机记录
| assets_idc | #idc机房信息表
| assets_iplist | #ip列表
| assets_line | #产品线数据表
| assets_project | #服务与项目对应表
| assets_projectuser | 项目所在的用户
| assets_service | #服务信息表
| assets_zabbixrecord | #zabbix信息表
| audit_ssh_audit | #日志审计-命令记录表
| auth_group | #django默认的自动分组
| auth_group_permissions | #django默认的组权限
| auth_permission | #django权限表
| cmdb_auth_auth_group | #django认证的组权限表
| cmdb_auth_auth_group_group_user | #用户关联表
| cmdb_auth_user_auth_cmdb | #权限表,为false就无权限
| django_admin_log |
| django_content_type | #django模型
| django_migrations | #数据库变更操作记录
| django_session | #session信息记录(新增权限会写入session中)
| gitCode | #git代码记录
| incident |
| monitor_monitorhttp | #监控http数据的表记录
| monitor_monitorhttplog | #监控http数据的日志记录
| monitor_monitormysql | #监控mysql数据的表记录
| project_swan |
| project_swan_node |
| project_swan_push_user |
| push_system |
| salt_ui_operationlog | #
| salt_ui_salt_api_log |
| salt_ui_salt_conf |
| salt_ui_salt_mode_name |
| salt_ui_setuplog |
| swan_apply |
| swan_swanlog |
| users_customuser | #cmdb用户信息表
| users_customuser_groups | #cmdb用户组信息表
| users_customuser_user_permissions | #用户表与权限对应关系表
| users_department_mode | #部门信息表
| users_departmentgroup | #部门组信息
| users_server_auth |
+-------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+-------+
| uuid | char(32) | NO | PRI | NULL | | #uuid
| node_name | varchar(100) | YES | | NULL | | #主机名
| eth1 | char(15) | YES | | NULL | | #eth1网卡ip
| eth2 | char(15) | YES | | NULL | | #eth2网卡ip
| mac | varchar(20) | YES | | NULL | | #MAC地址
| internal_ip | char(15) | YES | | NULL | | #远程控制卡IP
| brand | varchar(64) | YES | | NULL | | #服务器型号
| cpu | varchar(64) | YES | | NULL | | #cpu型号描述
| hard_disk | varchar(128) | YES | | NULL | | #硬盘描述
| memory | varchar(128) | YES | | NULL | | #内存描述
| system | varchar(32) | YES | | NULL | | #操作系统
| system_cpuarch | varchar(32) | YES | | NULL | | #操作系统基于平台
| system_version | varchar(8) | YES | | NULL | | #系统版本
| create_time | datetime | NO | | NULL | | #记录创建的时间
| guarantee_date | date | YES | | NULL | | #服务器过保到期时间
| cabinet | varchar(32) | YES | | NULL | | #所属机柜
| server_cabinet_id | int(11) | YES | | NULL | | #机器所在机柜位置
| number | varchar(32) | YES | | NULL | | #序列号
| editor | longtext | YES | | NULL | | #机器备注
| status | int(11) | NO | | NULL | | #服务器当前状态
| type | int(11) | NO | | NULL | | #机器所属种类,实体机or虚拟机
| Services_Code | varchar(16) | YES | | NULL | | #快速服务编号
| env | varchar(32) | YES | | NULL | | #机器所属环境
| room_number | varchar(32) | YES | | NULL | | #机器所在机房楼层房间号
| server_sn | varchar(32) | YES | | NULL | | #服务器sn号
| switch_port | varchar(12) | YES | | NULL | | #对应交换机端口
| idle | tinyint(1) | NO | | NULL | | #是否空闲—此字段无用
| idc_id | char(32) | YES | MUL | NULL | | #所对应机房id
| vm_id | char(32) | YES | MUL | NULL | | #所对应是否为虚拟机
+-------------------+--------------+------+-----+---------+-------+
关于资产管理-机器报废处理
从cmdb系统中将此服务器删除
资产管理增加raid字段
数据库增加字段
Model增加字段
写入字段到文件中
将文件中的字段同步到数据库中(发现报错)
强制更新到数据库
通过数据库查询表中字段已生成
首先static目录下需创建pdf目录
其次修复--导出所有服务器都为虚拟机bug
判断后即可导出正确结果。
desc assets_idc字段说明
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| uuid | char(32) | NO | PRI | NULL | | #机房uuid
| name | varchar(64) | NO | | NULL | | #机房名称
| bandwidth | varchar(64) | YES | | NULL | | #带宽大小
| phone | varchar(32) | NO | | NULL | | #机房联系人电话
| linkman | varchar(32) | YES | | NULL | | #机房联系人
| address | varchar(128) | YES | | NULL | | #机房地址
| network | longtext | YES | | NULL | | #IP地址段
| create_time | date | NO | | NULL | | #记录创建时间
| operator | int(11) | YES | | NULL | |
| type | int(11) | YES | | NULL | | #机房类型
| comment | longtext | YES | | NULL | | #备注
+-------------+--------------+------+-----+---------+-------+