vlambda博客
学习文章列表

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即可。

很简单是不是?