Ejemplo n.º 1
0
    def template_get(self, templateName=''):
        data = json.dumps({
            "jsonrpc": "2.0",
            "method": "template.get",
            "params": {
                "output": "extend",
                "filter": {
                    "name": templateName
                }
            },
            "auth": Zabbix_Auth().user_login(),
            "id": 1,
        })

        request = urllib2.Request(self.url, data)
        for key in self.header:
            request.add_header(key, self.header[key])

        try:
            result = urllib2.urlopen(request)
        except URLError as e:
            print "Error as ", e
        else:
            response = json.loads(result.read())
            result.close()
Ejemplo n.º 2
0
 def get_host(self, hostip=""):
     data = json.dumps({
         "jsonrpc": "2.0",
         "method": "host.get",
         "params": {
             "output": "extend",
             "filter": {
                 "host": hostip
             }
         },
         "auth": Zabbix_Auth().user_login(),
         "id": 2
     })
     request = urllib2.Request(self.url, data)
     for key in self.header:
         request.add_header(key, self.header[key])
     try:
         result = urllib2.urlopen(request)
     except URLError as e:
         if hasattr(e, 'reason'):
             print "We failed to reach a server."
             print "reason:", e.reason
         elif hasattr(e, "code"):
             print 'The server could not fulfill the request.'
             print 'Error code: ', e.code
             return 0
     else:
         response = json.loads(result.read())
         result.close()
         hostsid = []
         for host in response['result']:
             hostsid.append({host['host']: host['hostid']})
         return hostsid
Ejemplo n.º 3
0
 def get_graph_value(self, graphid):
     data = json.dumps({
         "jsonrpc": "2.0",
         "method": "host.get",
         "params": {
             "selectItems": ["itemid"],
             "filter": {
                 "graph": graphid
             }
         },
         "auth": Zabbix_Auth().user_login(),
         "id": 1
     })
     request = urllib2.Request(self.url, data)
     for key in self.header:
         request.add_header(key, self.header[key])
     try:
         result = urllib2.urlopen(request)
     except URLError as e:
         if hasattr(e, 'reason'):
             print "We failed to reach a server."
             print "reason:", e.reason
         elif hasattr(e, "code"):
             print 'The server could not fulfill the request.'
             print 'Error code: ', e.code
             return 0
     else:
         response = json.loads(result.read())
         result.close()
         tmp = response['result'][0]['items']
         items = []
         for value in tmp:
             print value
         return "test"
Ejemplo n.º 4
0
 def get_host_from_groupid(self, groupid=""):
     data = json.dumps({
         "jsonrpc": "2.0",
         "method": "host.get",
         "params": {
             "output": ["hostid", "name"],
             "groupids": groupid,
         },
         "auth": Zabbix_Auth().user_login(),
         "id": 1,
     })
     request = urllib2.Request(self.url, data)
     for key in self.header:
         request.add_header(key, self.header[key])
     # get host list
     try:
         result = urllib2.urlopen(request)
     except URLError as e:
         if hasattr(e, 'reason'):
             print 'We failed to reach a server.'
             print 'Reason: ', e.reason
         elif hasattr(e, 'code'):
             print 'The server could not fulfill the request.'
             print 'Error code: ', e.code
     else:
         response = json.loads(result.read())
         result.close()
         print "Number Of Hosts: ", len(response['result'])
         group_host = []
         for host in response['result']:
             group_host.append({host["name"]: host["hostid"]})
             #print "Host ID:",host['hostid'],"HostName:",host['name']
         return group_host
Ejemplo n.º 5
0
    def get_hostgroup(self, hostgroupname=""):
        data = json.dumps({
            "jsonrpc": "2.0",
            "method": "hostgroup.get",
            "params": {
                "output": "extend",
                "filter": {
                    "name": hostgroupname
                }
            },
            "auth": Zabbix_Auth().user_login(),
            "id": 1,
        })
        request = urllib2.Request(self.url, data)
        for key in self.header:
            request.add_header(key, self.header[key])

        try:
            result = urllib2.urlopen(request)
        except URLError as e:
            print "Error as ", e
        else:
            response = json.loads(result.read())
            result.close()
            grouphosts = []
            for group in response['result']:
                grouphosts.append({group['name']: group['groupid']})
            return grouphosts
Ejemplo n.º 6
0
 def host_get(self, hostip=''):
     data = json.dumps({
         "jsonrpc": "2.0",
         "method": "host.get",
         "params": {
             "output": "extend",
             "filter": {
                 "ip": hostip
             }
         },
         "auth": Zabbix_Auth().user_login(),
         "id": 1
     })
     request = urllib2.Request(self.url, data)
     for key in self.header:
         request.add_header(key, self.header[key])
     try:
         result = urllib2.urlopen(request)
     except URLError as e:
         if hasattr(e, 'reason'):
             print 'Reason: ', e.reason
         elif hasattr(e, 'code'):
             print 'Error code: ', e.code
     else:
         response = json.loads(result.read())
         result.close()
         hostlist = []
         for host in response['result']:
             hostlist.append(host['name'])
         #print len(hostlist)
         return hostlist
