这是一份添加zabbix自动发现的脚本:
#!/usr/bin/python #coding:utf-8 import MySQLdb class zabbix: def __init__(self): self.dbuser = 'root' self.dbpass = 'wisp888' self.dbport = 3306 self.dbhost = 'localhost' def add(self, ip): #连接数据库: conn = MySQLdb.connect(user=self.dbuser, host=self.dbhost, passwd=self.dbpass, port=self.dbport, db='zabbix') cursor = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor) #判断drule表中是否已经存在此ip: sql = '''''select * from drules where name = %s''' ret = cursor.execute(sql,ip) if ret: print "%s is already exist!" % ip else: #获取drules表中最大的druleid,并+1,作为将要插入的记录的druleid sql = '''''select max(druleid) as maxid from drules''' ret = cursor.execute(sql) druleid = cursor.fetchone()['maxid'] + 1 #print druleid #插入drules: sql = '''''insert into drules(druleid,name,iprange) value(%s,%s,%s) ''' ret = cursor.execute(sql,(druleid,ip,ip)) conn.commit() #插入dchecks: sql = '''''insert into dchecks(dcheckid,druleid,type,key_,ports) value(%s,%s,9,'system.uname',10050)''' cursor.execute(sql,(druleid,druleid)) conn.commit() print "%s add to zabbix success!" % ip conn.close() def get_ip(self): conn = MySQLdb.connect(host=self.dbhost, user=self.dbuser, passwd=self.dbpass, port=self.dbport, db='ips') cursor = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor) sql = '''''select ip from tb_system where id != -1 group by sys_name''' sum = cursor.execute(sql) list = cursor.fetchall() return list if __name__ == "__main__": myzabbix = zabbix() for i in myzabbix.get_ip(): ip = i['ip'] myzabbix.add(ip)
暂无评论
写评论