python调用zabbixapi接口_python3 + zabbix api 的使用
喜欢需要理由吗?需要吗?当然需要,zabbix的那么多功能足以让你喜欢她,现在还有zabbix API,zabbix真让我疯了,太牛逼了,太让人喜欢了。有zabbix API我们可以做很多,自己开发web界面、开发手机端zabbix、获取zabbix指定数据、创建zabbix监控项等等。
zabbix API开发库
zabbix API请求和响应都是json,并且还提供了各种语法的lib库,http://zabbix.org/wiki/Docs/api/libraries,包含php、c#、Python、Perl、go等等语言,使用非常方便。
请求zabbix API
post json数据到api接口地址,例如你的zabbix地址是http://company.com/zabbix,那么你的接口地址是:http://company.com/zabbix/api_jsonrpc.php,必须包含content-type头,值为application/json-rpc, application/json or application/jsonrequest之一。
zabbix API登陆
获取auth token(登陆)
在操作zabbix之前,我们必须先登陆zabbix,得到token,以后的操作带着这个token即可,要不然肯定没权限。
#!/usr/bin/env python
# Version = 3.5.2
# __auth__ = '无名小妖'
import json
from urllib import request, parse
ZABBIX_URL = 'http://alyz.xxxxxxx.com'
ZABBIX_USERNAME = "admin"
ZABBIX_PASSWORD = "xxxxxx"
url = "{}/api_jsonrpc.php".format(ZABBIX_URL)
header = {"Content-Type": "application/json"}
# auth user and password
data = {
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": ZABBIX_USERNAME,
"password": ZABBIX_PASSWORD
},
"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("Auth Successful. The Auth ID Is: {}".format(page.get('result')))
输出:Auth Successful. The Auth ID Is: 3c5ed7eadecc3761e7b541426a461921
附:
python3 中 urllib 的用法: http://www.cnblogs.com/wumingxiaoyao/p/7478573.html
python调用zabbixapi接口_python3 + zabbix api 的使用相关推荐
- python调用zabbixapi接口_python调用zabbix api获取主机信息
import requests import json headers = { 'Content-Type': 'application/json' } class GetZabbix: def __ ...
- pythondockerapi_docker-py 用Python调用Docker接口的方法
众所周知,Docker向外界提供了一个API来管理其中的资源.这个API可以是socket文件形式的(一般也是默认的,在/var/run/docker.sock中),也可以是TCP形式的.以前想要通过 ...
- python调用第三方接口获取数据_python调用接口,python接收post请求接口(附完整代码)...
与Scala语言相比,Python有其独特的优势和广泛的应用,python调用接口,因此Spark也推出了PySpark,它在框架上提供了一个使用Python语言的接口,python接收post请求接 ...
- c调python_应该是史上最全的python调用C接口
在这段时间里,我需要使用python调用C接口.我在网上搜索了很多,再加上python的官方文件,并组织备份1.从ctypes加载dll导入* dll = () # func1dll = CDLL ( ...
- python调用webservice接口实例_python调用各种接口,webservice,c接口,com接口,socket协议方法...
python调用webservice接口(SOAP) (2)调用示例: 需要先安装suds库:pip install suds from suds.client import Client #如果需要 ...
- python rpc_对python调用RPC接口的实例详解
要调用RPC接口,python提供了一个框架grpc,这是google开源的 rpc相关文档: 需要安装的python包如下: 1.grpc安装 pip install grpcio 2.grpc的p ...
- Python 调用WebService接口出错-suds.transport.TransportError: HTTP Error 401: Unauthori
使用Python调用WebService接口出现"suds.transport.TransportError: HTTP Error 401: Unauthorized"错误. 问 ...
- 实现python 调用 C++ 接口的 easypr
实现python 调用 C++ 接口的 easypr 本文实现了用python 调用 C++ 的easypr ,实现车牌的识别. CMakelist.txt 以及调用方法将会附上 CMakelist. ...
- python调用百度接口实现ocr识别_Python调用百度OCR实现图片文字识别的示例代码
百度AI提供了一天50000次的免费文字识别额度,可以愉快的免费使用!下面直接上方法: 首先在百度AI创建一个应用,按照下图创建即可,创建后会获得如下: 创建后会获得如下信息: APP_ID = '* ...
最新文章
- powerpoint打字慢
- 闲话网名之“jrfly331”
- 6、Power Map—实例:柱状图按月展示数据变动
- linux服务器 远程桌面,如何远程桌面Linux服务器
- SAP Kyma能像SAP BYD那样做field extension吗
- Java中9大内置基本数据类型Class实例和数组的Class实例
- AI评委引热议,阿里巴巴表示:AI不会取代工程师
- 【全开源商城小程序源码】ThinkPHP 5.1+带后台商城源码程序+带详细安装使用文档
- c oracle 参数赋值,利用c#反射实现实体类生成以及数据获取与赋值
- python爬虫方向的第三方库,Python网络爬虫方向的第三方库是
- [Android Traffic] android 流量计算方法
- 【亚伦博客】《蝙蝠侠前传2:黑暗骑士》里发生了什么
- Android技术点滴记录
- php函数大小写转化,php大小写转换函数(strtolower、strtoupper)用法介绍
- 前端:解决vue2.0只能运行在Local,不能运行在NetWork的问题
- Qt5 QML TreeView currentIndex当前选中项的一些问题
- Hello 内存 cache 主存 外存
- 既然选择了远方——30自制操作系统之第2天--汇编语言学习与Makefile入门
- 数据库的IOPS计算
- 使用键盘移动鼠标指针
热门文章
- 【教女朋友学网络系列3】之手把手教她明白交换机的基本原理
- 常用公差配合表图_模具设计,常用模具零件选用
- 如何将实时计算 Flink 与自身环境打通?
- java学习笔记:Storm 常用配置
- 如何使用ZBrush和3DMAX雕刻一个百夫长?
- 快节奏多人游戏同步:技术与算法的实现
- ImportError: cannot import name ‘options‘ from ‘pyecharts‘
- JMeter环境搭建
- SQL基础【十九、触发器】(不建议使用触发器的原因)
- seconds_behind_master监控复制推延的不足及pt-heartbeat改进方法