bk-cmdb

蓝鲸智云配置平台
授权协议 BSD
开发语言 Python Google Go JavaScript HTML/CSS SHELL
所属分类 程序开发、 服务框架/平台
软件类型 开源软件
地区 国产
投 递 者 华景明
操作系统 跨平台
开源组织 腾讯
适用人群 未知
 软件概览

蓝鲸配置平台(蓝鲸 CMDB)是一个面向资产及应用的企业级配置管理平台。蓝鲸智云体系的平台之一。

蓝鲸配置平台提供了全新自定义模型管理,用户不仅可以方便地实现内置模型属性的拓展,同时也能够根据不同的企业需求随时新增模型和关联关系,把网络、中间件、虚拟资源等纳入到 CMDB 的管理中。除此之外还增加了更多符合场景需要的新功能:机器数据快照、数据自动发现、变更事件主动推送、更加精细的权限管理、可拓展的业务拓扑等功能。

在技术构建上,架构的核心聚焦于资源,把 CMDB 管理的原子资源分为主机、进程和通用对象三种类型,并构建了对这些资源的原子操作层。在这些原子操作之上,我们构建了更贴近用户操作的场景层,场景层通过对不同资源的组合操作来完成用户的请求。

架构设计

蓝鲸智云配置平台(以下简称配置平台)整体为分层的微服务设计,可以分为以下四层:

  1. 资源层(store):提供系统所需的资源存储、消息队列以及缓存系统服务

  2. 服务层(service layer): 服务层划分为两大模块

    1. 资源管理模块: 在配置平台中我们把资源类型进行了抽象,目前划分为主机、进程、通用对象三大类,支持横向扩展,每一类资源由一类微服务进程来管理。

    2. 业务场景模块: 业务场景模块是基于资源管理模块的原子接口对应用场景的封装,基于操作的相关度,目前划分出【admin、event、host、topo、process、datacollection】几个微服务,admin服务 负责系统的配置刷新、初始化数据写入等操作;event服务负责系统的事件订阅与推送服务;process、topo、host分别负责系统进程、拓扑模型、主机数据的使用场景; datacollection 服务负责系统快照数据的接收与写入。

  3. 接口层(api): 这一层是系统的api服务网关。

  4. web层(web): web层是系统提供的web服务。通过配置平台提供的web服务界面,用户可以进行资源的操作。

在架构图中有一点未体现出来的就是连接所有系统微服务的服务发现功能,基于zookeeper node watch 机制,我们构建了系统的服务注册与发现功能,从而使系统能保持高可用。

为了规避微服务部署中配置文件的管理问题,基于 zookeeper 构建了系统的配置中心服务,所有的配置文件在系统启动之初就通过 admin-server 刷入 zookeeper ,每个进程只需要在 zookeeper 中取自己需要的配置文件。 这两个模块的存在保证了系统的高可用以及服务的易用性。

