活着的死人 发表于 2015-1-14 21:05:02

Linux教程之python挪用zabbix的api接口添加主机、查询组、主机、模板

小知识:CentOS其实就是相当于免费版的RedHat,任何人可以自由使用,不需要向RedHat付任何的费用。当然,同样你也得不到任何有偿的技术支持和升级服务。
zabbix有一个API接口,可以挪用这些几口来主动添加主机,查询zabbix中监控的主机,监控的模板、监控的主机组等信息,应用也异常的便利。以下是用python挪用zabbix的API接口来完成上述功效:
#!/usr/bin/envpython#-*-coding:utf-8-*-importjsonimporturllib2importsysclasszabbixtools:def__init__(self):self.url="http://192.168.100.200/zabbix/api_jsonrpc.php"self.header={"Content-Type":"application/json"}self.authID=self.user_login()defuser_login(self):data=json.dumps({"jsonrpc":"2.0","method":"user.login","params":{"user":"Admin","password":"zabbix"},"id":0})request=urllib2.Request(self.url,data)forkeyinself.header:request.add_header(key,self.header)try:result=urllib2.urlopen(request)exceptURLErrorase:print"AuthFailed,PleaseCheckYourNameAndPassword:",e.codeelse:response=json.loads(result.read())result.close()authID=responsereturnauthIDdefget_data(self,data,hostip=""):request=urllib2.Request(self.url,data)forkeyinself.header:request.add_header(key,self.header)try:result=urllib2.urlopen(request)exceptURLErrorase:ifhasattr(e,reason):printWefailedtoreachaserver.printReason:,e.reasonelifhasattr(e,code):printTheservercouldnotfulfilltherequest.printErrorcode:,e.codereturn0else:response=json.loads(result.read())result.close()returnresponsedefhost_get(self,hostip):#hostip=raw_input("33,"filter":{"host":}},"auth":self.authID,"id":1})res=self.get_data(data)if(res!=0)and(len(res)!=0):#forhostinres:host=resifhost==1:print"        ","33.ljust(15),        ,"33.encode(GBK),        ,"33elifhost==0:print"        ","33.ljust(15),        ,"33.encode(GBK),        ,"33printelse:print        ,"33,"auth":self.authID,"id":1})res=self.get_data(data)ifhostidsinres.keys():print"        ","33if(res!=0)or(len(res)!=0):print"33,"        ","HostGroup_Name:",host.encode(GBK)printelse:print"GetHostGroupError,pleasecheck!"deftemplate_get(self):data=json.dumps({"jsonrpc":"2.0","method":"template.get","params":{"output":"extend",},"auth":self.authID,"id":1,})res=self.get_data(data)#ifresultinres.keys():res=resif(res!=0)or(len(res)!=0):print"33,"        ","Template_Name:",host.encode(GBK)printelse:print"GetTemplateError,pleasecheck!"defhost_create(self):hostip=raw_input("33t_list=[]foriingroupid.split(,):var={}var=ig_list.append(var)foriintemplateid.split(,):var={}var=it_list.append(var)ifhostipandgroupidandtemplateid:data=json.dumps({"jsonrpc":"2.0","method":"host.create","params":{"host":hostip,"interfaces":[{"type":1,"main":1,"useip":1,"ip":hostip,"dns":"","port":"10050"}],"groups":g_list,"templates":t_list,},"auth":self.authID,"id":1,})res=self.get_data(data,hostip)ifresultinres.keys():res=resifhostidsinres.keys():print"33else:print"33

相干的资料的可以参考官方文档。这个只是一些功效模块,包括获得主机,主机组、模板、删除主机等功效,可以依据须要停止调剂,完成zabbix的批量化和主动化治理。由于是在linux运转,所以设置了输入终真个字体色彩便利辨别,假如不须要,自行删除便可。
小知识:社区支持的免费Linux发行版一般不会从商业支持中寻求什么好处,但对CentOS来说,这种情况即将改变。

深爱那片海 发表于 2015-1-16 21:16:24

Linux教程之python挪用zabbix的api接口添加主机、查询组、主机、模板

随着Linux技术的更加成熟、完善,其应用领域和市场份额继续快速增大。目前,其主要应用领域是服务器系统和嵌入式系统。然而,它的足迹已遍布各个行业,几乎无处不在。

兰色精灵 发表于 2015-1-19 07:58:48

我们自学,就这个循环的过程中,我们学习了基本操作,用vi,shell,模拟内存的分配过程等一些OS管理。

冷月葬花魂 发表于 2015-1-28 05:48:42

生成新的unispimsp.ksc。”另外得到回复后如果问题解决,向帮助过你的人发个说明,让他们知道问题是怎样解决的。

简单生活 发表于 2015-2-5 18:51:28

linux鸟哥的私房菜,第三版,基础篇,网上有pdf下的,看它的目录和每章的介绍就行了,这个绝对原创!

透明 发表于 2015-2-13 06:42:54

以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。

飘飘悠悠 发表于 2015-3-3 18:27:46

如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。 Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人。

再见西城 发表于 2015-3-11 13:24:26

任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序。

第二个灵魂 发表于 2015-3-18 20:58:31

熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种:

乐观 发表于 2015-3-26 19:15:58

工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多。
页: [1]
查看完整版本: Linux教程之python挪用zabbix的api接口添加主机、查询组、主机、模板