6月 26

iTop CMDB与监控系统的集成

iTop 与 监控系统 的集成有助于提高自动化水平,服务水平以及CMDB数据准确率。主要有以下几个集成方向:CMDB维护资源业务人员关系,提供报警联系人查询接口;报警事件生成 iTop Incident,管理故障处理过程;监控系统采集设备数据,审计 CMDB 数据准确率;基于 CMDB 数据审计监控是否正确。 报警联系人查询 应有一个 C … Continue reading

5月 27

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

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

5月 20

CMDBuild试用总结

本文记录一个 iTop 老用户试用 CMDBuild 的感受,并对两个开源 CMDB 做一个简单的对比。选择的是 CMDBuild READY2USE,版本是 2.1,基于 CMDBuild 3.3.2。首先简单说一下安装过程。 安装 PostgreSQL 9.6 版本用 9.6,CentOS 7 上可以用 SCL 源安装。 非 post … Continue reading

7月 19

iTop唯一性检查功能测试

唯一性检查在 CMDB 里比较重要,大部分 CI 都不希望重复。iTop 2.6 之前并没有支持唯一性检查功能,需要使用 DoCheckToWrite 函数在写入前自行检查。 老方法回顾 用DoCheckToWrite函数实现写入前的校验,比如下面的代码校验某些属性,保证其唯一性。还可以在写入前进行简单的校验,例如限制登录用户只能编辑自己 … Continue reading

6月 13

Zabbix自动删除下线机器的监控

由于 Zabbix 自动注册没有删除机制(例如以主机名为规则注册,当服务器主机名变更时,会再次注册,并不删除原主机名的监控),导致有重复项。另外机器下线也需要删除服务器的监控。本文记录一种基于 iTop CMDB 和 Zabbix 接口自动审计 Zabbix 监控服务器的方案。 概述 使用 PHP 语言写脚本,并使用以下 SDK。 脚本使 … Continue reading

6月 11

使用Zabbix采集服务器基础信息

CMDB 建设中一个比较重要的方面是保证数据的及时更新以及准确性,靠人工肯定是很难做到的,必须通过技术手段用自动化的方式去做。本文记录一种通过 Zabbix inventory 来审计和更新 iTop CMDB 中服务器基础信息的方案。 概述 大致流程如下: 服务器基础信息的采集,通过 Zabbix 的自定义 Key 功能来实现。 服务器 … Continue reading

6月 10

登录时显示服务器信息

/etc/motd 里可以设置登录 Linux 服务器时显示的信息,但是只能显示静态信息,如果需要动态信息,可以通过 /etc/profile.d/ 下的脚本来实现。本文记录一种通过脚本调用 CMDB 接口获取服务器的业务,机房,状态以及联系人信息,在登录时显示的方法。效果如下图。 CMDB接口规格 为简化 Shell 脚本的调用,CMD … Continue reading

6月 02

基于iTop的Kubernetes工作流

当面向很多用户时,Kubernetes 的使用方式是一个需要考虑的问题。如果直接让用户写 yaml,一方面是要求每个用户都学 Kubernetes,这对研发人员来说是一个不必要的负担,另一方面 yaml 的管理以及权限分配对运维人员来说也是一个不必要的负担,平添很多琐事。因此,使用一个管理系统来屏蔽 Kubernetes 细节,管理权限等 … Continue reading

4月 12

基于iTop及pam_listfile的服务器账号管理方案

使用iTop CMDB实现服务器账号的存储,用户申请及审核界面,使用cmdbApi提供一个面向服务器的查询接口,服务器上一个脚本通过定时任务(或者ansible等工具触发)的方式查询本机账号信息,更新pam_listfile.so配置文件及sudo配置文件。 逻辑结构 iTop/lnkUserToServer及工单 lnkUserToSe … Continue reading

10月 19

iTop类继承关系及名称修改

场景 一开始规划不好,Database继承自FunctionalCI,由于自建数据库会使用某个Server,还有一个lnkDatabaseToServer类。后来又有了管理消息队列的需求,跟Database很类似,也需要lnk到Server,为了减少代码重复,考虑新增一个抽象类Middleware,Database及MessageQueu … Continue reading