cmdb的开发指导文档

Cmdb开发文档

目录

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

 

 

 

 

 

 

1部署说明

1.1 环境说明

 

Python环境:Python2.7

Django环境Django1.7.4

 

1.2 Django的MTV模型

1.3 克隆部署代码

    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','voilet@qq.com','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 = "ops@xxx.com"

           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丶登陆之后

    先创建产品线,然后在创建项目,在建机房

    然后添加服务

   

2资产管理

2.1 关于各数据表用途说明

| 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                 |         

2.2 assets_host表结构设计

+-------------------+--------------+------+-----+---------+-------+

| 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增加字段

写入字段到文件中

将文件中的字段同步到数据库中(发现报错)

强制更新到数据库

通过数据库查询表中字段已生成

 

2.3 服务器导出

首先static目录下需创建pdf目录

其次修复--导出所有服务器都为虚拟机bug

判断后即可导出正确结果。

 

2.3机房管理

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    |       |            #备注

+-------------+--------------+------+-----+---------+-------+

 

 

3自动化运维

 

 

 

4业务监控

 

 

 

5故障管理

 

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Flask CMDB是基于Flask框架开发的配置管理数据库系统。CMDB(Configuration Management Database)是一种用于记录和管理配置信息的数据库系统,旨在帮助组织和管理各种IT资源和配置项。 Flask CMDB的核心功能包括: 1. 配置项管理:可以记录和管理各种IT资源的配置项,如服务器、网络设备、应用程序等。用户可以方便地查看、添加、修改和删除配置项信息。 2. 配置项关系管理:可以建立和管理配置项之间的关系,如服务器与操作系统之间的关系、网络设备与网络拓扑之间的关系等。这样可以更好地了解各个配置项之间的依赖关系和影响范围。 3. 变更管理:可以记录和管理对配置项进行的变更操作,包括添加、修改、删除等。这样可以追踪和回溯变更的历史记录,并确保配置项的变更得到控制和审计。 4. 查询和报表:提供强大的查询功能,可以根据各种条件进行配置项的查询和统计。还可以生成各种报表,帮助用户更好地了解和管理配置信息。 5. 权限控制:支持用户和角色的权限管理,可以根据用户的角色和权限对配置项进行访问控制,保障配置信息的安全性和机密性。 Flask CMDB的优点在于使用了Flask框架,具有简单、灵活、易于扩展的特点。它还提供了友好的Web界面,使用户能够轻松使用和管理配置信息。同时,Flask CMDB还可以通过API接口与其他系统进行集成,实现数据的共享和交互。总之,Flask CMDB是一个功能强大、易于使用和扩展的配置管理数据库系统,能够帮助组织更好地管理和控制配置信息,提高IT资源的利用效率和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stestack

你的鼓励是我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值