3、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

安装:

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

安装pip

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

安装:

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

安装Zabbix-API模块

pip install zabbix-api
[[email protected] 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:

{
    "jsonrpc": "2.0",
    "method": "host.exists",
    "params": {
        "host": "Zabbix Server",
        "nodeids": [
            "1"
        ]
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1}

Response:

{
    "jsonrpc": "2.0",
    "result": true,
    "id": 1}

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

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

vim host_exists.py

#!/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

运行脚本,得到结果为

[[email protected] scripts]# ./host_exists.py 
True

表示主机存在

Zabbix还提供了很多方法去获取信息,看官网吧。

时间: 2024-10-21 18:12:36

3、Zabbix-API使用的相关文章

16.使用zabbix api创建screen

zabbix的screen功能可以把graph聚合起来,统一进行展示, 我们的需求是把同一个主机组的同一个item聚合起来,比如一个screen显示同一个组的所有主机的内存使用率,达到类似ganglia的效果, 由于服务器较多,所以我们调用zabbix api来进行创建. 参考地址如下:谢谢各位大牛 https://www.zabbix.org/wiki/Python_script_to_create_Screen_from_all_Items/Graphs_of_a_host http://c

zabbix api

一般架设好server以后都会通过web front 来添加host啊, 模版什么的,这就带来一个效率的问题,比如说我要一时间添加100台host 进去,这个时候有个api ,然后通过脚本来调用就爽了,zabbix的作者们早已想到了这点,api 1.8 这个版本以后就发布了.网上有比较好的教程,我这里就不写了.可以参考我很敬佩的一个人 itnihao的博文: http://itnihao.blog.51cto.com/1741976/1343524 python还是非常好用的,调用api 什么的

ZABBIX API简介及使用

API简介 Zabbix API开始扮演着越来越重要的角色,尤其是在集成第三方软件和自动化日常任务时.很难想象管理数千台服务器而没有自动化是多么的困难.Zabbix API为批量操作.第三方软件集成以及其他作用提供可编程接口. Zabbix API是在1.8版本中开始引进并且已经被广泛应用.所有的Zabbix移动客户端都是基于API,甚至原生的WEB前端部分也是建立在它之上.Zabbix API 中间件使得架构更加模块化也避免直接对数据库进行操作.它允许你通过JSON RPC协议来创建.更新和获

用zabbix生成awstats图表以及通过Python调zabbix API自动化操作

awstats作为一款日志分析软件,功能不错,但是界面过于简单,也没有图表功能,这里我采取了一种变通的方法,将awstats的分析结果(pv.hits(文件数).bandwidth.visits(独立ip))添加到zabbix,并通过zabbix生成趋势图表. 在前两篇文章中,我们队awstats的使用及其工作方式进行了简明扼要的介绍:awstats对每个站点进行分析之后,会生成一个"awstats012016.txt"格式的"数据库"文件:awstats的展示页面

通过Zabbix API 添加host

脚本内容: #!/usr/bin/python #-*- coding:utf8 -*- import json,sys,argparse from zabbix_api import ZabbixAPI server = "http://172.16.206.128/zabbix" username = "Admin" password = "zabbix" zapi = ZabbixAPI(server=server, path="

使用zabbix API估算服务器磁盘空间可用天数

代码github位置. 主要功能:获取zabbix某个分组下的所有机器,计算这些机器的磁盘剩余空间按照"自然"增长还可以使用多少天. 主要流程: 获取某个group下所有机器.     def host_get_by_groupid(self,groupid):         data = json.dumps(                 {                     "jsonrpc": "2.0",           

基于zabbix API添加监控主机

由于zabbix监控的主机虽为同一个业务,但是由于其跨机房并且网络为为16位,两个机房导致zabbix的自动添加扫描的主机数量就差不多有12w多个,严重影响其效率和性能. 使用zabbix API的基本步骤如下: 连接http://x.x.x.x/api_jsonrpc.php,(在zabbix网页文件的目录下为api_jsonrpc.php),提供用户名和密码,并标识HTTP头部"Content-Type":"application/json",HTTP方法为po

python 调用zabbix api实现查询主机信息,输出所有主机ip

之前发现搜索出来的主机调用zabbix api信息都不是那么明确,后来通过zabbix官方文档,查到想要的api信息,随后写一篇自己这次项目中用到的api. #!/usr/bin/env python #coding:utf8 import requests import json headers = {'Content-Type': 'application/json-rpc'} server_ip = '10.37.149.109' url = 'http://%s/zabbix/api_j

Zabbix API学习_认证篇

zabbix很多都是可以直接通过 zabbix api 来进行辅助操作. 官方文档地址:https://www.zabbix.com/documentation 通过API操作,都必须组认证,拿到了认证token之后,才能进行相应操作: #-*- coding:utf-8 -*- ''' Created on 2016-6-8 @author: ''' import json import urllib2 from urllib2 import URLError class Zabbix_Aut

python调用zabbix api接口实时展示数据

近日公司准备自已做一个运维管理平台,其中的监控部分,打算调用zabbix api接口来进行展示. 经过思考之后,计划获取如下内容: 1.  获得认证密钥 2.  获取zabbix所有的主机组 3.  获取单个组下的所有主机 4.  获取某个主机下的所有监控项 5.  获取某个监控项的历史数据 6.  获取某个监控项的最新数据 计划最后展示框架如下内容(这只是值方面,其它的会再加): 主机组1 ----主机名1---监控项1----当前值 ---监控项2----当前值 ----主机名2----监控