Zabbix的API的使用
登录请求(返回一个token,在后面的api中需要用到)
curl -s -X POST -H 'Content-Type:application/json' -d'
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix" },
"id": 1
}' http://192.168.80.130/zabbix/api_jsonrpc.php | python -m json.tool {
"id": 1,
"jsonrpc": "2.0",
"result": "940da948f7aabb512d71c13ced76699a"
}
host get
curl -s -X POST -H 'Content-Type:application/json' -d'
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output":["host"]
}, "auth": "940da948f7aabb512d71c13ced76699a",
"id": 1
}' http://192.168.80.130/zabbix/api_jsonrpc.php | python -m json.tool {
"id": 1,
"jsonrpc": "2.0",
"result": [
{
"host": "Zabbix server",
"hostid": "10084"
},
{
"host": "linux-node2.example.com",
"hostid": "10117"
}
]
}
获取到了host和hostid 怎么查看


添加主机的api
修改配置

修改了ip groupid 和templateid(删除了官方的资产信息)
curl -s -X POST -H 'Content-Type:application/json' -d'
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "Linux server",
"interfaces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": "192.168.80.160",
"dns": "",
"port": "10050"
}
],
"groups": [
{
"groupid": "2"
}
],
"templates": [
{
"templateid": "10001"
}
]
},
"auth": "940da948f7aabb512d71c13ced76699a",
"id": 1
}' http://192.168.80.130/zabbix/api_jsonrpc.php | python -m json.tool

添加成功

创建主机api的应用脚本批量添加主机(list.txt写好需要添加主机的ip列表)
zabbix_host_creates.sh
#!/bin/bash
#login
tok=`curl -s -X POST -H 'Content-Type:application/json' -d'
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix" },
"id": 1
}' http://192.168.80.130/zabbix/api_jsonrpc.php | python -m json.tool`
jsson= echo "$tok" | grep result | awk -F '"' '{print $4}'
#create hosts
for ip in `cat list.txt`
do
curl -s -X POST -H 'Content-Type:application/json' -d'
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": '\"$ip\"',
"interfaces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": '\"$ip\"',
"dns": "",
"port": "10050"
}
],
"groups": [
{
"groupid": "11"
}
],
"templates": [
{
"templateid": "10001"
}
]
},
"auth": '\"$jsson\"',
"id": 1
}' http://192.168.80.130/zabbix/api_jsonrpc.php | python -m json.tool
done
运行报错了

下一篇:Zabbix分布式监控
Zabbix的API的使用的更多相关文章
- zabbix利用api批量添加item,并且批量配置添加graph
关于zabbix的API见,zabbixAPI 1item批量添加 我是根据我这边的具体情况来做的,本来想在模板里面添加item,但是看了看API不支持,只是支持在host里面添加,所以我先在一个ho ...
- zabbix java api
zabbix java api zabbix官方的api文档地址:https://www.zabbix.com/documentation/3.0/manual/api Zabbix功能 概观 Zab ...
- 调用zabbix 分组api
调用zabbix 分组api,获取分组中主机host信息,并分类保存, #!/usr/bin/env python #coding:utf8 import requests import json i ...
- (41)zabbix监控api接口性能及可用性 天气预报api为例
现在各种应用都走api,例如淘宝,天气预报等手机.pad客户端都是走api的,那么平时也得对这些api做监控了.怎么做呢?zabbix的web监控是不二选择了.今天就以天气预报api作为一个例子. 天 ...
- python使用zabbix的API接口
一.实验环境 python3.6.6 zabbix 3.0.9 二.实验目的 了解Zabbix的API接口格式 通过python实现登陆zabbix服务,获得登陆token 通过python检索zab ...
- zabbix通过API创建交换机模板,ifAdminStatus;ifOperStatus;ifInUcastPkts;ifAlias
最终效果: 目的: 通过zabbix的Latest data查看主机就可以看到其监控结果. 监控项: # 管理状态 IF-MIB::ifAdminSt ...
- zabbix调用api检索方法
环境 zabbix:172.16.128.16:zabbix_web:172.16.16.16/zabbix 用户名:Admin 密码:zabbix 获取的数据仅做参考,以Linux发送HTTP的PO ...
- 通过zabbix的API接口获取服务器列表
Zabbix API说明 1) 基于Web的API,作为Web前端的一部分提供,使用JSON-RPC 2.0协议 2) 身份认证Token:在访问Zabbix中的任何数据之前,需要登录并获取身份验证令 ...
- zabbix的api接口
zabbix官方文档解释,api是开发者能获得修改zabbix配置,获取历史数据.主要用于: 1.创建新应用 2.集成zabbix与第三方软件 3.自动运行任务 运用JSON-RPC2.0协议,因此接 ...
随机推荐
- Atitit.mysql oracle with as模式临时表模式 CTE 语句的使用,减少子查询的结构性 mssql sql server..
Atitit.mysql oracle with as模式临时表模式 CTE 语句的使用,减少子查询的结构性 mssql sql server.. 1. with ... as (...) 在mys ...
- 响应式布局框架 Pure-CSS 5.0 示例中文版-上
0. Pure-CSS 介绍 Pure CSS 是雅虎出品的 CSS 框架, 依托于Normalize.CSS,在不适用任何JS代码情况下即可实现响应式布局的轻量级框架,无依赖,体积小. 1. CDN ...
- python核心编程——python对象
一.什么是python对象 在python中,构造的不论什么类型的值都是一个对象.比方一个整数类型的值,一个字符串.一个列表等,都能够看做是对象. 全部的对象分为三部分: (1)身份.每一个对象都有个 ...
- Form表单——例子
Form Form的验证思路 前端:form表单 后台:创建form类,当请求到来时,先匹配,匹配出正确和错误信息. Django的Form验证实例: 创建project,进行基础配置文件配置 STA ...
- CSS3边框圆角知识
<div class="item" data-brief="整圆"> <div class="border-radius" ...
- [config]关于make *config
最近在编译uboot和kernel,二者的编译都有make *_defconfig的用法,而以前都是make menuconfig然后再make, 对于现在这种用法还不太了解,网上查了下,有人给出 如 ...
- CSS——div居中,window.open(0
margin:0 auto 表示什么意思?? margin后面如果只有两个参数的话,第一个表示top和bottom,第二个表示left和right因为0 auto,表示上下边界为0,左右则根据宽度自适 ...
- js学习笔记26----事件冒泡,事件捕获
事件冒泡 : 当一个元素接收到事件的时候,会把它接收到的所有传播给它的父级.一直到顶层window.这种现象称之为事件冒泡机制.出去的事件触发. 阻止冒泡 : 当前要阻止冒泡的事件函数中,调用 eve ...
- nginx php文件上传的大小配置问题
- 实例讲解JQuery中this和$(this)区别
这篇文章主要介绍了实例讲解JQuery中this和$(this)的区别,this表示当前的上下文对象是一个html对象,可以调用html对象所拥有的属性和方法,$(this),代表的上下文对象是一个j ...