登录请求(返回一个token,在后面的api中需要用到)
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.80.130/zabbix/api_jsonrpc.php | python -m json.tool
{
"id": 1,
"jsonrpc": "2.0",
"result": "940da948f7aabb512d71c13ced76699a"
}
host get
curl -s -X POST -H 'Content-Type:application/json' -d'
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output":["host"]
},
"auth": "940da948f7aabb512d71c13ced76699a",
"id": 1
}' http://192.168.80.130/zabbix/api_jsonrpc.php | python -m json.tool
{
"id": 1,
"jsonrpc": "2.0",
"result": [
{
"host": "Zabbix server",
"hostid": "10084"
},
{
"host": "linux-node2.example.com",
"hostid": "10117"
}
]
}
获取到了host和hostid 怎么查看


添加主机的api
修改配置

修改了ip groupid 和templateid(删除了官方的资产信息)
curl -s -X POST -H 'Content-Type:application/json' -d'
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "Linux server",
"interfaces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": "192.168.80.160",
"dns": "",
"port": "10050"
}
],
"groups": [
{
"groupid": "2"
}
],
"templates": [
{
"templateid": "10001"
}
]
},
"auth": "940da948f7aabb512d71c13ced76699a",
"id": 1
}' http://192.168.80.130/zabbix/api_jsonrpc.php | python -m json.tool

添加成功

创建主机api的应用脚本批量添加主机(list.txt写好需要添加主机的ip列表)
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.80.130/zabbix/api_jsonrpc.php | python -m json.tool`
jsson= echo "$tok" | grep result | awk -F '"' '{print $4}'
#create hosts
for ip in `cat 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": "11"
}
],
"templates": [
{
"templateid": "10001"
}
]
},
"auth": '"$jsson"',
"id": 1
}' http://192.168.80.130/zabbix/api_jsonrpc.php | python -m json.tool
done
运行报错了

下一篇:Zabbix分布式监控