Zabbix番外1:使用Excel转XML来导入设备
Why?
我们一般做工程的资料都是Excel或者Word,总之网工没有人会把交换机名称、IP信息写在XML里的。
而Zabbix导入数据,要么用XML,要么使用API接口,可惜这两个我都不会。
折腾一番,也在群里请教了,有位老兄提供了一个Python脚本,但不知道是不是因为我是Zabbix5的原因,也没用起来。
How?
最后决定还是用Excel导出XML来实现,具体方法其实主要是Excel的使用,所以这篇也就算番外了。
1.导出Zabbix主机信息
我们首先要导出XML模板,注意这里需要导出至少两台,不然后面导XML的时候是没法选择多个数据的。
最后导出的结果长这样:
很简单对不对?
2.制作Excel
我们将工程对应的IP文件,按照Zabbix的要求制作成列表,具体Excel的使用就不多说了,很简单。注意每个XML的Key我们都要设置成一列。
3.导出XML
这是最关键的。
我们打开Excel,打开刚才那个文件,然后找到开发工具(如果没有,到Excel的设置里开启一下)。
点击开发工具里的源,点击XML映射,将导出的XML打开即可。
此时会发现右边已经列好了,如下:
现在,我们只要将XML对应的值,拖到Excel对应的列就可以了。如果选中,那么就会变成黑色。
全部设置完,再点击开发工具中的导出,即可。
另外需要注意的就是默认Excel导出的XML的头信息和Zabbix的不一致,所以这里还要用文本编辑器简单处理下。
最后导入到Zabbix即可。
很简单是不是?