zabbix api 通过python查询各模板下链接的服务器

如果要实现自动检查linux是否有漏监控的情况,并实现新增服务器自动添加监控的功能.   可以通过zabbix api查询信息, 和ansible检查结果进行比对,根据比对差值进行操作

脚本

#!/usr/bin/env python

#coding:utf8

from pyzabbix import ZabbixAPI

def login():

zapi= ZabbixAPI("http://zabbix.xxxxxxxxxxx.cn/zabbix")                                          #登录zabbix

        zapi.login("lfhapi","密码")                  #替换密码

        #print("Connected to Zabbix API Version %s" % zapi.api_version())

        return zapi


if __name__ == "__main__":

    zapi=login()

    dict1 = {}


#获取所有的模板ID

    for t in zapi.template.get(output="extend"):

        dict1[t["templateid"]] = t["name"]

    #print(dict1)

#通过模板ID 去把该模板下的服务器列表输出

    for list_t in dict1:

        if not zapi.host.get(templateids=list_t):

            print(list_t,"这个模板下的服务器为空")

        else:

            print("现在输出模板ID为:",list_t,"模板是:",dict1[list_t],"配置的服务器如下")

            for h in zapi.host.get(templateids=list_t):

                print(h['host'],"|",h['name'])



运行结果


C:\Users\ws\AppData\Local\Programs\Python\Python36\python.exe C:/Users/ws/PycharmProjects/py2019/zabbix_test_ops.py

现在输出模板ID为: 10001 模板是: Template OS Linux 配置的服务器如下

Zabbix server | Zabbix server

现在输出模板ID为: 10047 模板是: Template App Zabbix Server 配置的服务器如下

Zabbix server | Zabbix server

10048 这个模板下的服务器为空

10050 这个模板下的服务器为空

10060 这个模板下的服务器为空

10065 这个模板下的服务器为空

10066 这个模板下的服务器为空

10067 这个模板下的服务器为空

10068 这个模板下的服务器为空

10069 这个模板下的服务器为空

10070 这个模板下的服务器为空

10071 这个模板下的服务器为空

10072 这个模板下的服务器为空

10073 这个模板下的服务器为空

10074 这个模板下的服务器为空

10075 这个模板下的服务器为空

10076 这个模板下的服务器为空

10077 这个模板下的服务器为空

10078 这个模板下的服务器为空

10079 这个模板下的服务器为空

10081 这个模板下的服务器为空

10082 这个模板下的服务器为空

10083 这个模板下的服务器为空

10088 这个模板下的服务器为空

10089 这个模板下的服务器为空

10091 这个模板下的服务器为空

10093 这个模板下的服务器为空

10094 这个模板下的服务器为空

10095 这个模板下的服务器为空

10096 这个模板下的服务器为空

10097 这个模板下的服务器为空

10098 这个模板下的服务器为空

10099 这个模板下的服务器为空

10100 这个模板下的服务器为空

10101 这个模板下的服务器为空

10102 这个模板下的服务器为空

10103 这个模板下的服务器为空

10104 这个模板下的服务器为空

现在输出模板ID为: 10105 模板是: xxxxxxxx mysql 配置的服务器如下

192.168.10.112 | mysql主 192.168.10.112

192.168.10.71 | mysql从 192.168.10.71

你可能感兴趣的:(zabbix api 通过python查询各模板下链接的服务器)