zabbix API应用】的更多相关文章

python程序调用zabbix系统的api接口实现对zabbix_server端主机的增删改查,使用相关功能时候,需要打开脚本中的相关函数. 函数说明: zabbixtools()  调用zabbix api template_get()  获取zabbix  server端已经配置的模板信息 hostgroup_get()  获取已经添加的主机组列表信息 host_get()   单个主机信息 host_del()  删除主机 host_create()  新建主机 get_grouphos…
API使用 zabbix官网文档:https://www.zabbix.com/documentation/2.2/manual/api, Zabbix API是基于JSON-RPC 2.0规格,具体实现可以选择任何自己爱好的编程语言,可以采用Perl.Ruby.PHP之类的. 本文已python为例.python zabbix api模块较多,使用较为方便. 下面是各个语言zabbix模块及github连接,可共参考. 数据流程 下面的流程图代表了Zabbix API 工作的典型工作流.验证(…
1,认证并取得加密字段 curl -i -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","method":"user.login","params":{"user":"admin","password":"zabbix"},"auth&q…
最近项目需要获取linux主机的一些信息,如CPU使用率,内存使用情况等.由于我们本身就装了zabbix系统,所以我只用知道如何获取信息即可,总结有两种方法可以获取. 一.通过ZABBIX API获取主机信息 这种方式获取的主机信息相对是比较新的(每分钟更新一次).但因为每次都需要请求接口,所以相对比较慢,如果并发查询的主机数量比较多,就会非常慢. 开源监控系统ZABBIX的官方文档提供了丰富的API.我这里http请求是用的Guzzle 6.当然你也可以用php内置的curl函数自己写一个ht…
前言: 以下内容根据zabbix 3.2官方文档总结:https://www.zabbix.com/documentation/3.2/manual/api 此文档只是简单的介绍API的基本使用,关于一些完整功能或高级功能将在后续的博文中展现 调用Zabbix api使用的是HTTP的POST请求方式 其中请求的头部为: 1 {"Content-Type": "application/json-rpc"} 请求的URL为: 1 http://zabbix.aek.c…
python环境配置yum -y install python-pip安装argparse模块pip install -i https://pypi.douban.com/simple/ argparse 脚本修改请修改脚本中zabbix登录地址以及zabbix管理员帐户及密码 #!/usr/bin/env python #-*- coding: utf-8 -*- import json import sys import urllib2 import argparse from urllib…
前言 今天写了一个zabbix api,这里整理一下,过程中自己也学习了一些东西. 需求 我们需要查一个文件内容如下: cat /ops/flume_hosts node1 node2 需要把这个文件里面的host添加到flume的group里面并且关联flume的template做监控,以后我们部署flume的机器只需要改这个文件,然后一执行这个命令就OK了 部署与实施 写了小一天,又把代码该删删该减减,做成了如下样子(用了一个requests模块,python版本是3.6): #!/opt/…
之前发现搜索出来的主机调用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查询:https://www.zabbix.com/documentation/2.0/manual/appendix/api/api import json,urllib2 from urllib2 import Request, urlopen, URLError, HTTPError #url and url header #zabbix的api 地址,用户名,密码,这里修改为自己实际的参数 zabbix_url="http://10.16.2.40/zabbix/ap…
目录:Django其他篇 01: 安装zabbix server 02:zabbix-agent安装配置 及 web界面管理 03: zabbix API接口 对 主机.主机组.模板.应用集.监控项.触发器等增删改查 04:获取zabbix监控信息 目录: 1.1 zabbix认证和请求函数 1.2 主机组操作 1.3 主机操作 1.4 模板操作 1.5 应用集操作 1.6 监控项操作 1.7 触发器操作 2.1 通过api 接口从 创建主机 到创建并关联模板全过程 1.1 zabbix认证和请…
喜欢需要理由吗?需要吗?当然需要,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#.Py…
因公司业务需要,引进了自动化运维,所用到的监控平台为zbbix3.2,最近正在学习python,计划使用python调用zabbix api接口去做些事情,如生成报表,我想最基本的是要取得zabbix中的数据,这是第一步,今天先体验了一把,已经成功获取得到部分数据,所以记录下来. 操作系统:win10 zabbix版本:3.2 python版本:2.7.14 IDE:PyCharm 2017.2.3 Build #PY-172.3968.37, built on September 1, 201…
API简介 Zabbix API开始扮演着越来越重要的角色,尤其是在集成第三方软件和自动化日常任务时.很难想象管理数千台服务器而没有自动化是多么的困难.Zabbix API为批量操作.第三方软件集成以及其他作用提供可编程接口. Zabbix API是在1.8版本中开始引进并且已经被广泛应用.所有的Zabbix移动客户端都是基于API,甚至原生的WEB前端部分也是建立在它之上.Zabbix API 中间件使得架构更加模块化也避免直接对数据库进行操作.它允许你通过JSON RPC协议来创建.更新和获…
通过脚本调用zabbix api 生成screen报错: "vsize": must be between "1" and "100" 查看zabbix源码可知: Zabbix默认创建的Screen的垂直宽度默认最大是100.由于手动创建的Screen的vsize大小要么为0,要么超过了100都会报这个错误,所以解决办法就是增大SCREEN_MAX_SIZE这个值 vim include/defines.inc.php修改 define(‘SCR…
zabbix api调用 api能干什么 Zabbix API allows you to programmatically retrieve and modify the configuration of Zabbix and provides access to historical data. It is widely used to: Create new applications to work with Zabbix; Integrate Zabbix with third part…
原文地址:https://www.jianshu.com/p/d5faa110e78e zabbix 接口地址:https://www.zabbix.com/documentation/3.2/manual/api/reference/maintenance/object zabbix 优势在于其丰富的api功能,可以高度定制化.扩展.笔者也是在使用了1年的API中收获颇丰.在cmdb资产管理功能.微信操作控制zabbix功能.获取zabbix数据制作报表等都利用到了zabbix api. 笔者…
zabbix API开发库 zabbix API请求和响应都是json,并且还提供了各种语法的lib库,http://zabbix.org/wiki/Docs/api/libraries,包含php.c#.Python.Perl.go等等语言,简单看了下phpzabbixapi,使用非常方便. 请求zabbix API post json数据到api接口地址,例如你得zabbix地址是http://company.com/zabbix,那么你得接口地址是:http://company.com/z…
Zabbix API官方文档: https://www.zabbix.com/documentation/4.0/zh/manual/api 1.向 api_jsonrpc.php 发送HTTP_POST 登录请求,获取身份验证令牌 # -*- coding:utf-8 -*- import json import requests url = 'http://172.10.10.2/zabbix/api_jsonrpc.php' post_headers = {'Content-Type':…
Zabbix 一.Zabbix 概述 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. zabbix由2部分构成,zabbix server与可选组件zabbix agent. (1)zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集. (2)zabbix serv…
开源监控系统Zabbix提供了丰富的API,供第三方系统调用. 基本步骤如下: 1.获取合法认证:连接对应Zabbix URL,并提供用户名和密码,HTTP方法为"POST",HTTP头部类型为"application/json" public function zabbixJsonRequest($uri, $data) { try{$json_data = json_encode($data); $c = curl_init(); curl_setopt($c,…
1.模拟登录 curl -i -X POST -H 'Content-Type:application/json' -d '{"jsonrpc":"2.0","method":"user.login","params":{"user":"admin","password":"zabbix"},"auth":n…
通过zabbix提供的api进行维护模式的设置 #!/usr/bin/env python # -*-coding:utf-8-*- import urllib import urllib2 import json import sys import platform import time def auth(uid, username, password, api_url): """ zabbix认证 :param uid: :param username: :param…
#!/usr/bin/env python # -*-coding:utf-8 -*- import requests import json class AutoZabbix: def __init__(self, hostname, visibleName, ip, groupname, template_name): self.url = 'http://192.168.67.230/zabbix/api_jsonrpc.php' self.headers = {'Content-Type…
本文转载自:http://blog.mreald.com/178 Zabbix可以通过自发现添加主机,不过有时候不准确,通过API添加会更加准确! 脚本使用的跟zabbix相关的内容.参考的是zabbix2.2版本的手册 Excel 格式:(列名从前到后使用空格分割) hostname visible  hostip  dnsname proxy hostgroup hosttemp  hosttemp1 #!/usr/local/bin/python #coding:utf-8 import…
(继续贴一篇之前工作期间写的经验案例) 一.           案例背景 我负责开发过一个平台的监控报警模块,基于zabbix实现,需要对zabbix进行二次开发. Zabbix官方提供了Rest API的文档,并推荐了第三方库,但这些库都是zabbix老版本(2.2,2.4/3.0)的库,多年未更新过,且变量/方法命名都不符合java的驼峰式规范. 所以开发中基于3.4的文档,自己封装了一套库.结合二次开发中对zabbix业务逻辑的理解与实践,梳理总结出该篇接口开发文档. 二.       …
1.需求:有一个语音合成播报项目,要实时获取zabbix的ERROR级别以上告警信息,将该信息合成语音播报出去.(合成语音及播报已经完成) 2.现实:整理zabbix告警级别,将不太重要的告警放到ERROR级别以下,将重点信息设置为ERROR级别,然后通过zabbbix api获取. 3.简单实现: #!/usr/bin/env python #coding:utf-8 import json import urllib2 from urllib2 import URLError import…
在以前的博客中谈到了利用zabbix接口来对主机进行批量的增删改查 这里在不用环境中实战遇到了不同问题,这里记录下来以便后续review 以下为实战中获取token的代码,在zabbix标准接口文档中  写道 POST http://company.com/zabbix/api_jsonrpc.php HTTP/1.1 但是由于部署的方式不同 在生产环境中 http://XXX/api_jsonrpc.php 应该是这个地址(这里卡了很久 由于不是本人部署) import requests im…
config.yaml存储zabbix的信息(主要包括zabbix server的url .请求头部.登陆的用户名密码) Zabbix_Config: zabbix_url: http://192.168.1.179/zabbix/api_jsonrpc.php zabbix_header: {"Content-Type": "application/json"} zabbix_user: Admin zabbix_pass: zabbix auth.py文件,主要…
好久没来了,最近比较疲倦,估计是从年初到现在没有休息的原因. 刚刚批量导入网络设备到Zabbix时,报错: Cannot implode expression 后面自然是IP和触发器的表达式. 最初还以为是触发器表达式写得有问题,后来仔细看了一下,发现每个IP后面都跟了个“\n”. 于是在Python脚本中加了个Strip(). 仔细回想下,在测试环境中就没有出现这问题,脚本都是一样的脚本. 估计可能是空格之类导致的问题,以后需要注意了.…
#coding:utf-8 #给定主机IP获取一段时间内cpu的均值和峰值并写入文件(txt,可以跑完后直接把后缀名改为csv以表格形式打开):需要指定IP文件 import requests import json import csv import time def get_token(): data = { "jsonrpc": "2.0", "method": "user.login", "params&qu…