CMDB资产管理系统开发【day25】:需求分析
本节内容
浅谈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)负责管理,主要适用于IT服务管理(ITSM)。ITIL为企业的IT服务管理实践提供了一个客观、严谨、可量化的标准和规范。
1、事件管理(Incident Management)
事故管理负责记录、归类和安排专家处理事故并监督整个处理过程直至事故得到解决和终止。事故管理的目的是在尽可能最小地影响客户和用户业务的情况下使IT系统恢复到服务级别协议所定义的服务级别。
2、问题管理(Problem Management)
问题管理是指通过调查和分析IT基础架构的薄弱环节、查明事故产生的潜在原因,并制定解决事故的方案和防止事故再次发生的措施,将由于问题和事故对业务产生的负面影响减小到最低的服务管理流程。与事故管理强调事故恢复的速度不同,问题管理强调的是找出事故产生的根源,从而制定恰当的解决方案或防止其再次发生的预防措施。
3、配置管理(Configuration Management)
配置管理是识别和确认系统的配置项,记录和报告配置项状态和变更请求,检验配置项的正确性和完整性等活动构成的过程,其目的是提供IT基础架构的逻辑模型,支持其它服务管理流程特别是变更管理和发布管理的运作。
4、变更管理(Change Management)
变更管理是指为在最短的中断时间内完成基础架构或服务的任一方面的变更而对其进行控制的服务管理流程。变更管理的目标是确保在变更实施过程中使用标准的方法和步骤,尽快地实施变更,以将由变更所导致的业务中断对业务的影响减小到最低。
5、发布管理(Release Management)
发布管理是指对经过测试后导入实际应用的新增或修改后的配置项进行分发和宣传的管理流程。发布管理以前又称为软件控制与分发
事件管理的目标是在不影响业务的情况下,尽可能快速的恢复服务,从而保证最佳的效率和服务的可持续性。事件管理流程的建立包括事件分类,确定事件的优先级和建立事件的升级机制。
问题管理是调查基础设施和所有可用信息,包括事件数据库,来确定引起事件发生的真正潜在原因,一起提供的服务中可能存在的故障。
配置管理的目标是:定义和控制服务与基础设施的部件,并保持准确的配置信息。
变更管理的目标是:以受控的方式,确保所有变更得到评估、批准、实施和评审。
发布管理的目标是:在实际运行环境的发布中,交付、分发并跟踪一个或多个变更。
服务台:服务台是IT部门和IT服务用户之间的单一联系点。它通过提供一个集中和专职的服务联系点促进了组织业务流程与服务管理基础架构集成。服务台的主要目标是协调客户(用户)和IT部门之间的联系,为IT服务运作提供支持,从而提高客户的满意度
CMDB介绍
CMDB --Configuration Management Database 配置管理数据库, CMDB存储与管理企业IT架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。
- 整合是指能够充分利用来自其他数据源的信息,对CMDB中包含的记录源属性进行存取,将多个数据源合并至一个视图中,生成连同来自CMDB和其他数据源信息在内的报告;
- 调和能力是指通过对来自每个数据源的匹配字段进行对比,保证CMDB中的记录在多个数据源中没有重复现象,维持CMDB中每个配置项目数据源的完整性;自动调整流程使得初始实施、数据库管理员的手动运作和现场维护支持工作降至最低;
- 同步指确保CMDB中的信息能够反映联合数据源的更新情况,在联合数据源更新频率的基础上确定CMDB更新日程,按照经过批准的变更来更新 CMDB,找出未被批准的变更;
- 应用映射与可视化,说明应用间的关系并反应应用和其他组件之间的依存关系,了解变更造成的影响并帮助诊断问题
CMDB 资产管理部分实现
需求
存储所有IT资产信息
所有的业务场景都要和数据库打交道
数据可手动添加
有一些没有联网,比如说库房的备机,有些设备没有办法自动收集的,
比如一批硬盘或内存的备件,就没办法自动录入,必须手动录入
硬件信息可自动收集
有上千台机器,手动会死人的,而且自动准确率高
硬件信息可自动变更
- 硬盘如果坏了,或者更换了,会自动更新,而且会有更换记录
- 假如被偷走了,有些idc机器丢了好多年了都找不到,没怎么用,
- 开发人员不知道,运维直接把机器卖了,人走了没人知道,肯定是内部人员
- 硬件变更了,资产管理就会监控到
可对其它系统灵活开放API
- 你收集这些数据库,放在这不用,就是死的没什么用,只有有了APU接口
- 就可以被很多审计系统、监控系统、业务系统.....屌用
API接口安全认证
API一定要认证,不能让不合法的用户调用
配置项分析
每个配置项需存储的属性信息分析
提示:为啥不存显示器了,因为我们要存储一些存储我们管理系统的数据支撑
立业之本:定义表结构
各种硬件都能存
资产变更有纪录
资产ID永不变
什么叫资产ID,就是资产的唯一值就相当于每个人的身份证号
资产要有状态机
为什么要有资产状态机,和监控关联起来状态就会变化了,里面有动态的联系
和其他系统联动的,状态有关机、正常、故障机
重中之重:接口设计好
可对内外灵活开放接口
接口定义要标准化
接口要是随便写、今天提供json,明天提供xml,接口多调用方式就多这样就乱了,如果接口多就会很乱,
一定要提供排错依据
别人调用你的接口,要给别人提供拍错依据,要想让自己忙。不提供任何拍错依据
数据返回要标准
一定要统一格式,前期如果把标准设计好了,以后就会很方便,虽然前期麻烦,后期就会很轻松
要能增删改查
比如谁能增删改查
所有异常要抓住
接口安全要注意
表结构设计
CMDB资产管理系统开发【day25】:需求分析的更多相关文章
- CMDB资产管理系统开发【day25】:表结构设计1
资产表 # _*_coding:utf-8_*_ __author__ = 'jieli' from assets.myauth import UserProfile from django.db i ...
- CMDB资产管理系统开发【day25】:表结构设计2
表结构设计1详细注释代码 # _*_coding:utf-8_*_ __author__ = 'luoahong' from assets.myauth import UserProfile from ...
- CMDB资产管理系统开发【day25】:windows客户端开发
1.目录结构 PS Y:\MadkingClient> tree /f 卷 netgame 的文件夹 PATH 列表 卷序列号为 ACE3-896E Y:. ├─bin │ NedStark.p ...
- CMDB资产管理系统开发【day25】:Django 自定义用户认证
官方文档:https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#substituting-a-custom-user-mode ...
- CMDB资产管理系统开发【day26】:数据正式存入待存区
1.from表单提交 1.数据提交到哪里呢? 提交到assets/new_assets_approval.html这了 2.Yes, I'm sure提交了什么? 为什么没有下拉框了 ...
- CMDB资产管理系统开发【day26】:实现资产自动更新
1.需求分析 1.比对分析 比对的时候以那个数据源为主? old [1,2,3 ] db数据库 new [2,3,4 ] 客户端汇报过来的 当然以客户端汇报过来的数据为主 2.更新分析 不同的表到底拿 ...
- CMDB资产管理系统开发【day26】:CMDB上节回顾
一.上节知识点回顾 服务器设计了一个表结构 开发了一个客户端 二.后台创建缓存区表 客户端连接服务器,在服务器的下面看报错信息 因为URL都没有写,所以我找不到呀 1.在MadKing\url.py ...
- CMDB资产管理系统开发【day26】:admin action
本节目标 审核写到数据库,我就单独写一个如下的 页面 单机go后就跳转到如下图界面,我们这节课的目标就是写一个这样的页面 asset\admin.py部分代码 注释如下: class NewAsset ...
- CMDB资产管理系统开发【day27】:理解RESTful架构
理解RESTful架构 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(hig ...
随机推荐
- centos下Django+uwsgi+nginx
本篇章主要讲解uwsgi和nginx的作用,并利用两者对django项目进行部署 一.概述 在开发过程中,我们一般是在该项目的虚拟环境中启用django自带的web服务:python manage.p ...
- iOS UITextField 响应键盘的return 事件
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(, , , )] textField.returnKeyT ...
- pymysql的使用
import pymysql #打开数据库 (如果连接失败会报错)#db = pymysql.connect(host = '127.0.0.1', port = 3306, user = 'minb ...
- RabbitMQ广播:fanout模式
一. 消息的广播需要exchange:exchange是一个转发器,其实把消息发给RabbitMQ里的exchange fanout: 所有bind到此exchange的queue都可以接收消息,广播 ...
- java.util.NoSuchElementException问题定位
Iterator 迭代器越界 例子如下: Iterator i = set.iterator(); while (i.hasNext()) { System.out.println(i.next()) ...
- golang json 读写配置文件
package main import ( "encoding/json" "fmt" "os" ) type configuration ...
- Fabric CA环境的集成
我们前面关于Fabric的所有文章中用到的例子都没有CA Server,都是由cryptogen这个工具根据crypto-config.yaml而生成的.但是在实际生产环境中,我们肯定不能这么做,我们 ...
- Java面试准备之数据库
一.考察点 1.联结 1.1 联结的概念: 简单的说,联结是一种机制,用来在一条SELECT语句中关联表,因此称之为联结. 1.2 联结的分类 注意:联结并不代表只有使用join关键字的才算是联结,w ...
- linux下开启、关闭、重启mysql服务命令
一. 启动1.使用 service 启动:service mysql start2.使用 mysqld 脚本启动:/etc/inint.d/mysql start3.使用 safe_mysqld 启动 ...
- Kubernetes — 深入解析Pod对象:基本概念(一)
在上一篇文章中,我详细介绍了 Pod 这个 Kubernetes 项目中最重要的概念. 现在,你已经非常清楚:Pod,而不是容器,才是 Kubernetes 项目中的最小编排单位.将这个设计落实到 A ...