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,如需转载请自行联系原作者
目录
相关文章
|
数据可视化 前端开发 程序员
探索iVX:颠覆传统低代码平台的新潮流
探索iVX:颠覆传统低代码平台的新潮流
808 0
|
监控 BI API
利用ZABBIX进行服务器自动巡检并导出报表
利用ZABBIX进行服务器自动巡检并导出报表
利用ZABBIX进行服务器自动巡检并导出报表
|
2月前
|
移动开发 前端开发 JavaScript
鸿蒙NEXT时代你所不知道的全平台跨端框架:CMP、Kuikly、Lynx、uni-app x等
本篇基于当前各大活跃的跨端框架的现状,对比当前它们的情况和未来的可能,帮助你在选择框架时更好理解它们的特点和差异。
240 0
|
9月前
|
传感器 测试技术 定位技术
HarmonyOS Next 模拟器安装与探索
HarmonyOS 5 的发布带来了许多新特性,尤其是 HarmonyOS Next 模拟器。本文将带你一步步了解如何安装和使用这个强大的工具,帮助你更好地进行开发,加速项目进展。通过 DevEco Studio 的 Device Manager,你可以轻松创建、配置并启动模拟器,模拟真实设备的效果,支持多窗口、跨设备测试等新特性。此外,模拟器还提供了虚拟传感器、GPS 模拟、音频输入等功能,极大地方便了开发和调试过程。掌握这些功能,能让你的开发更加高效便捷。
700 9
|
Web App开发 Linux iOS开发
PlayWright 系列1:安装
PlayWright 系列1:安装
436 0
|
前端开发 API 开发工具
Python实现post请求小红书笔记详情数据接口
Python实现post请求小红书笔记详情数据接口
|
5G SDN 数据中心
网络即服务的现状及展望
网络即服务(NaaS)随着云计算的发展以及5G产业带动的软件定义网络(SDN)和网络虚拟化(NFV)越来越为大众所知,近两年越来越普及的SD-WAN,以及升级版的SASE(安全接入服务边缘)可以说是其中最为代表性的应用方向。
|
缓存 API 异构计算
数据缓存系列分享(二):23秒完成从零开始搭建StableDiffusion
通过文章 数据缓存系列分享(一):打开大模型应用的另一种方式 我们了解ECI数据缓在使用体验、性能等方面相比于NAS、OSS存储方式的优劣。本文将继续结合实际场景 StableDiffusion 应用讲解数据缓存在大模型方面所带来的极致体验。值得一提的是,即便是对于没有任何准备、零算法基础、零大模型背景知识的开发者也可以轻松地通过ECI API在短短的23秒的时间内就可以搭建一个完整的StableDiffusion应用。
1222 0
数据缓存系列分享(二):23秒完成从零开始搭建StableDiffusion
|
SpringCloudAlibaba 负载均衡 算法
|
Linux 内存技术
Linux NFS挂载时候解决的记录
Linux NFS挂载时候解决的记录
495 0
Linux NFS挂载时候解决的记录