Zabbix API提供兩項主要功能:
遠程管理Zabbix配置
遠程檢索配置和歷史數據
官方文檔:https://www.zabbix.com/documentation/3.4/zh/manual/api
1、獲取一個身份認證
[root@zabbix ~]# curl -s -X POST -H 'Content-Type:application/json' -d'{"jsonrpc": "2.0","method":"user.login","params":{"user":"Admin","password":"zabbix"},"auth": null,"id":0}' http://10.0.0.200/zabbix/api_jsonrpc.php | python -m json.tool { "id": 0, "jsonrpc": "2.0", "result": "780edf281a71f9feff572791a2e497c4" } [root@zabbix ~]#
注:780edf281a71f9feff572791a2e497c4 這個就是要獲取的值;
2、獲取在線的所有主機名稱
https://www.zabbix.com/documentation/3.4/zh/manual/api/reference/host/get
[root@zabbix ~]# curl -s -X POST -H 'Content-Type:application/json' -d'{"jsonrpc": "2.0","method":"host.get","params":{"output":["host"]},"auth":"780edf281a71f9feff572791a2e497c4","id":1}' http://10.0.0.200/zabbix/api_jsonrpc.php | python -m json.tool { "id": 1, "jsonrpc": "2.0", "result": [ { "host": "Zabbix server", "hostid": "10084" }, { "host": "10.0.0.199", "hostid": "10265" }, { "host": "db01", "hostid": "10259" } ] } [root@zabbix ~]#
3、查詢指定模板內有哪些項
https://www.zabbix.com/documentation/3.4/zh/manual/api/reference/template/get
curl -s -X POST -H 'Content-Type:application/json' -d' { "jsonrpc": "2.0", "method": "template.get", "params": { "output": "extend", "filter": { "host": [ "Template OS Linux" ] } }, "auth": "780edf281a71f9feff572791a2e497c4", "id": 1 }' http://10.0.0.200/zabbix/api_jsonrpc.php | python -m json.tool
4、添加一個主機
https://www.zabbix.com/documentation/3.4/zh/manual/api/reference/host/create
curl -s -X POST -H 'Content-Type:application/json' -d' { "jsonrpc": "2.0", "method": "host.create", "params": { "host": "bjcnc-web01-25k-0000", #主機名 "interfaces": [ { "type": 1, #默認就可以 "main": 1, "useip": 1, "ip": "10.0.0.199", #zagent端IP地址 "dns": "", "port": "10050" #端口 } ], "groups": [ { "groupid": "15" #組的ID } ], "templates": [ { "templateid": "10001" #模板ID } ] }, "auth": "780edf281a71f9feff572791a2e497c4", #更改對應的認證密鑰 "id": 1 #默認即可 }' http://10.0.0.200/zabbix/api_jsonrpc.php | python -m json.tool
注:本次只是單純的添加,為給該主機指定模板