CMDB--结构

CMDB项目,以上是流程图~

PS:

以实体机为模型开发的,虚拟机的粒度比实体机小得多

1,需要先通过后台管理系统录入服务器基本信息(如主机名,sn号,机房机柜合同等,硬件信息不需要录入,会自动获取),这是本系统的入口。

2,没有采用saltstack或puppet,因为公司目前没有用到,直接做了一个中控机,这样就不用在每台服务器上安装agent了。通过中控机采集硬件信息,并提交到相应接口

详解

一,后台管理系统

1,录入资产,通过后台管理系统录入服务器基本信息。

二,API,中控机通过调用API来获取主机列表,或者提交采集的硬件信息

1,定义接口

       a,获取主机列表接口:/api/untreated_server/       b,提交服务器硬件信息接口:/handle_server_info/   2,配置API验证的key(settings.py文件中)       a,验证是必须的,涉及到公司所有资产,非常机密       b,通过key+时间戳+过期时间+使用次数,进行加密

三,中控机(只一台),根据主机列表采集硬件信息并提交到API

配置接口
        -- 配置文件中设置后台管理IP:127.0.0.1
        -- 配置文件中设置后台管理端口:8000
        -- 配置文件中设置获取主机列表:/api/untreated_server/
        -- 配置文件中设置发送主机信息:/api/handle_server_info/

配置paramko
        -- 创建一对密钥,将私钥保存至程序根目录(将公钥保存至服务器A、服务器                B...)
        -- 配置文件中设置私钥路径

配置错误日志文件
        -- 配置文件中设置错误日志文件(默认:程序根目录下error.log)

配置API验证使用的Key
        -- 配置文件中设置API验证Key

四、服务器 ,需要配置公钥和采集信息的工具(命令)

1,将公钥保存至服务器A、服务器B...

2,服务器上安装
        -- dmidecode  用于采集内存信息
        -- MegaCli       用于采集硬盘信息

以上是简要分析系统结构和所需配置,

后面是代码部分,未完待续....

时间: 2024-08-05 19:35:24

CMDB--结构的相关文章

cmdb models数据库结构

from __future__ import unicode_literals from django.contrib.auth.models import User from django.db import models # Create your models here. class Host(models.Model): hostame = models.CharField(max_length=64) ip = models.GenericIPAddressField() port =

CMDB项目之数据库表结构

asset 资产 server 服务器 network  网络设备 from django.db import models class UserProfile(models.Model): """ 用户信息 """ name = models.CharField(u'姓名', max_length=32) email = models.EmailField(u'邮箱') phone = models.CharField(u'座机', max_l

CMDB专家实践谈:自动化运维的基石CMDB

CMDB是什么? 运维百花齐放繁荣景象的同时,也让碎片化问题产生:每个人都想整合运维平台,但是往往事与愿违. CMDB就像一个人的大脑核心,是一个信息协调库,其存储的资料是协调身体完成各种复杂运动的信息来源. 我心中的CMDB .碎片整合 面向运维工具的碎片化场景,是盘活整个运维管理的数据核心 .元数据库 提供运维活动的基础元数据,是唯一可信的运维配置数据服务 .场景驱动 为运维联动提供数据驱动,可协调工具来完成各类自动化场景 自动扩容+自动监控 CMDB如何建设? 痛点现象与对策I模型建不好

Python CMDB开发

Python CMDB开发 运维自动化路线: cmdb的开发需要包含三部分功能: 采集硬件数据 API 页面管理 执行流程:服务器的客户端采集硬件数据,然后将硬件信息发送到API,API负责将获取到的数据保存到数据库中,后台管理程序负责对服务器信息的配置和展示. 采集硬件信息 采集硬件信息可以有两种方式实现: 利用puppet中的report功能 自己写agent,定时执行 两种方式的优缺点各异:方式一,优点是不需要在每台服务器上步一个agent,缺点是依赖于puppet,并且使用ruby开发:

CMDB机柜平台结合zabbix告警展示

最近看了刘天斯老师的机柜展示平台,非常绚丽,而且有大屏显示的话也是能够体现运维价值的,这里就说下我最近在做的CMDB平台的一些数据: CMDB数据: 机房,机柜,机柜电源,机柜位置,机房合同,合同到期时间,机房联系人. 服务器,CPU,硬盘,是否虚拟化,宿主机,raid类型,内存. 资产ID,上架日期,下架记录,服务器代理商,代理商联系方式,服务器到保日期. IP地址,MAC地址,业务线,产品线,操作系统. 通信这块主要技术json-rpc,然后提供Api接口给程序调用,按照固定格式导入即可:硬

优云CMDB经验分享之 – 剖析CMDB的设计过程

作为IT管理的核心,CMDB逐渐成为系统管理项目实施的热点.在很多的案例中,由于忽视了CMDB的因素,ITIL的深入应用受到了极大的挑战.同时,由于CMDB是IT管理信息的集中,CMDB也是一个重要的工具和手段. 在CMDB落地过程中需要注意的是,CMDB项目不是一个简单的软件安装过程,而是一个咨询.培训.实施.优化密切结合的综合过程,涉及到平台工具采购.咨询服务.实施服务.培训.甚至扩展开发等内容.同时,一个成功的CMDB项目不能一蹴而就,而是一个循序渐进.持续发展的过程,需要企业后续的投入和

构建CMDB的一些启发

开篇感言: 自从学习python自动化开发以来,一直都是从技术的角度来看待一切.以为技术就是王道.但显然我是一只井底之蛙.其实技术只不过是实现功能的工具而已,仅此而已.后来学习了解CMDB,越来越发现很多时候重点并不在技术如何,而是流程或者设计等等一切更能影响全局的东西.所以,我也慢慢有了一点感悟.就是在当做技术或者设计一些东西时,应该试着站在全局的角度去看待你所处的位置以及你所做的技术点.我想架构师思考问题的角度也是如此吧.通过不断地学习和探索,越发的感觉自己不会的东西以及需要学习的东西越来越

zabbix 二次开发之同步CMDB主机和模板绑定

最近在做zabbix的二次开发:发现zabbix在做自动化方便提供了强悍的支持,下面分享下CMDB和zabbix打通,把CMDB平台里面的所有机器同步到zabbix数据库,然后进行批量的模板绑定: 开发环境: zabbix :2.4 python:flask框架.前端bootstrap,jquey: 实现思路: 一. 在CMDB表和ZAbbix主机表里面建立第三张管理的表(定义叫缓存表):利用zabbix API把数据库里面的host插入到第三张缓存表:然后通过和CMDB库里面的比较把没有在缓存

CMDB

浅谈ITIL TIL即IT基础架构库(Information Technology Infrastructure Library, ITIL,信息技术基础架构库)由英国政府部门CCTA(Central Computing and Telecommunications Agency)在20世纪80年代末制订,现由英国商务部OGC(Office of Government Commerce)负责管理,主要适用于IT服务管理(ITSM).ITIL为企业的IT服务管理实践提供了一个客观.严谨.可量化的标

python运维开发(二十五)---cmdb开发

内容目录: 浅谈ITIL CMDB介绍 Django自定义用户认证 Restful 规范 资产管理功能开发 浅谈ITIL TIL即IT基础架构库(Information Technology Infrastructure Library, ITIL,信息技术基础架构库)由英国政府部门CCTA(Central Computing and Telecommunications Agency)在20世纪80年代末制订,现由英国商务部OGC(Office of Government Commerce)负