9、Zabbix-API使用

简介:

Zabbix提供了API接口和方法,可以利用方法实现创建主机、删除主机、创建宏、创建模板等目的。


下面列举一些实例,看看如何使用Zabbix-API

zabbix官方文档:https://www.zabbix.com/documentation/2.2/ru/start


要使用zabbix的API接口,需要用pip安装zabbix-api模块。所以我们需要先安装pip,再安装zabbix-api模块,而安装pip前需要安装setuptools模块


安装setuptools

下载地址:https://pypi.python.org/pypi?%3Aaction=search&term=setuptools&submit=search

安装:

1
2
3
tar  zxf setuptools-19.6.2. tar .gz
cd  setuptools-19.6.2
python setup.py  install


安装pip

下载地址:https://pypi.python.org/pypi/pip/

安装:

1
2
3
tar  zxf pip-8.1.0. tar .gz 
cd  pip-8.1.0
python setup.py  install


安装Zabbix-API模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
pip  install  zabbix-api
[root@dnsserver pip-8.1.0] # pip list
DEPRECATION: Python 2.6 is no longer supported by the Python core team, please upgrade your Python. A future version of pip will drop support  for  Python 2.6
iniparse (0.3.1)
ordereddict (1.2)
pip (8.1.0)
pycurl (7.19.0)
pygpgme (0.1)
setuptools (19.6.2)
urlgrabber (3.9.1)
yum-metadata-parser (1.1.2)
zabbix-api (0.4)
You are using pip version 8.1.0, however version 8.1.2 is available.
You should consider upgrading via the  'pip install --upgrade pip'  command .


Zabbix-API使用演示:

host.exists:

官网介绍:

Request:

wKioL1er-nHAjBYKAADRoFFgMTM222.png


Response:

wKioL1er-oeDh05eAABIQG30D5g247.png


如何利用zabbix-api查询某主机是否存在呢?

写一个python脚本,内容如下:

vim host_exists.py

1
2
3
4
5
6
7
8
9
10
#!/usr/bin/python
#coding:utf-8
from zabbix_api  import  ZabbixAPI
server =  "http://172.16.206.131/zabbix"
username =  "Admin"
password =  "zabbix"
zapi = ZabbixAPI(server=server, path= "" , log_level=0)
zapi.login(username, password)
result = zapi.host.exists({ "host" : "Zabbix server" })
print result


运行脚本,得到结果为

1
2
[root@dnsserver scripts] # ./host_exists.py 
True

表示主机存在


获取hostid

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/python
#coding:utf-8
from zabbix_api  import  ZabbixAPI
import  json
server= "http://172.16.206.130/zabbix"
username= "Admin"
password= "zabbix"
zapi = ZabbixAPI(server=server,path= "" ,log_level=0)
zapi.login(username,password)
 
##通过计算机名查找hostid
hostinfo=zapi.host.get({ "output" : "extend" , "filter" :{ "host" : "Zabbix server" }})
hostid_01=hostinfo[0][ 'hostid' ]
print hostid_01
 
##通过主机可见名查找hostid
hostinfo=zapi.host.get({ "output" : "extend" , "filter" :{ "name" : "ECS0001" }})
hostid_02=hostinfo[0][ 'hostid' ]
print hostid_02
1
2
3
[root@ZabbixServer zabbix_api] # python get.hostid.py 
10084
10084










本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1787080,如需转载请自行联系原作者
目录
相关文章
|
前端开发
一次偶然的机会,让我遇见了amis之排错总结(持续更新,因为还在学习)(下)
一次偶然的机会,让我遇见了amis之排错总结(持续更新,因为还在学习)
|
3月前
|
存储 机器学习/深度学习 人工智能
MXFP4量化:如何在80GB GPU上运行1200亿参数的GPT-OSS模型
GPT-OSS通过MXFP4量化技术实现1200亿参数模型在单个80GB GPU上的高效运行,将权重压缩至每参数4.25位,大幅降低内存需求,同时保持高精度和竞争力的基准性能,为大规模模型部署提供了新思路。
366 13
MXFP4量化:如何在80GB GPU上运行1200亿参数的GPT-OSS模型
|
11月前
|
监控 安全 网络安全
社会工程学:概念、技术与防范
社会工程学是一种利用人性弱点而非技术漏洞来获取敏感信息或进行攻击的策略。常见技术包括钓鱼攻击、预设信任、尾随、垃圾箱搜寻、电话欺诈和社交媒体工程。防范措施包括提高意识、双重验证、物理安全、信息管理和技术防护等。通过综合措施,可以有效降低社会工程学攻击的风险,保护信息安全。
734 10
|
9月前
|
人工智能 搜索推荐 Cloud Native
2025年企业营销的制胜指南:AI、Alpha世代与全渠道实战策略
2025年企业营销的制胜指南:AI、Alpha世代与全渠道实战策略
|
Web App开发 Linux iOS开发
PlayWright 系列1:安装
PlayWright 系列1:安装
509 0
|
定位技术 开发工具 Python
基于Python开发的玛丽大冒险小游戏(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
基于Python开发的玛丽大冒险小游戏(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
285 0
|
测试技术 UED
如何写验收标准(AC)
如何写验收标准(AC)
365 0
解决 Idea 2020.1.1 内存占用过高问题
解决 Idea 2020.1.1 内存占用过高问题
515 0
|
Web App开发 数据采集 前端开发
分享一个Chrome控制台数据获取的例子
讲了一下获取Chrome控制台数据的前因后果
669 0