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

CMDB 建设中一个比较重要的方面是保证数据的及时更新以及准确性,靠人工肯定是很难做到的,必须通过技术手段用自动化的方式去做。本文记录一种通过 Zabbix inventory 来审计和更新 iTop CMDB 中服务器基础信息的方案。

概述

大致流程如下:

  • 服务器基础信息的采集,通过 Zabbix 的自定义 Key 功能来实现。
  • 服务器基础信息信息存储,在 Zabbix 添加监控项时将其设置为某个 inventory 项目,这样做的优点是调用 API 时更方便。
  • 服务器基础信息的利用,通过 Zabbix API 和 CMDB API 来审计和更新数据。
基于 Zabbix 审计 CMDB 数据基本流程
基于 Zabbix 审计 CMDB 数据基本流程

数据采集

配置 UserParameter。

然后在脚本中实现采集项目。大致需要采集的项目包括 序列号,CPU 核数,内存大小,硬盘数量大小,RAID 级别,品牌型号,操作系统版本,内核版本,IP 地址等。下面记录一些项目的采集方法。

序列号

物理机直接使用 SN,虚拟机使用 UUID。

品牌型号

操作系统和内核

磁盘数量大小和RAID

惠普服务器和支持 MegaCli 的服务器判断 RAID 级别的方法如下。

IP地址

采集服务器的所有 IP ,包括 内网 IP,公网 IP,VIP,管理卡 IP。

数据存储

服务器监控模板新增自定义监控项,格式为 lld_asset[param]。并设置该项为 inventory 项。

CMDB审计和更新

本文使用的 CMDB 是 iTop, 和 Zabbix Web 界面一样都是使用 PHP 开发的,有现成的 PHP SDK,因此选用了 PHP 写定时任务脚本。

iTop API 调用示例:

Zabbix API 调用示例:

监控审计,找出没有添加监控的服务器。

CMDB 审计和更新,找出没有录入 CMDB 的服务器,包括两种情况:已监控但是 CMDB 未录入, 已加监控但 CMDB 中机器状态是下线。

审计主体。

后记

由于有 IDC 部门提供基础资源服务,交换机等没有考虑在内。其实服务器的上联交换机及其端口信息,以及机架位信息也很重要,而且也需要自动化维护。对于交换机信息,如果交换机支持 LLDP 或 CDP 协议,并启用了该协议。那我们就可以用过tcpdump来抓取物理连接信息。

关于机架位,可能需要智能机架?有这种东西吗?我暂时没有这方面经验。

(全文完)

One thought on “使用Zabbix采集服务器基础信息

回复 取消回复

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