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
注:本次只是單純的添加,為給該主機指定模板


