通过zabbix自带api进行主机的批量添加操作

本文介绍如何通过Zabbix 3.0.4的API进行主机批量添加,以提高监控大量服务器时的效率。方法包括读取Excel主机列表,然后使用Python2.7发送POST请求执行API操作。
摘要由CSDN通过智能技术生成

通过zabbix自带api进行批量添加主机

我们需要监控一台服务器的时候,当客户端装好zabbix-agent端并正确配置以后,需要在zabbix-server的web gui界面进行添加zabbix-agent操作,填写host_name,访问名,ip地址,端口还有模板等信息

这样操作比较方便,但当我们需要添加的主机有上百台甚至千台时效率就比较低了,一般有如下解决方案:
1.通过自动发现,自动注册主机
2.通过zabbix_api的方式进行批量操作

今天我们使用第二种方式进行操作,定制性较强,不容易出错
主要是通过读取excel主机列表信息,发送post请求操作zabbix的api进行主机自动添加

环境:
zabbix版本: zabbix3.0.4
python版本:python2.7

api参考文档
# https://www.zabbix.com/documentation/3.0/manual/api

host列表信息如下


批量添加主机的zabbix_api代码:

#coding:utf-8
  
import json
import urllib2
from urllib2 import URLError
import sys
import xlrd
  
class ZabbixTools: 
    def __init__(self): 
        self.url = 'http://192.168.3.200/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", 
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值