python脚本添加zabbix 主机

import requests
import json

url = ‘http://192.168.4.2/zabbix/api_jsonrpc.php‘
headers = {‘Content-Type‘: ‘application/json-rpc‘}
##############################################
# data = {
#     "jsonrpc": "2.0",  # 协议版本,固定的
#     "method": "apiinfo.version",  # 方法,做什么就找到什么方法
#     "params": [],   # 参数
#     "id": 101   # 随便给定一个数值,表示任务ID
# }
##############################################
# 获得令牌
# data = {
#     "jsonrpc": "2.0",
#     "method": "user.login",
#     "params": {
#         "user": "Admin",
#         "password": "zabbix"
#     },
#     "id": 1
# }
# df99a7ab5f64c27fd4bc155c44b452fd
##############################################
# 获取主机信息
# data = {
#     "jsonrpc": "2.0",
#     "method": "host.get",
#     "params": {
#         "filter": {
#             # "host": [
#             #     "Zabbix server",
#             #     "Linux server"
#             # ]
#         }
#     },
#     "auth": "df99a7ab5f64c27fd4bc155c44b452fd",
#     "id": 1
# }
##############################################
# 获取模板信息
# data = {
#     "jsonrpc": "2.0",
#     "method": "template.get",
#     "params": {
#         "output": "extend",
#         "filter": {
#             "host": [
#                 "Template OS Linux",
#             ]
#         }
#     },
#     "auth": "df99a7ab5f64c27fd4bc155c44b452fd",
#     "id": 1
# }
# 模板ID: 10001
##############################################
# 获取组信息
# data = {
#     "jsonrpc": "2.0",
#     "method": "hostgroup.get",
#     "params": {
#         "output": "extend",
#         "filter": {
#             "name": [
#                 "Linux servers"
#             ]
#         }
#     },
#     "auth": "df99a7ab5f64c27fd4bc155c44b452fd",
#     "id": 1
# }
# 组ID:2
##############################################
# 创建名为web1的主机,把它加入到Linux Servers组中,使用template os linux模板
data = {
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "web1",
        "interfaces": [   # 指定使用什么方式临控主机
            {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "192.168.4.2",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "2"
            }
        ],
        "templates": [
            {
                "templateid": "10001"
            }
        ],
        "inventory_mode": 0,
        "inventory": {
            "macaddress_a": "01234",
            "macaddress_b": "56768"
        }
    },
    "auth": "df99a7ab5f64c27fd4bc155c44b452fd",
    "id": 1
}

##############################################
r = requests.post(url, headers=headers, data=json.dumps(data))
print(r.json())

@@

zabbix API中文网址文档:https://www.zabbix.com/documentation/4.0/zh/manual/api/reference/host/create

原文地址:https://www.cnblogs.com/lsgo/p/10603389.html

时间: 2024-10-30 04:42:00

python脚本添加zabbix 主机的相关文章

Python一键添加Zabbix监控脚本

由于时间关系没有在脚本里把创建主机组和模板的功能,只是单单实现了添加主机的功能 zabbix_tools.py #!/usr/bin/python #coding:utf-8 import json import urllib2 from urllib2 import URLError import sys class ZabbixTools: def __init__(self): self.url = 'http://lihuipeng.blog.51cto.com/zabbix/api_j

使用python脚本创建zabbix screen(聚合图形)。

原文章:http://11072687.blog.51cto.com/11062687/1739870 最近发现一篇文章<使用zabbix api创建screen>,然后下载脚本进行测式,发现二个问题: 1. 不支持3.x版本. 2. 添加的screen的主机名称不是按顺序排列,不方便查询. 便自己修改了一下,让支持zabbix3.x版本,并输出的screen(聚合图形)按机器名称排列. #!/bin/env python import json import urllib2 import a

python增删改查zabbix主机等

摘自: http://www.jianshu.com/p/e087cace8ddf 一.API简介 Zabbix API是在1.8版本中开始引进并且已经被广泛应用.所有的Zabbix移动客户端都是基于API,甚至原生的WEB前端部分也是建立在它之上.Zabbix API 中间件使得架构更加模块化也避免直接对数据库进行操作.它允许你通过JSONRPC协议来创建.更新和获取Zabbix对象并且做任何你喜欢的操作[当然前提是你拥有认证账户]. Zabbix API提供两项主要功能: 远程管理Zabbi

zabbix监控利用Python脚本发邮件

最近实施了zabbix监控,开源软件杠杠的,甩nagios 好几条街-- 环境:centos6.6 + Zabbix 2.4.5 + Python 2.6.6 cd /usr/local/zabbix/share/zabbix/alertscripts #进入脚本存放目录vi SendAlertEmail.sh #编辑,添加以下代码#!/bin/shecho "$3" | mail -s "$2" $1:wq! #保存退出chown zabbix.zabbix /u

zabbix通过python脚本实现邮件报警

1.修改zabbix server端的配置文件,启用AlertScriptsPath,使其支持脚本功能 1.编辑zabbix server端的配置文件,并重启服务 # vim /etc/zabbix/zabbix_server.conf AlertScriptsPath=/usr/local/zabbix/alertscripts # /etc/init.d/zabbix_server restart 2.在服务端添加邮件报警的python脚本,并给脚本执行权限 邮件报警,并记录日志 # vim

zabbix邮件告警python脚本

#!/usr/bin/python # -*- coding: utf-8 -*- """ Zabbix SMTP Alert script from qq. auth:json """ import sys import email import smtplib import os from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipar

python脚本实现自动为png类型图片添加@2x后缀

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/css/cuteeditor.css); @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/css/cuteeditor.css); 美术们总是忘记或者因为其它

Python脚本通过邮件发送zabbix报警图片

Python脚本通过邮件发送zabbix报警图片流程如下: 通过zabbix传递给脚本的message参数,筛选出报警信息的itemid; 通过获取的itemid,在数据库中查找对应的grpahid; 拉取对应graphid的图片并保存; 将报警信息和图片组装成html; 发送邮件. Python脚本如下: #!/usr/bin/python #coding=utf-8 from email.mime.text import MIMEText from email.mime.multipart 

Python脚本之django---mysql-记录主机性能数据到数据库-web站点管理数据库及web显示命令执行结果

##############################################################环境 [[email protected] python]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.4 (Santiago) You have new mail in /var/spool/mail/root [[email protected] python]# python -