Zabbix分布式开源监控系统(五)——通过API接口管理Zabbix所监控主机(实践篇)

API常用接口:

user.login,用户登录
host.get(create|delete|update),主机操作
hostgroup.get(create|delete|update),主机组操作
item.get(create|delete|update),监控项目操作
history.get,历史数据查询
event.get,事件查询
trigger.get,触发器查询

具体实现

1.获取身份令牌

在访问Zabbix内部的任何数据之前,需要登录并获得身份验证令牌。可以使用user.login方法来完成

如果以标准ZabBix的Admin用户登录。那么JSON请求将是这样的:

[root@server1 ~]# vim zabbix-api
[root@server1 ~]# cat zabbix-api 
curl  -s -XPOST -H 'Content-Type: application/json-rpc' -d '     
  ##-s 静默模式,不输出任何东西;curl默认的HTTP动词是GET,使用`-X`参数可以支持其他动词
{
    "jsonrpc": "2.0",        ##标准的JSON RPC参数以标示协议版本
    "method": "user.login",  ##获取接口方法名
    "params": {
        "user": "Admin",      
        "password": "zabbix"  ##zabbix系统监控的用户名和密码
    },
    "id": 1,
    "auth": null              ##用户的身份令牌,因为还没有获取所以为null。
}' http://192.168.122.101/zabbix/api_jsonrpc.php | python -m json.tool
 ###python..将其标准化输出  
 ##使用post方法向该网址发送此json对象,api_jsonrpc.php是调用api的php脚本,可以安装可视化前端目录查看
[root@server1 ~]# chmod +x zabbix-api 
[root@server1 ~]# ./zabbix-api      

在这里插入图片描述
在这里插入图片描述
2.检索被检控的主机(通过名称获取数据)
使用host.get方法来获取主机。
利用刚才获取的身份令牌,访问zabbix中的数据,下面实现host.get方法检索所有已配置主机的ID,主机名及其接口。

[root@server1 ~]# cat zabbix-api 
curl  -s -X POST -H 'Content-Type: application/json-rpc' -d '     
{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["host"]
    },
    "auth": "9seaa58668b47oc994856904c5f04c5f04d19",
    "id": 1
}' http://192.168.122.101/zabbix/api_jsonrpc.php | python -m json.tool
[root@server1 ~]# ./zabbix-api 

在这里插入图片描述
3 删除监控中的主机
使用host.delete方法来删除主机。

curl  -s -X POST -H 'Content-Type: application/json-rpc' -d '     
{
    "jsonrpc": "2.0",
    "method": "host.delete",
    "params": [
        "10264"
    ],
    "auth": "9seaa58668b47oc994856904c5f04c5f04d19",
    "id": 1
}' http://192.168.122.101/zabbix/api_jsonrpc.php | python -m json.tool

上篇实验我们最后不是做了个自动注册嘛,要先停用它,不然删除了又注册上去了!!

xxxx

xxxxx

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值