zabbix自动发现的python方式数据生成
zabbix自动发现的python方式数据生成
zphj1987前言
zabbix里面有个功能是自动发现,比如文件系统和网卡的获取的时候,因为预先无法知道这个网卡的名称,所以就有了这个自动发现的功能,这里我是因为要用到存储池的自动发现,所以需要对数据进行生成
实现
我们看下原生的接口的数据类型:
1 | [root@lab8106 ~]# zabbix_get -s 127.0.0.1 -k "net.if.discovery" |
数据为格式化好了的json数据,这个地方弄了好半天,因为网上很多人是用字符串拼接的方式,实际这个是字典嵌套了列表,列表又嵌套了字典,就是后面的地方开始没弄懂怎么有大括号的
我们同样的来看看ceph原生的命令的json接口
1 | [root@lab8106 ~]# ceph -s -f json |
同样也是这个类型的数据,好了,这里直接上代码:
1 | def get_cluster_pools(): |
输出如下
1 | {"data":[{"{#POOLNAME}":"rbd"},{"{#POOLNAME}":"metedata"},{"{#POOLNAME}":"data"}]} |
跟上面的格式一样了,关键在对字典进行赋值的处理,然后进行一个空格处理就完成了
总结
还是接触的太少,造成简单的处理都需要花费比较久的时间
变更记录
Why | Who | When |
---|---|---|
创建 | 武汉-运维-磨渣 | 2016-10-28 |
评论
匿名评论隐私政策