关闭上个博客配置好的自动发现和自动注册
- 获取api令牌
写api文件
vim zabbix-api
curl -s -XPOST -H "Content-Type: application/json-rpc" -d ' # 利用curl命令模拟json格式的post请求
{
"jsonrpc": "2.0",
"method": "user.login", # 利用用户登陆的方式获取API
"params": { # zabbix监控系统的用户名和密码
"user": "Admin",
"password": "zabbix"
},
"id": 1, # 这个字段用于绑定JSON请求和响应
"auth": null
}' http://172.25.16.1/zabbix/api_jsonrpc.php | python -m json.tool
给执行权限
result获得# zabbix监控的API(令牌)
- 查看监控和被监控主机信息
vim zabbix-api
curl -s -XPOST -H "Content-Type: application/json-rpc" -d '
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": [
"hostid",
"host"
],
"selectInterfaces": [
"interfaceid",
"ip"
]
},
"id": 2,
"auth": "38b08599972b4a489f07bc52231d71e7" ##此处是zabbix的API令牌
}' http://172.25.16.1/zabbix/api_jsonrpc.php | python -m json.tool
运行
- 删除主机
删除server2
server的hostid可以在配置-主机下,点开server2看地址栏
里写哪个hostid就删除哪个
在执行上一个脚本的返回值里也可以看得到server2的hostid
vim zabbix-api
curl -s -XPOST -H "Content-Type: application/json-rpc" -d '
{
"jsonrpc": "2.0",
"method": "host.delete",
"params": [
"10266"
],
"id": 2,
"auth": "38b08599972b4a489f07bc52231d71e7"
}' http://172.25.16.1/zabbix/api_jsonrpc.php | python -m json.tool
运行
此时主机列表里已经没有了server2
- 添加主机
首先我们要知道两个id
templateid
groupid
改配置文件
vim zabbix-api
curl -s -XPOST -H "Content-Type: application/json-rpc" -d '
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "server2",
"interfaces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": "172.25.16.2", #添加主机的ip
"dns": "",
"port": "10050"
}
],
"groups": [
{
"groupid": "2" #刚才查到的groupid
}
],
"templates": [
{
"templateid": "10001" #刚才查到的templateid
}
]
},
"id": 2,
"auth": "38b08599972b4a489f07bc52231d71e7" #api令牌
}' http://172.25.16.1/zabbix/api_jsonrpc.php | python -m json.tool
运行
到浏览器查看
已出现