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

本文介绍如何通过编写脚本使用Zabbix API获取身份令牌,并演示了使用该令牌检索主机信息、创建和删除主机的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值