9月 14

iTop插件命名大小写引发的问题

在Windows上开发 iTop 插件,新增了一个 module,本地测试正常,但是上传到 LInux 系统的服务器上,却怎么也不生效,查看 env-production 下编译的结果,发现有两个 model.xxx.php 格式的文件,不同的是,一个文件名大写,一个小写,编译的代码更新到了大写的文件夹下,小写的没有内容。 查看 Wind … Continue reading

7月 19

iTop唯一性检查功能测试

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

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