1. 登录获取token
curl -i -X POST -H 'Content-Type: application/json' -d '{"jsonrpc": "2.0","method": "user.login","params": {"user": "Admin","password": "zabbix"},"auth":null,"id": "0"}' http://192.168.99.101:8082/api_jsonrpc.php
其中:192.168.99.101:8082是本地web浏览器访问zabbix的ip,端口如果是默认80,那么就可以省略端口。使用的时候需要替换成你自己的ip地址。id参数只是代表这次请求的编号,每次请求id +1就行
2. 查询所有的主机组
curl -i -X POST -H 'Content-Type:application/json' -d '{"jsonrpc":"2.0","method":"hostgroup.get","params":{"output": "extend"},"id":0, "auth": "7cdfaa82e27f3ee3e18dee9f6a2561dc" }' http://192.168.99.101:8082/api_jsonrpc.php
3. 创建模板
for tp in "template name1" "template name2" "template name3";do curl -i -X POST -H 'Content-Type:application/json' -d '{"jsonrpc":"2.0","method":"template.create","params":{"host": "'"$tp"'", "groups": {"groupid": 1}},"id":0, "auth": "7cdfaa82e27f3ee3e18dee9f6a2561dc" }' http://192.168.99.101:8082/api_jsonrpc.php ;done
其中: groupid表示template所在的group id, 可以根据上面的接口获得。
4. 查询已经注册的主机
curl -i -X POST -H 'Content-Type: application/json' -d '{"jsonrpc": "2.0","method":"host.get","params":{"output":["hostid","host"]},"auth": "b805bdde25ce04b776027ef574a8b6d4","id": 0}' http://192.168.99.101:8082/api_jsonrpc.php
5. 创建主机
curl -i -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0","method": "host.create","params": {"name": "your visible name", "host": "your host name", "interfaces": [{"type": 1, "main": 1, "useip": 1, "ip": "your agent ip", "dns": "", "port": "10050"},{"type": 2,"main": 1,"useip": 1,"ip": "your snmp ip","dns": "","port": "161","details": {"version": "2", "bulk": "0","community": "{$SNMP_COMMUNITY}"}}], "templates": [{"templateid": "10594"}, {"templateid": "10596"}], "groups": [{"groupid": "1"}]},"id":0, "auth": "9270654501a7551e0316c9383ebd5ced"}' http://192.168.99.102:8088/api_jsonrpc.php
注意:
zabbix 6.0: 蓝色的details参数是配置snmp的必须参数,缺少会报错。
zabbix 4.0: 删除蓝色的details参数即可。
6. 登出,注销token
curl -i -X POST -H "Content-Type: application/json" -d '{"jsonrpc": "2.0","method": "user.logout","params": {}, "id":0, "auth": "9270654501a7551e0316c9383ebd5ced" }' http://192.168.99.102:8088/api_jsonrpc.php
目的:防止下次还能使用该token进行操作