zabbix批量添加主机监控-zabbix api调用

使用python调用zabbix api

#!/usr/bin/env python
# Version = 3.6.1
# __auth__ = ‘warren‘
import json
from urllib import request, parse

ZABBIX_URL = ‘http://192.168.22.22/zabbix‘
ZABBIX_USERNAME = "Admin"
ZABBIX_PASSWORD = "123456"
#以列表形式定义要添加的主机信息
hostlist=["192.168.22.111","192.168.22.112"]
#遍历主机列表定义要添加的主机组id和模板id
for host in hostlist:
    url = "{}/api_jsonrpc.php".format(ZABBIX_URL)
    header = {"Content-Type": "application/json"}
    # auth user and password
    data = {
        "jsonrpc": "2.0",
        "method": "host.create",
        "params": {
            "host": host,
            "interfaces": [
                {
                    "type": 1,
                    "main": 1,
                    "useip": 1,
                    "ip": host,
                    "dns": "",
                    "port": "10050"
                }
            ],
            "groups": [
                {
                    "groupid": "19"
                }
            ],
            "templates": [
                {
                    "templateid": "10081"
                }
            ],
            "inventory_mode": 0,
            "inventory": {
                "macaddress_a": "01234",
                "macaddress_b": "56768"
            }
        },
        "auth": "9afc764edb5b6bbd09369f7028231b70",
        "id": 1
    }
    # 由于API接收的是json字符串,故需要转化一下
    value = json.dumps(data).encode(‘utf-8‘)

    # 对请求进行包装
    req = request.Request(url, headers=header, data=value)

    # 验证并获取Auth ID
    try:
        # 打开包装过的url
        result = request.urlopen(req)
    except Exception as e:
        print("Auth Failed, Please Check Your Name And Password:", e)
    else:
        response = result.read()
        # 上面获取的是bytes类型数据,故需要decode转化成字符串
        page = response.decode(‘utf-8‘)
        # 将此json字符串转化为python字典
        page = json.loads(page)
        result.close()
        #打印信息
        print("Create host Successful. The host ID Is: {}".format(page.get(‘result‘)))
         #如果重复添加了 会返回The host ID Is: None
时间: 2024-11-09 00:16:38

zabbix批量添加主机监控-zabbix api调用的相关文章

zabbix批量添加主机

zabbix通过excel批量添加主机 本次批量添加针对监控**网络设备**,监控介质通过snmp方式. 不需要再一次一次添加每个网络设备. 只需要编写excel表格,即可一键添加监控. 安装excel python模块xlrd yum -y install epel-release yum -y install python-pip pip install --upgrade pip pip install xlrd 准备excel表格 表格列的信息依次为: 主机名,主机显示名,IP,主机所属

zabbix 安装-添加主机-监控项目-触发器-示警媒介类型-动作

Zabbix安装-创建主机-监控项目-触发器- 示警媒介类型 Zabbix 很强大,很全面,但相对来说,Nagios 要更轻量.灵活,特别是它的插件机制,你可以用自己熟悉的语言实现几乎任何自己想要实现的监控.Nagios 在图表方面相对较弱,如果只是希望实现监控及报警,Nagios 是个不错的选择,至于图表,你可以交给 cacti实现. Zabbix维护相对困难,Nagios维护相对容易,Cacti也是一样.但是Cacti的数据存储方式不是太好,过去的数据太模糊.Nagios的监控相对独立(插件

zabbix调用api接口批量添加主机

zabbix调用api接口批量添加主机,这里用的是python 2.7(需安装xlrd模块处理表格). (1)到官网下载xlrd模块:https://pypi.python.org/pypi/xlrd (2)解压压缩包:tar xvf xlrd-1.0.0.tar.gz(3)进入到解压的文件夹运行python setup.py install命令安装 1.整理一个excel表格(test.xlsx),格式如下: 2.addhost.py脚本,添加主机名.显示名称.dns主机名.群组.模板字段(网

zabbix应用之discovery批量添加主机并实现自定义主机名

利用zabbix的discovery功能可以实现自动批量添加主机的功能. 下面以自动监控172.16.4.240-250网段的Linux主机为例,步骤如下: 一.客户端安装agent 为网段内的Linux主机安装好zabbix agent,zabbix_agentd.conf正确配置server的IP和端口,启动agent服务. 如果你的操作系统为RHEL或者CentOS推荐使用yum安装方式. 参考官方资料:https://www.zabbix.com/documentation/2.2/ma

Zabbix批量导入主机

Zabbix批量导入主机 在实际工作环境中我们一个集群里面可能有十几上百台一摸一样的主机,需要监控的内容也是一摸一样的,这个时候我们就可以使用下面的方式批量导入主机了 1,我们先在Zabbix-web里面配置好一台主机,然后把配置的结果导出来,我们通过脚本批量替换一下就行 <?xml version="1.0" encoding="UTF-8"?> <zabbix_export> <version>3.4</version&

zabbix上添加交换机监控记事

? zabbix上添加交换机监控记事 ? 第一次使用zabbix来添加监控华为s5720交换机,根本找不到头绪,像个无头的苍蝇一样的百度来处理,结果都没有任何效果,给自己增加了很多痛苦和心烦,增加不少的白发. 经过询问前任,才发现添加交换机监控的门道,为此我这边记录一下: 第一:先打开zabbix监控画面,选择菜单:configuration--templates,点击create template,并输入名字及属于的groups组,说明,点击update,如下: 第二:添加applicatio

zabbix通过api批量添加web监控

zabbix 添加web监控始终是大问题,不能自动发现只能手动添加 写了个py脚本 #!/usr/bin/env python # -*- coding: utf-8 -*- import json import urllib2 import sys class zabbixtools:     def __init__(self):         self.url = "Zabbixserver"         self.header = {"Content-Type&

zabbix 批量web url监控

通过zabbix批量监控 web url,脚本借鉴其他博友的,测试完全ok.自定义的key需要一台服务器部署,这边是放在zabbix_server端. 监控脚本如下: # cat web_site_code_status.sh  #!/bin/bash  # function:monitor tcp connect status from zabbix    source /etc/bashrc >/dev/null 2>&1  source /etc/profile  >/de

zabbix server 添加主机

1.首先可以根据自己喜好改成中文的 2.添加监控192.168.1.126,agentd直接已经装好了,如果不会可以看之前的文章即可,选组态--主机 3.选择添加主机,让后输入要监控的主机,可见名称可以写成主机名比如web1等 4.然后选择模板,添加zabbix自带的linux模板即可 5.添加后存档 6.之后就可以看到可用性变绿了,就代表现在主机正在监控中