一、简介
Zabbix为企业级开源监控平台,资产管理也是内置功能之一,使用开箱即用的资产管理功能可自动采集信息,在一些中小企业中资产信息混乱或使用Excel记录资产信息,资产管理功能完全能实现简单的资产信息管理。
二、初级资产
Zabbix的资产管理功能在之前的版本中就已经存在,并可进行简单的资产管理。
1.主界面上点击Inventory→overview可根据资产类型搜索对应设备
2.Host可查看已绑定资产的设备
注:这里的资产配置可通过模板批量配置也可手动录入操作。
三、资产模式
Zabbix的资产配置有三种模式,分别为:Disabled,Manual,Automatic
主界面Configuration→Hosts,任意选择一个Hosts,点击Inventory标签,即可看到当前主机的资产配置模式,默认为禁用。
Zabbix 在这里提供70个资产字段,可完全满足对主机资产的管理需求。
四、映射指标
建议使用自动模式避免过多孤燥的人为操作,主机Invertory模式可批量开启配置,主界面Configuration→Hosts,选中多个主机点击Mass update按钮,Inventory mode选择Automatic即可,此页面还可对主机的Inventory 指标进行批量配置。
开启Automatic模式后,可绑定指定的Item到对应的Inventory字段。一般建议按照模板来绑定,做好指标的对应关系。
五、典型应用
在实际应用中,往往需要对交换机、Linux操作系统、Windows操作系统等不同类型的设备进行采集固定指标,比如设备CPU使用率、内存使用率、序列号等,由于不同类型的设备可能绑定不同类型的模板,而对应的指标又是不同的Item或者Key,因此无法实现统一的方法获取。此场景下可通过绑定到指定的Inventory字段,通过提取主机对应的Inventory字段即可获取。在配置Inventory字段映射之前,建议做好配置对应表。例如:
Inventory字段 | Item字段 | 指标含义 |
---|---|---|
software_app_a | CPU utilization | CPU使用率 |
software_app_b | Memory utilization | 内存使用率 |
software_app_c | Total memory in Bytes | 总内存 |
可将不同模板的指标绑定到同一个Inventory字段。以绑定CPU utilization为例子,点击Configuration→Templates选择Linux by Zabbix agent模板,点击CPU utilization指标,在Populates host inventory field字段下拉选择对应的Inventory字段,点击Update即可。
绑定之后,如果主机绑定了这个模板,并开启Inventory模式为Automatic,即可填充对应主机的CPU使用率指标到主机的Inventory字段,并且此数值会根据采集指标的变化而变化。此方法可大大简化指标的统一,如做CPU使用率Top指标时可直接对比即可,不用从具体的Item指标获取,也不用关心具体的Item及Key。
六、改造
Zabbix自带的Inventory字段名称可能不适用于你的环境,可通过简单的修改达到显示的自定义。如需要将Inventory的Type字段修改为HostType,可编辑Zabbix前端的include/hosts.inc.php文件。
vi include/hosts.inc.php
查找getHostInventories字段
function getHostInventories($orderedByTitle = false) {
/*
* WARNING! Before modifying this array, make sure changes are synced with C
* C analog is located in function DBget_inventory_field() in src/libs/zbxdbhigh/db.c
*/
$inventoryFields = [
1 => [
'nr' => 1,
'db_field' => 'type',
'title' => _('Type')
],
2 => [
'nr' => 2,
'db_field' => 'type_full',
'title' => _('Type (Full details)')
],
3 => [
'nr' => 3,
'db_field' => 'name',
'title' => _('Name')
],
4 => [
'nr' => 4,
'db_field' => 'alias',
'title' => _('Alias')
],
将'title' => _('Type')修改为'title' => _('HostType')
保存文件页面发现已经修改成功。
只是修改了页面显示的标题,并不修改数据库字段,通过此方法修改后,如后期对Zabbix进行升级后要重新修改。
七、API
在Zabbix API中Inventory对应的操作并没有提供独立的API,而是通过zabibx的Host api提供,字段介绍
https://www.zabbix.com/documentation/current/en/manual/api/reference/host/object
同时也提供了Inventory配置的代码Demo
https://www.zabbix.com/documentation/current/en/manual/api/reference/host/update
资产管理功能缺点:
1.Zabbix资产管理无导出功能,实际使用只能进行维护,不能直接导出。
2.Zabbix资产字段目前不支持自定义字段。
博客可能不能及时回复问题,技术问题欢迎加入交流。
具有丰富的模板资源及模板开发能力、项目落地管理经验分享欢迎加入交流
微信号:king_songax