zabbix利用API实现对数据的远程操作(检索(get),添加(create),删除(delete),更新(updata))

  1. 编写脚本获取身份令牌
    [root@server1 ~]# vi zabbix.php
[root@server1 ~]# vim zabbix-api
编辑内容如下:
curl -s XPOST -H "Content-Type:application/json-rpc" -d '   //启用curl命令模拟json格式的post请求
{
     "jsonrpc": "2.0",   //是标准的JSON RPC参数以标示协议版本。
     "method": "user.login",  //获取接口方法名
     "params": {
         "user": "Admin",
         "password": "zabbix"  ##zabbix系统监控的用户名和密码
     },
     "id": 1, //任意数
     "auth": null  //用户的身份令牌,因为还没有设置为null
}' http://172.25.32.1/zabbix/api_jsonrpc.php | python -m json.tool
使用post方法向该网址发送此JSON对象
api_jsonrpc.php是调用API的php脚本,可以安装可视化前端的目录下查到

给脚本添加可执行权限后执行
在这里插入图片描述
得到的result"e5d5108193dc19cc146e5734d359748f"为身份令牌
2.使用身份令牌检索主机

curl -s XPOST -H "Content-Type:application/json-rpc" -d '
{
     "jsonrpc": "2.0",
     "method": "host.get",  //使用该接口进行检索
     "params": {   //设置检索方法
        "output": [
            "hostid",
            "host"
        ],
        "selectInterfaces": [
            "interfaceid",
            "ip"
        ]
     },
     "id": 1,
     "auth":"e5d5108193dc19cc146e5734d359748f"
}' http://172.25.32.1/zabbix/api_jsonrpc.php | python -m json.tool

执行脚本获取已配置主机的hostname,hostid及ip等信息
在这里插入图片描述
3.利用获取到的hostid来对管理的机器进行操作。

server2的检索信息如下
在这里插入图片描述
server3的检索信息如下
在这里插入图片描述

删除server2

curl -s XPOST -H "Content-Type:application/json-rpc" -d '
{
     "jsonrpc": "2.0",
     "method": "host.delete",
     "params": [
          "10269"  //server3的hostid
      ],
     "id": 1,
     "auth":"976dfec4133b974d7cbeb71b2f3c6352"
}' http://172.25.32.1/zabbix/api_jsonrpc.php | python -m json.tool

执行脚本返回值
在这里插入图片描述
在网页查看
在这里插入图片描述

删除server3
脚本

    curl -s XPOST -H "Content-Type:application/json-rpc" -d '
    {
         "jsonrpc": "2.0",
         "method": "host.delete",
         "params": [
              "10268"  //server3的hostid
          ],
         "id": 1,
         "auth":"976dfec4133b974d7cbeb71b2f3c6352"
    }' http://172.25.32.1/zabbix/api_jsonrpc.php | python -m json.tool

脚本返回值
在这里插入图片描述
网页查看结果
在这里插入图片描述
创建server3
脚本

 curl -s XPOST -H "Content-Type:application/json-rpc" -d '
{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "server3",
        "interfaces": [
            {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "172.25.32.3",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "2"
            }
        ],
        "templates": [
            {
                "templateid": "10001"
            }
        ]
    },
     "id": 1,
     "auth":"976dfec4133b974d7cbeb71b2f3c6352"
}' http://172.25.32.1/zabbix/api_jsonrpc.php | python -m json.tool

执行脚本返回值
在这里插入图片描述
网页查看添加成功
在这里插入图片描述
使用相同的方法添加server2

在这里插入图片描述

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值