概述

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台监控主机成功。
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