一种基于iTop实现服务树的方法

如何建设CMDB 一文中提到,CMDB 如果不是单纯管资产,想要用在更多的运维场景上(比如 成本核算,报警接收人查询),那么就一定要以业务为中心,即建立 资源 -> 业务 -> 人员 这样的关系,避免 人员 和 资源直接关联,这样能够减少关系的维护成本(比如容易交接业务,只需变更业务负责人,通过关联就能找到对应资源)。

业务管理的优先级高于资源 CI,应首先实现。

实现方案

基于 iTop 现有模型,或许可以用 Organization, BusinessProcess, ApplicationSolution 来实现一个三级的业务树:

需要对 ApplicationSolution 做一点改造,将 BusinessProcess 和 ApplicationSolution 的 N:N 关系改为 1:N 关系,即 App 归属于固定的 BusinessProcess。

业务树展示

接下来要实现一个树形展示页面,方便查看并梳理业务结构。选择基于 jstree 来做。新建 ajax.render.php 提供 jstree 需要的 json 格式。jstree 的 json 结构如下面代码所示。

核心代码:

然后新建 ui.php,用来展示业务树,代码比较简单:

业务树效果

效果如图。用 iTop 已经包含的 qtip 库,实现了鼠标移动展示更多信息的功能。

iTop 实现业务树

参考资料

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注