目前的prism已经实现的功能:prism一期
- 对api和coa进行服务治理,主要是结合opentracing
- 完成服务的申请以及appkey的分配
- 完成服务的实例查询以及实例的在线状态
- 完成服务的操作:隔离,停止,配置获取以及配置设置
- 完成服务的上下流关联
- 完成通过服务进入容器以及进入grafana
cmdb平台
cmdb平台简介
cmdb代表管理数据库,configuration management database,通常用于存储有关构成IT基础架构的组件的信息。
CMDB的核心功能之一就是支持服务管理流程,主要包括:整合、调和、同步、映射和可视化
- 和一般数据库的区别
CMDB软件侧重于信息的管理,数据库侧重于信息的无力存储,两者是密切联系的。
CMDB的功能需要专门的CMDB管理软件,很难在传统数据库上直接完成。
- CMDB的作用
基于CMDB,可以实现采集资源信息自动化,软件安装自动化,应用部署自动化,告警信息更加详细准确,应用关系拓扑图,网络拓扑图更加清晰,这些工具对运维会有很高的价值
在公司业务层面上,基于CMDB我们也可以做很多事情,最直接的就是IT资源的成本控制,另外还有集群容量弹性缩扩容,应用平台的稳定性,应用的持续交付等功能
开源框架功能调研
fly设置管理数据库开源实现
- 平台统一检索、资源关键词搜索
- 资源的导入和导出
- 提供将资源分配给对应业务的借口,并可视化每个业务下对应的资源,提供对应的业务拓扑图
- 提供模型信息查询、修改以及检索
- 对每一步操作进行操作审计日志
- 一些基本的人员角色管理
具体需求
- 主要管理的对象
服务(通过appkey进行唯一标识)、对应服务管理人员(包括但是不限于主要负责人、次要负责人、成员)
- 平台具体设计
将所有的服务设计为一个树结构,进行分层存储。每个叶子结点对应一个具体的服务。所有的中间节点和叶子结点都需要有一个对应的人员配置信息。
- 提供的接口
- 通过服务的唯一标识找到对应的管理人员
实现方案
- 服务的存储
将数据进行树形存储,直接给每个节点都设计一个parentId字段,对应其直接父节点。
服务管理人员信息表中在另带一个字段,与每个服务的appkey对应。实现表与表之间的关联。
- 具体的表单设计(服务和管理人员)
- 技术栈
- mysql
- gin
- gorm
接口
- 查询某个服务,同时返回该服务对应的人员配置
- 增加一个服务
前端传入appkey,在数据库中增加对应的服务和人员配置
涉及到如何定位新服务的问题
同时需要将其父节点的人员配置信息默认迭代到新服务对应的人员配置表单
- 删除一个服务
- 修改某个服务的人员配置信息
前端提供一个人员配置表单,然后在数据库中更新对应的人员配置。
- 查找对应服务的管理人员表单
接受前端传入的appkey,然后查找该服务的管理人员表单,将该表单进行返回即可。