23.zabbix-api使用

概述

application interface 支付宝: 微信支付:
第三方厂商想要,身份认证,有效期 金额 服务接口 https://zhifubao.com/zhifu.php
运维平台:jenkins,ELK,ansible,cobbler,zabbix(运维开发,dba,网络安全,大数据,云计算方向) 小:运维少,随便操作 大:误操作,引起业务宕机, centos7 Ubuntu window

api接口利用

zabbix-server服务有api接口,比如:grafana服务就是通过api接口于zabbix进行交互数据信息。如图所示:
在这里插入图片描述

zabbix服务api接口连接与官网执行请求链接一致。
http://192.168.111.66/zabbix/api_jsonrpc.php
根据官方上查询通过ap执行请求的方法,执行动作POST,需要带入content-tepy
在这里插入图片描述

执行请求的时候需要进行验证,加入json格式内容数据
在这里插入图片描述

从而获取token值
在这里插入图片描述

使用curl命令进行测试执行请求获取token值,注意登录账号、密码要正确,否则不对。

curl -X POST -H 'Content-Type: application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "user": "Admin",
        "password": "zabbix"
    },
    "id": 1,
    "auth": null
}' http://192.168.111.66/zabbix/api_jsonrpc.php

如图所示:执行成功,结果返回一个token值。
在这里插入图片描述

官网提供创建监控主机提供的json格式内容
在这里插入图片描述

创建主机方法

根据上面已获取的token值,通过api接口直接创建一个监控主机
提示:分组的16和模板的10001直接在zabbix界面鼠标放在某一个分组和模板上就会直接显示数据,即可

#{"jsonrpc":"2.0","result":"1098020b1bacc8040d57d8cae39f6cde","id":1}
token='1098020b1bacc8040d57d8cae39f6cde'
curl -X POST -H 'Content-Type: application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "test",
        "interfaces": [
            {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "127.0.0.1",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "16"
            }
        ],
        "templates": [
            {
                "templateid": "10001"
            }
        ]
    },
    "auth": "'$token'",
    "id": 1
}' http://192.168.111.66/zabbix/api_jsonrpc.php

命令执行成功
在这里插入图片描述

zabbix界面显示创建监控主机成功,并且状态为绿色。
在这里插入图片描述

删除监控主机

根据官网提供的json内容删除监控主机数据内容
在这里插入图片描述

命令行中直接执行命令,删除监控主机。

curl -X POST -H 'Content-Type: application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.delete",
    "params": [
        "10289"
    ],
    "auth": "'$token'",
    "id": 1
}' http://192.168.111.66/zabbix/api_jsonrpc.php

上面脚本中json格式内容里的10289就是如下图对应的数字,鼠标放在test上就会直接显示出来。
在这里插入图片描述

执行成功,如图所示:
在这里插入图片描述

zabbix界面上已经没有test监控主机,已经被删除,如图所示:
在这里插入图片描述

创建用户

官网提供json格式内容为创建用户
在这里插入图片描述

编辑命令进行测试,自定义用户名为yunlong.qu密码为123456

curl -X POST -H 'Content-Type: application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "user.create",
    "params": {
        "alias": "yunlong.qu",
        "passwd": "123456",
        "usrgrps": [
            {
                "usrgrpid": "7"
            }
        ],
        "user_medias": [
            {
                "mediatypeid": "1",
                "sendto": [
                    "support@company.com"
                ],
                "active": 0,
                "severity": 63,
                "period": "1-7,00:00-24:00"
            }
        ]
    },
    "auth": "'$token'",
    "id": 1
}' http://192.168.111.66/zabbix/api_jsonrpc.php

执行成功
在这里插入图片描述

zabbix界面显示创建用户成功
在这里插入图片描述

批量创建监控主机

自定义脚本
需要创建一个IP地址文件

echo  192.168.111.{1..3}|xargs -n1 >/root/list.txt

执行结果如下:
在这里插入图片描述

批量创建监控主机脚本如下:

#vim 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.111.66/zabbix/api_jsonrpc.php | python -m json.tool`
jsson=`echo "$tok" | grep result | awk -F '"' '{print $4}'`
#create hosts
for ip in `cat /root/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": "2"
            }
        ],
        "templates": [
            {
                "templateid": "10001"
            }
        ]
    },
    "auth": '\"$jsson\"',
    "id": 1
}' http://192.168.111.66/zabbix/api_jsonrpc.php |python -m json.tool
done

执行脚本成功
在这里插入图片描述

zabbix界面显示创建3台监控主机成功。
在这里插入图片描述

  • 38
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愿听风成曲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值