cmdb全总结
1.什么是cmdb ,做什么的?
配置管理数据库 ,就是存储基础设施的信息配置使用的
简单说就是CMDB这个系统可以自动发现网络上的IT设备 ,并自动存储相关信息 ,像一台服务器有型号 厂商 系统 cpu 内存 运行了什么应用 属于哪个业务部门使用等等
api系统 资产采集系统 后台管理系统
2.实现三部分之一资产采集系统
1)资产采集系统
采集模式engine
agent模式
subprocess模块本地调用命令完成资产采集
唯一标识试用主机名 + 文件记录主机名共同实现
定时上报资产数据到api
中控机模式
通过api获取主机列表 ,本次去哪些主机采集数据
paramiko模块通过ssh的协议完成远程调用命令 ,并获取输出结果 ,上报api
直接调用issa层api获得信息
2)开放封闭思想 (细节描述!!)
采集模式可根据配置扩展(agent ssh 阿里 腾讯)
设计基类约子类必须实现handler 和 cmd的功能 (handler资产采集和上报api ,cmd就是调用命令的窗口subprocess ,paramiko)
采集的命令插件也可以扩展 (硬盘 网卡 cpu 内存 等等)
设计基类约束子类必须实现process 和 两种系统 (process返回值采集到的具体数据)
对数据进行格式化为字典 ,要求与model中字段名对应
3)其他要点
异常处理
使用traceback捕获到错误信息 ,在本地显示可准确显示哪行代码出现的报错
日志记录
直接在公共库创建一个单例日志对象(通过init方法内部封装一个logging对象) ,在需要打印日志的地方直接调用自定义不同等级的日志方法
3.实现三部分之一api系统
1)api资产上报到数据库
客户端
主要是agent ,agent的唯一标识通过主机名实现 ,agent上报时自身确定 (请求是新增 唯一标识不变 唯一标识改变)
api服务端
逻辑部分
使用django提供的djangorestframework模块实现 (可能会问restful风格)
新增根据字典中的数据打散提交到数据库 ,同表中数据可以把orm对象放到列表中一次提交
修改唯一标识变更就先改唯一标识 ,随后修改部分都相同 ,代码重叠放入同一文件引用 ,审计将格式化的数据提交到审计表
安全部分
api不能谁都可以访问 ,必须通过校验才能访问 ,校验通过时间戳与key拼接的MD5值来校验(具体说一下? 定义一个类重写dispatch就是CBV中as_view里面的方法 ,把url中带时间与自己的key值拼接生成的MD5与客户端发来的比较 ,验证时间超时? 是否重复使用 ,不匹配都可以直接return拒绝访问)
数据传输加密 ,就是用非对称加密将公钥给客户端 ,客户端在使用requests模块请求api的时候会用公钥分段加密 ,在服务端会解密 ,
4.实现三部分之一后台管理系统
1)类似admin的系统
组件的源码是了解过的 ,实现的功能使用方式都是没问题的 ,是一个app直接注册到django中 ,类似admin把model注册到表中 ,生成4个url和对应的视图函数 ,包括展示前端页面 ,功能展示字段 ,模糊搜索(filter的字段__contains= '关键字')完成 ,组合搜索使用Q查询完成and or的逻辑组合 ,批量操作批量删除更新 ,分页 ,扩展url通过配置类中定义url和函数完成扩展 ,保留搜索条件(当前页码,搜索条件)
cmdb全总结的更多相关文章
- 【 DCOS 】织云 CMDB 管理引擎技术详解
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者 : 李琦 , 腾讯高级工程师 , 就职于网络平台部.曾负责公司海量运营系统的规划设计,如 TMP.Sniper.GSLB.IDCSp ...
- (深度好文)重构CMDB,避免运维之耻
(深度好文)重构CMDB,避免运维之耻 CMDB,几乎是每个运维人都绕不过去的字眼,但又是很多运维人的痛,因为CMDB很少有成功的,因此我也把它称之为运维人的耻辱. 那么到底错在哪儿了?该如何去重构它 ...
- 美团点评基于MGR的CMDB高可用架构搭建之路【转】
王志朋 美团点评DBA 曾在京东金融担任DBA,目前就职于美团点评,主要负责金融业务线数据库及基础组件数据库的运维. MySQL Group Replication(以下简称MGR),于5.7.17版 ...
- 特来电CMDB应用实践
配置管理数据库(Configuration Management Database,以下简称CMDB)是一个老生常谈的话题,不同的人有不同的见解,实际应用时,因为企业成熟度以及软硬件规模不同,别人的成 ...
- 双态运维:如何让CMDB配置维护更贴近人性
近来很多行业内的大佬关于CMDB连连发声,CMDB的关注度持续高涨,CMDB的前生就是长满雀斑的丑媳妇,扭扭捏捏不受待见这么多年,终于熬出头要见公婆了.哎,她的贤惠谁能懂? 言归正传,在拜读了多篇大牛 ...
- CMDB经验分享之 – 剖析CMDB的设计过程
作为IT管理的核心,CMDB逐渐成为系统管理项目实施的热点.在很多的案例中,由于忽视了CMDB的因素,ITIL的深入应用受到了极大的挑战.同时,由于CMDB是IT管理信息的集中,CMDB也是一个重要的 ...
- 转载----开发运维资产管理系统cmdb一些观点扯淡
在新公司负责全网的自动化运维平台及给各个业务线提供接口数据.这工作和以前做的很类似,也算是比较顺手的工作,这段时候遇见一些问题,导致开发的前进速度的放慢了,具体有哪些的不完善,我这里就先不摆出了,但是 ...
- 巨蟒python全栈开发linux之centos1
1.linux服务器介绍 2.linux介绍 3.linux命令学习 linux默认有一个超级用户root,就是linux的皇帝 注意:我的用户名是s18,密码是centos 我们输入密码,点击解锁( ...
- CMDB项目实战
01-CMDB项目介绍 02-CMDB开发背景 03-CMDB开发目的 04-CMDB资产采集方式之agent 05-CMDB资产采集方式之ssh 06-CMDB资产采集方式之saltstack 07 ...
随机推荐
- java 实现文件下载中文名不显示
需要将指定字符串的编码转换成浏览器里面的ISO-8859-1编码 String name = new String(name.getBtes("utf-8"),"ISO- ...
- 一起学Android之AsyncTask
概述 在Android开发中,为了方便我们在后台线程中执行操作,然后将结果发送给主线程,从而在主线程中进行UI更新等操作,Anddroid开发框架提供了一个助手类AsyncTask,它对Thread和 ...
- windows平台多网卡设置路由
添加路由命令: route add 192.168.4.0 mask 255.255.255.0 192.168.4.1 metric 20 if 11 -p 其中192.168.4.0 是网络目标, ...
- iOSMultipeerConnectivity使用
MultipeerConnectivity是iOS7推出的多点连接框架,多用于文件传输,类似于iOS设备的airTrop隔空投放,在没有联网的情况下也能聊天传文件. 使用方法,一个设备作为广播开放Pe ...
- Automatic Tuning of Undo Retention 常见问题 (Doc ID 1579779.1)
Automatic Tuning of Undo Retention Common Issues (Doc ID 1579779.1) APPLIES TO: Oracle Database - En ...
- 动态构建Lambda表达式实现EF动态查询
在使用Entity Framework做数据查询的时候,查询条件往往不是固定的,需要动态查询.可以通过动态构建Lamda表达式来实现动态查询. Lamda表达式 使用Lamda表达式可以很方便的按条件 ...
- gcc 4.9 编译安装 in Ubuntu 18.04(主要用于在无root权限下,进行更新系统 gcc 版本)
gcc 4.9 编译安装教程,因为项目编译过程中,需要采用特定的gcc版本来进行编译,所以进行简要记录,进行备忘: 下载:curl -O -L https://mirrors.tuna.tsinghu ...
- 苏州市java岗位的薪资状况(2)
上一篇已经统计出了起薪最高的top 10: 接着玩,把top 10 中所有职位的详细信息爬取下来.某一职位的详情是这样: 我们需要把工作经验.学历.职能.关键字爬取下来. from urllib.re ...
- 房屋布局分析《Physics Inspired Optimization on Semantic Transfer Features: An Alternative Method for Room Layout Estimation》
视觉算法在智能审核系统上的演进与实践 刘天悦 贝壳找房 / 资深工程师 https://static001.geekbang.org/con/56/pdf/1088777747/file/%E8%A7 ...
- WPF 字体设置
原文:WPF 字体设置 WPF 主界面 更换字体 可全局 但是有的时候有的窗体 字体还是没变 可以做全局样式 <Window x:Class="CLeopardTestWpf.Main ...