特性

  • 拓扑化的主机管理:主机基础属性、主机快照数据、主机归属关系管理
  • 组织架构管理:可扩展的基于业务的组织架构管理
  • 模型管理:既能管理业务、集群、主机等内置模型,也能自定义模型
  • 进程管理:基于模块的主机进程管理
  • 事件注册与推送:提供基于回调方式的事件注册与推送
  • 通用权限管理:灵活的基于用户组的权限管理
  • 操作审计:用户操作行为的审计与回溯
  • cc_ApplicationBase cc_AsstDes cc_History cc_HostBase:主机基本信息 cc_HostFavourite cc_InstAsst:模型数据关联关系 cc_ModuleBase cc_ModuleHostConfig cc_Netcollect_Device cc_Netcollect_Property cc_ObjAsst:自定义模型关联关系 cc_

  • db.cc_ApplicationBase.insert({“create_time” : ISODate(“2019-12-21T14:06:29.438Z”), “life_cycle” : “2”, “bk_biz_developer” : “”, “operator” : “”, “language” : “1”, “default” : 0, “bk_biz_name” : “testC

  • 前言 想使用bk-cmdb,但是全家桶才支持统一登录,单独的bk-cmdb是不支持的。 所以基于蓝鲸的代码自己增加oidc登录逻辑。 开发前准备 vscode golang 1.20 nodejs >= 10.13.0 npm >= 6.4.1. 验证环境是否准备好了 最好基于一个稳定的分支开始改。 切到src目录下 先跑一下make, 看是否能正常编译无报错。 go build -ldflag

  • Atitit 运维之道   1.1. devops算是最低门槛了。什么运维平台,搞来搞去也就那些东西。无外乎cmdb、部署、监控之类的,再加点各种小平台自动化需求。 CMDB --Configuration Management Database 配置管理数据库, CMDB存储与管理企业IT架构中设备的各种配置信息,它 2. 运维监控的发展: 过去:Nagios、Cacti、Zabbix 监控单一

  • 项目地址 https://github.com/Tencent/bk-cmdb 场景: 在已经配置了mongodb并启动cmdb服务后,本机ip地址发生变化 1.停止cmdb服务 注意:使用stop.sh停止cmdb后,用ps -ef确保cmdb所有服务真的停了,有时可能停不掉,需要手动kill 2.更改mongodb的节点ip 例如: 新的服务地址为192.168.5.199 一 修改mongo

  • 方法一: docker快速部署: 优点:快速,方便 缺点:无法使用login界面,没法添加用户 参考: https://github.com/Tencent/bk-cmdb/blob/master/docs/wiki/container-support.md --使用docker安装,需要提前安装好docker环境 --在本地windows环境docker 工具下载(虚机无法直接上公网) dock

 相关资料
  • 机器人系统测试方向,感觉像hr面 自我介绍 问项目 问最近有什么困难 问最近看什么书 问一些场景题 反问 流程?之后还有一个技术一个hr面 工作强度?行业中等 #云鲸智能#

  • 蓝鲸故障自愈,是腾讯蓝鲸推出的一款SaaS服务,目前可以支持和open-falcon无缝对接了,通过接入蓝鲸故障自愈系统,可以帮助使用open-falcon的用户,做到告警无人值守。 具体的配置非常简单: open-falcon接入蓝鲸 腾讯蓝鲸故障自愈的使用案例参考:蓝鲸故障自愈案例 那些年我们想做的无人值守

  • 0802,50min tip:全程没问简历,面试官自由发挥 - Spring类注入原理 - SpringAOP - SpringBoot项目接收请求的过程,层次结构(没太理解面试官想问什么) - 全局异常处理器,Web请求拦截器的实现 - Spring中maven依赖如何自动加载(没懂什么意思) - Spring的Bean加载 - Spring的Event的使用 - Spring的注解 - JVM

  • 翻了一下8.20投的,笔试有没有不记得了,流程挺快的 Re.10.10电话沟通后已oc,hr画饼画得很香(但是知乎上评价不太好),见仁见智吧。还是祝大家都能拿到满意的offer ++++++++++++++无情分割线+++++++++++ 9.22电话询问意向 hr面固定流程,预期薪资、base、对面试整体流程有没有什么建议 之后会有一个性格测评的链接,做了,但是到现在还没有回复(9月24日),可

  • 1. 实习收获最大的是什么 2. 地址栏输入一个url到页面渲染的全过程 3. http缓存 4. 301、302状态码 5. es6的新特性 6. 哪些是可迭代对象 7. promise 8. react合成事件 9. useEffect,具体传入的参数有哪些,有什么作用 10. 如果想在请求到一个数据之后立刻使用这个数据要怎么做 11. 有自己配过ESLint和ESCommit的东西吗 12.

  •     1.自我介绍     2.为什么要来福州     3.为什么做安卓     4.课程结束了吗,毕设答辩时间安排     5.安卓的生命周期(按顺序)     6.接口和类之间的关系     7.面向对象的三大特性     8.说一下做过的封装类     9.Git的使用     10.说一下项目中你的前端界面中的理解     11.返回的状态码知道那些     12.安卓的图片加载怎么实现