def getHostList(argv): #grpid = argv[0] grpid = argv[0].split(",") params = {"output":["hostid", "host", "name"],"groupids":grpid, "selectInterfaces":["ip", "port", "type"]} #print(params) data = zabbixApi.apiRun("host.get", params) return(data)
def addHost(argv): ip = argv[0] name = argv[1] grpids = argv[2] templateids = argv[3] host = name + ".scloud.letv.com" interfaces = [ {"type":1, "main":1, "useip":1, "ip":ip, "dns":"", "port":"10040"}, {"type":2, "main":1, "useip":1, "ip":ip, "dns":"", "port":"161", "bulk":1}, {"type":4, "main":1, "useip":1, "ip":ip, "dns":"", "port":"9988"} ] groups = [] for grpid in grpids.split(","): group = {"groupid": grpid} groups.append(group) templates = [] for templateid in templateids.split(","): template = {"templateid": templateid} templates.append(template) params = {"host": host, "name": name, "interfaces":interfaces, "groups": groups, "templates": templates} data = zabbixApi.apiRun("host.create", params) return(data)
def getUserId(username): params = {"output":["userid", "alias"],"filter":{"alias":username}} data = zabbixApi.apiRun("user.get", params) #print(data) try: return(data[0]['userid']) except: return(False)
def getHistory(argv): itemid = argv[0].split(",") time_from = argv[1] time_till = argv[2] params = {"output":"extend", "itemids":itemid, "history": 0, "time_from": time_from, "time_till": time_till, "sortfield": "clock"} data = zabbixApi.apiRun("history.get", params) return(data)
def getHostByName(hostname): params = { "output": ["hostid", "host", "name"], "selectInterfaces": "extend", "selectGroups": ["groupid", "name"], "selectParentTemplates": ["templateid", "name"], "filter": {"name": hostname}, } data = zabbixApi.apiRun("host.get", params) return data
def getGrpMedias(grpid): mediatypes = getMediaTypes() newmedias = {} for mediatype in mediatypes: newmedias[mediatype['mediatypeid']] = [] params = {"usrgrpids":grpid, "output":["mediatypeid", "sendto"]} medias = zabbixApi.apiRun("usermedia.get", params) try: for media in medias: newmedias[media['mediatypeid']].append(media['sendto']) return(newmedias) except: return(False)
def addHost(argv): hostname = argv[0] grpids = argv[1] name = argv[2] groups = [] for grpid in grpids.split(","): group = {"groupid": grpid} groups.append(group) interfaces = [{"type": 1, "main": 1, "useip": 1, "ip": "127.0.0.1", "dns": "", "port": "10050"}] params = {"host": hostname, "name": name, "interfaces": interfaces, "groups": groups} data = zabbixApi.apiRun("host.create", params) return data
def createScreen(graphids, name, hsize): screenitems = [] vsize = int((len(graphids)+hsize-1)/hsize) x = 0 y = 0 for graphid in graphids: screenitem = {"resourcetype":0, "resourceid":graphid, "x":x, "y":y, "width":"500"} screenitems.append(screenitem) if x < hsize - 1: x += 1 else: x = 0 y += 1 params = {"name":name, "hsize":hsize, "vsize": vsize, "screenitems":screenitems} data = zabbixApi.apiRun("screen.create", params) return(data)
def createScenario(argv): name = argv['name'] hostid = argv['hostid'] url = argv['url'] status_code = argv['status_code'] no = argv['no'] required = argv['required'] delay = argv['delay'] agent = argv['agent'] applicationid = argv['applicationid'] posts = argv['posts'] status = argv['status'] header = argv['header'] steps = [{"name": "api Check", "url": url, "headers": header, "posts": posts, "status_codes": status_code, "no": no, "required": required}] params = {"name": name, "hostid": hostid, "steps": steps, "delay": delay, "agent": agent, "applicationid":applicationid, "status": status} data = zabbixApi.apiRun("httptest.create", params) return(data)
def getMediaTypes(): params = {"output":"mediatypeid"} mediatypes = zabbixApi.apiRun("mediatype.get", params) return mediatypes
def deleteApplication(applicationid): params = [] params.append(applicationid) data = zabbixApi.apiRun("application.delete", params) return(data)
def createApplication(hostid, name): params = {"name": name, "hostid": hostid} data = zabbixApi.apiRun("application.create", params) return(data)
def getApplicationByName(hostid, name): filters = {"name": name} params = {"output": ["name", "hostid"], "hostids":hostid, "filter":filters} data = zabbixApi.apiRun("application.get", params) return(data)
def getItemList(argv): grpid = argv[0].split(",") key = argv[1] params = {"output": ["hostid", "itemids", "key_", "lastvalue"], "groupids": grpid, "search": {"key_": key}} data = zabbixApi.apiRun("item.get", params) return data
def updateTrigger(triggerid, description, expression): params = {"triggerid":triggerid, "description": description, "expression": expression, "priority": 3} data = zabbixApi.apiRun("trigger.update", params) return(data)
def getTriggerById(triggerid): filters = {"triggerid": triggerid} params = {"output": "extend", "filter":filters} data = zabbixApi.apiRun("trigger.get", params) return(data)
def createApplication(hostid, name): params = {"name": name, "hostid": hostid} data = zabbixApi.apiRun("application.create", params) return (data)
def getApplicationById(applicationid): params = {"output": ["name", "hostid"], "applicationids": applicationid} data = zabbixApi.apiRun("application.get", params) return (data)
def updateMedias(userid, medias): params = {"users":[{"userid":userid}],"medias":medias} #print(params) data = zabbixApi.apiRun("user.updatemedia", params) return(data)
def getGitem(graphid): params = {"output":"extend", "expandData":1, "graphids":graphid} data = zabbixApi.apiRun("graphitem.get", params) return(data)
def deleteScenario(httptestid): params = [] params.append(httptestid) data = zabbixApi.apiRun("httptest.delete", params) return (data)
def getUserGrps(): params = {"output":["usrgrpid","name"]} data = zabbixApi.apiRun("usergroup.get", params) return(data)
def template_clear(argv): hostid = argv[0] templateid = argv[1] params = {"hostid": hostid, "templates_clear": [{"templateid": templateid}]} data = zabbixApi.apiRun("host.update", params) return(data)
def getTriggerByName(description): filters = {"description": description} params = {"output": "extend", "filter":filters} data = zabbixApi.apiRun("trigger.get", params) return(data)
def updateApplication(name, applicationid): params = {"name": name, "applicationid": applicationid} data = zabbixApi.apiRun("application.update", params) return (data)
def createTrigger(description, expression): params = {"description": description, "expression": expression, "priority": 3} data = zabbixApi.apiRun("trigger.create", params) return(data)
def deleteApplication(applicationid): params = [] params.append(applicationid) data = zabbixApi.apiRun("application.delete", params) return (data)
def deleteTrigger(triggerids): params = triggerids data = zabbixApi.apiRun("trigger.delete", params) return(data)
def deleteScenario(httptestid): params = [] params.append(httptestid) data = zabbixApi.apiRun("httptest.delete", params) return(data)
def getHostItem(argv): hostid = argv[0].split(",") key = argv[1] params = {"output": ["itemids", "key_"], "hostids": hostid, "search": {"key_": key}, "startSearch": 1} data = zabbixApi.apiRun("item.get", params) return data
def getHostById(argv): hostids = argv[0].split(",") params = {"output":["hostid", "host", "name"], "selectInterfaces":["ip", "port", "type"], "hostids":hostids, "filter":{"type":"1"}} data = zabbixApi.apiRun("host.get", params) return(data)
def getApplicationById(applicationid): params = {"output": ["name","hostid"], "applicationids":applicationid} data = zabbixApi.apiRun("application.get", params) return(data)
def getHostInterface(argv): params = {"output":["hostid", "ip"], "filter":{"type":"1"}} data = zabbixApi.apiRun("hostinterface.get", params) return(data)
def updateApplication(name, applicationid): params = {"name": name, "applicationid": applicationid} data = zabbixApi.apiRun("application.update", params) return(data)
def getItem(hostid,applicationid): params = {"output":["hostid", "key_", "name"], "hostids": hostid, "applicationids": applicationid, "webitems":1} data = zabbixApi.apiRun("item.get", params) return(data)
def getAllHostId(argv): params = {"output":["hostid"]} data = zabbixApi.apiRun("host.get", params) return(data)
def getGrpId(grpname): params = {"output": "groupid", "filter": {"name": grpname}} grpid = zabbixApi.apiRun("hostgroup.get", params) return (grpid[0]['groupid'])