Ejemplo n.º 7
0
    def hostgroup_create(self, hostgroupName):

        if self.hostgroup_get(hostgroupName):
            print "hostgroup  \033[42m%s\033[0m is exist !" % hostgroupName
            sys.exit(1)
        data = json.dumps({
            "jsonrpc": "2.0",
            "method": "hostgroup.create",
            "params": {
                "name": hostgroupName
            },
            "auth": Zabbix_Auth().user_login(),
            "id": 1
        })
        request = urllib2.Request(self.url, data)

        for key in self.header:
            request.add_header(key, self.header[key])

        try:
            result = urllib2.urlopen(request)
        except URLError as e:
            print "Error as ", e
        else:
            response = json.loads(result.read())
            result.close()
            print "\033[042m 添加主机组:%s\033[0m  hostgroupID : %s" % (
                hostgroupName, response['result']['groupids'])
Ejemplo n.º 8
0
    def host_create(self, hostname, hostip, name, proxyid, hostgroupName,
                    templateName):
        if self.host_get(hostip):
            print "\033[041m该主机已经添加!\033[0m"
            sys.exit(1)
        group_list = []
        template_list = []
        for i in hostgroupName.split(','):
            var = {}
            var['groupid'] = self.hostgroup_get(i)
            group_list.append(var)
        for i in templateName.split(','):
            var = {}
            var['templateid'] = self.template_get(i)
            template_list.append(var)

        data = json.dumps({
            "jsonrpc": "2.0",
            "method": "host.create",
            "params": {
                "host":
                name,
                "name":
                hostname,
                "interfaces": [{
                    "type": 1,
                    "main": 1,
                    "useip": 1,
                    "ip": hostip,
                    "dns": "",
                    "port": "10050"
                }],
                "groups":
                group_list,
                "templates":
                template_list,
                "proxy_hostid":
                proxyid,
            },
            "auth": Zabbix_Auth().user_login(),
            "id": 1
        })
        request = urllib2.Request(self.url, data)
        for key in self.header:
            request.add_header(key, self.header[key])

        try:
            result = urllib2.urlopen(request)
        except URLError as e:
            print "Error as ", e
        else:
            response = json.loads(result.read())
            result.close()
            print "添加主机 : \033[32m%s\033[0m \tid :\033[31m%s\033[0m \tproxy :\033[31m%s\033[0m" % (
                hostip, response, proxyid)
Ejemplo n.º 9
0
 def get_host_item(self, hostid=""):
     data = json.dumps({
         "jsonrpc": "2.0",
         "method": "item.get",
         "params": {
             "output": "extend",
             "hostids": hostid,
             #"host": hostname,
             #"search": {
             #    "key_": "system"
             #},
             #"sortfield": "name"
         },
         "auth": Zabbix_Auth().user_login(),
         "id": 1
     })
     request = urllib2.Request(self.url, data)
     for key in self.header:
         request.add_header(key, self.header[key])
     # get host list
     try:
         result = urllib2.urlopen(request)
     except URLError as e:
         if hasattr(e, 'reason'):
             print 'We failed to reach a server.'
             print 'Reason: ', e.reason
         elif hasattr(e, 'code'):
             print 'The server could not fulfill the request.'
             print 'Error code: ', e.code
     else:
         response = json.loads(result.read())
         result.close()
         print "Number Of host items: ", len(response['result'])
         item_host = []
         for item in response['result']:
             print item
             item_host.append({item["name"]: item["itemid"]})
             #print "Host ID:",host['hostid'],"HostName:",host['name']
         return item_host
Ejemplo n.º 10
0
    def host_delete(self, hostid):
        hostid_list = []
        for i in hostid.split(','):
            var = {}
            var['hostid'] = self.host_get(i)
            hostid_list.append(var)
        data = json.dumps({
            "jsonrpc": "2.0",
            "method": "host.delete",
            "params": hostid_list,
            "auth": Zabbix_Auth().user_login(),
            "id": 1
        })

        request = urllib2.Request(self.url, data)
        for key in self.header:
            request.add_header(key, self.header[key])

        try:
            result = urllib2.urlopen(request)
        except Exception, e:
            print e
Ejemplo n.º 11
0
 def host_disable(self, hostip):
     data = json.dumps({
         "jsonrpc": "2.0",
         "method": "host.update",
         "params": {
             "hostid": self.host_get(hostip),
             "status": 1
         },
         "auth": Zabbix_Auth().user_login(),
         "id": 1
     })
     request = urllib2.Request(self.url, data)
     for key in self.header:
         request.add_header(key, self.header[key])
     try:
         result = urllib2.urlopen(request)
     except URLError as e:
         print "Error as ", e
     else:
         response = json.loads(result.read())
         result.close()
         print self.host_get(hostip)
Ejemplo n.º 12
0
 def get_items_history(self, itemsid=""):
     data = json.dumps({
         "jsonrpc": "2.0",
         "method": "history.get",
         "params": {
             "output": "extend",
             "history": 0,
             "itemids": itemsid,
             "sortfield": "clock",
             "sortorder": "DESC",
             "limit": 1
         },
         "auth": Zabbix_Auth().user_login(),
         "id": 1
     })
     request = urllib2.Request(self.url, data)
     for key in self.header:
         request.add_header(key, self.header[key])
     try:
         result = urllib2.urlopen(request)
     except URLError as e:
         if hasattr(e, 'reason'):
             print 'We failed to reach a server.'
             print 'Reason: ', e.reason
         elif hasattr(e, 'code'):
             print 'The server could not fulfill the request.'
             print 'Error code: ', e.code
     else:
         response = json.loads(result.read())
         result.close()
         print "Number Of items: ", len(response['result'])
         items_value = []
         for value in response['result']:
             items_value.append({
                 u'itemid': value["itemid"],
                 u'value': value["value"]
             })
         return items_value