使用Zabbix API自动添加主机

1.前言

最近需要在服务器集群上添加Zabbix Agent来监控数据,大概需要部署1000台。每一台都需要在Zabbix Web上添加主机,以查看数据和配置信息,这个数量的主机信息,要是全手动添加,那一天到晚啥都不用做,光点击鼠标添加了。于是想看看有啥自动化脚本可用,看到了Zabbix API,有了一些方向。可以把配置信息都写进CSV里,使用Python脚本读取,借助API自动添加,省时省力!

2.Python脚本代码

话不多说,直接上代码:

添加脚本 
addhost.py
	#coding:utf-8
	import json
	import urllib2
	from urllib2 import URLError
	import sys
	import xlrd
	# 测试ok
	class ZabbixTools:
	    def __init__(self):
	        self.url = 'http://172.20.10.3/zabbix/api_jsonrpc.php'
	        self.header = {"Content-Type":"application/json"}
	    # 登陆验证
	    def user_login(self):
	        data = json.dumps({
	                           "jsonrpc": "2.0",
	                           "method": "user.login",
	                           "params": {
	                                      "user": 'Admin',
	                                      "password": 'zabbix'
	                                      },
	                           "id": 0
	                           })
	        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 "Auth Failed, please Check your name and password:", e.code
	        else:
	            response = json.loads(result.read())
	            result.close()
	            self.authID = response['result']
	            return self.authID
	    # 获取主机
	    def host_get(self,hostName):
	        data = json.dumps({
	                           "jsonrpc":"2.0",
	                           "method":"host.get",
	                           "params":{
	                                     "output":["hostid","name"],
	       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值