7月 15

错误:该对象已被创建!

标题是 iTop 新建 teemip 的 IP Subnet Block 对象时,在空表页报出的一个莫名其妙的错误。iTop 版本是 2.7.0,理论上唯一性检查应该在对象页面展示提示信息,而不是一个空白页。 搜索代码,可以知道这个信息是在 iTop 的核心词典里。 继续搜索词典 Key: 可以看到是在 /pages/UI.php 中调用 … Continue reading

6月 30

iTop 2.7 版本变化

从 2.5 升级到目前最新的 2.7.0 版本,调研自 2.5 以来的变化。主要关注以下几点: 插件结构的变化 唯一性检查功能 新特性的使用场景 一些函数的变化 插件结构变化 其实从 2.4 就开始变化了,当时从 2.3 直接升级到 2.5,没有特别关注这个变化。 区分 extension 和 module,扩展(extension)是由 … Continue reading

6月 24

iTop新增自定义REST接口ext/get_related

iTop Rest/JSON service 有个 core/get_related 接口,能查询对象的关联关系,但是只能查询一个方向的,比如影响的对象,或者依赖的对象,如果想同时查询上下游关联,需要自定义接口。 方法 新增一个模块,参考 core/get_related 来实现 iRestServiceProvider 接口即可。接口定 … 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