前言
pyzabbix目前支持zabbix5.0(同时向下兼容)API的调用。所以本文采用pyzabbix实现功能。
日志
pyzabbix提供了日志功能:
import sys
import logging
from pyzabbix import ZabbixAPI
stream = logging.StreamHandler(sys.stdout)
stream.setLevel(logging.DEBUG)
log = logging.getLogger('pyzabbix')
log.addHandler(stream)
log.setLevel(logging.DEBUG)
封装类
# -*- coding: utf-8 -*-
# @File : utils.py
from pyzabbix import ZabbixAPI, ZabbixAPIException
import sys
class Zabbix(object):
def __init__(self):
ZABBIX_SERVER = 'http://192.168.1.1/zabbix'
zapi = ZabbixAPI(ZABBIX_SERVER)
zapi.login('Admin', 'zabbix')
self.zapi = zapi
def get_hosts(self, host):
# 获取主机
host_list = self.zapi.host.get(
output=['hostid', 'name', 'host'],
search={
'host': host}
)
return host_list
def add_host(self, ip, group_ids, template_ids, port=