用于調(diào)用Zabbix Api接入平臺(tái)展示監(jiān)控?cái)?shù)據(jù)
作者 | 日期 | 版本 |
---|---|---|
吳毅文 | 2017.06.28 | V1.0.0 |
一:接口概述(用于調(diào)用Zabbix Api接入平臺(tái)展示監(jiān)控?cái)?shù)據(jù))
HOST: 1.1.1.1
PORT: 80
PROTOECOL: HTTP
ADDRESS: http://1.1.1.1/api_jsonrpc.php
WAY: POST
二:user.login方法獲得認(rèn)證密鑰
作用之后拿取數(shù)據(jù)的參數(shù)
1:請(qǐng)求的方法參數(shù)
參數(shù)名稱 | 值類型 | 說明 | 是否必須 |
---|---|---|---|
jsonrpc | str | 接口版本 | 是 |
method | str | 請(qǐng)求方法 | 是 |
params | json | 請(qǐng)求方法參數(shù) | 是 |
user | str | zabbix賬號(hào) | 是 |
password | str | zabbix密碼 | 是 |
auth | str | 認(rèn)證的key | 是 |
id | int | 認(rèn)證id | 是 |
2:請(qǐng)求的示例
curl -i -X POST -H 'Content-Type:application/json' -d '{"jsonrpc":"2.0","method":"user.login","params":{"user":"admin","password":"7ujm6yhn5tgb"},"auth":null,"id":0}' http://10.10.194.180/api_jsonrpc.php
3:response數(shù)據(jù)格式
{"jsonrpc":"2.0","result":"b895ce91ba84fe247e444817c6773cc3","id":0}
三:hostgroup.get方法獲取所有主機(jī)組ID
1:請(qǐng)求的方法參數(shù)
參數(shù)名稱 | 值類型 | 說明 | 是否必須 |
---|---|---|---|
jsonrpc | str | 接口版本 | 是 |
method | str | 請(qǐng)求方法 | 是 |
params | json | 請(qǐng)求方法參數(shù) | 是 |
output | array | 輸出格式 | 是 |
groupid | str | 主機(jī)組id | 是 |
name | str | 主機(jī)組名 | 是 |
auth | str | 認(rèn)證的key | 是 |
id | int | 認(rèn)證id | 是 |
2:請(qǐng)求的示例
curl -i -X POST -H 'Content-Type:application/json' -d '{"jsonrpc": "2.0","method":"hostgroup.get","params":{"output":["groupid","name"]},"auth":"73912443e87995a7b6b253f7146513fa","id": 0}' http://10.10.194.180/api_jsonrpc.php
3:response數(shù)據(jù)格式
{"jsonrpc":"2.0","result":[{"groupid":"14","name":"Aliyun Server"},{"groupid":"13","name":"Database Server"},{"groupid":"5","name":"Discovered hosts"},{"groupid":"10","name":"Elasticsearch servers"},{"groupid":"8","name":"Hadoop servers"},{"groupid":"7","name":"Hypervisors"},{"groupid":"9","name":"Kafka servers"},{"groupid":"2","name":"Linux servers"},{"groupid":"12","name":"Ops server"},{"groupid":"15","name":"SSDK group"},{"groupid":"1","name":"Templates"},{"groupid":"6","name":"Virtual machines"}],"id":0}
四:host.get方法獲取單個(gè)主機(jī)組下所有的主機(jī)ID
1:請(qǐng)求的方法參數(shù)
參數(shù)名稱 | 值類型 | 說明 | 是否必須 |
---|---|---|---|
jsonrpc | str | 接口版本 | 是 |
method | str | 請(qǐng)求方法 | 是 |
params | json | 請(qǐng)求方法參數(shù) | 是 |
output | array | 輸出格式 | 是 |
groupids | str/array | 主機(jī)組id | 是 |
auth | str | 認(rèn)證的key | 是 |
id | int | 認(rèn)證id | 是 |
2:請(qǐng)求的示例
curl -i -X POST -H'Content-Type: application/json' -d '{"jsonrpc":"2.0","method":"host.get","params":{"output":["hostid","name"],"groupids":"14"},"auth":"73912443e87995a7b6b253f7146513fa","id": 0}' http://1.1.1.1/api_jsonrpc.php
3:response數(shù)據(jù)格式
{"jsonrpc":"2.0","result":[{"hostid":"10110","name":"Zabbix server"},{"hostid":"10132","name":"10.10.87.122"},{"hostid":"10163","name":"10.10.24.233"},{"hostid":"10169","name":"10.10.198.53"},{"hostid":"10221","name":"HN1A-app-node1"},{"hostid":"10225","name":"HN1A-ops-server1"},{"hostid":"10226","name":"HN1A-app-node2"},{"hostid":"10227","name":"HN1A-app-node3"},{"hostid":"10228","name":"HN1A-ES-node1"},{"hostid":"10229","name":"HN1A-ES-node2"},{"hostid":"10230","name":"HN1A-ES-node3"}],"id":0}
五:itemsid.get方法獲取單個(gè)主機(jī)下所有的監(jiān)控項(xiàng)ID
1:請(qǐng)求的方法參數(shù)
參數(shù)名稱 | 值類型 | 說明 | 是否必須 |
---|---|---|---|
jsonrpc | str | 接口版本 | 是 |
method | str | 請(qǐng)求方法 | 是 |
params | json | 請(qǐng)求方法參數(shù) | 是 |
output | array | 輸出格式 | 是 |
groupids | str/array | 主機(jī)組id | 是 |
auth | str | 認(rèn)證的key | 是 |
id | int | 認(rèn)證id | 是 |
2:請(qǐng)求的示例
curl -i -X POST -H 'Content-Type:application/json' -d '{"jsonrpc":"2.0","method":"item.get","params":{"output":"itemids","hostids":"10110"},"auth":"73912443e87995a7b6b253f7146513fa","id": 0}' http://1.1.1.1/api_jsonrpc.php
3:response數(shù)據(jù)格式
{"jsonrpc":"2.0","result":[{"itemid":"36141"},{"itemid":"32895"},{"itemid":"32894"},{"itemid":"35951"},{"itemid":"32893"},{"itemid":"32891"},{"itemid":"23933"},{"itemid":"23934"},{"itemid":"23935"},{"itemid":"36142"},{"itemid":"32902"},{"itemid":"32901"},{"itemid":"35952"},{"itemid":"32900"},{"itemid":"32898"},{"itemid":"36143"},{"itemid":"32909"},{"itemid":"32908"},{"itemid":"35953"},{"itemid":"32907"},{"itemid":"32905"},{"itemid":"36144"},{"itemid":"32916"},{"itemid":"32915"},{"itemid":"35954"},{"itemid":"32914"},{"itemid":"32912"},{"itemid":"36145"},{"itemid":"32923"},{"itemid":"32922"},{"itemid":"35955"},{"itemid":"32921"},{"itemid":"32919"},{"itemid":"36146"},{"itemid":"32930"}],"id":0}
六:history.get方法獲取單個(gè)監(jiān)控項(xiàng)的歷史數(shù)據(jù)
1:請(qǐng)求的方法參數(shù)
參數(shù)名稱 | 值類型 | 說明 | 是否必須 |
---|---|---|---|
jsonrpc | str | 接口版本 | 是 |
method | str | 請(qǐng)求方法 | 是 |
params | json | 請(qǐng)求方法參數(shù) | 是 |
history | int | 所返回的歷史對(duì)象類型. 0 - numeric float; 1 - character; 2 - log; 3 - numeric unsigned; 4 - text. Default: 3. | 是 |
itemids | str/array | 主機(jī)組id | 是 |
time_from | timestamp | 僅返回在給定時(shí)間之后或之后收到的值 | 否 |
itemids | timestamp | 僅返回在給定時(shí)間之前或之前收到的值 | 否 |
sortfield | str/array | 按照給定的屬性對(duì)結(jié)果進(jìn)行排序(可以是itemid或者clock) | 否 |
sortorder | str/array | ASC- 升序; DESC - 降序 | 否 |
limit | int | 限制返回采集最近幾次數(shù)據(jù)(通常帶上) | 否 |
countOutput | flag | 返回結(jié)果中的記錄數(shù),而不是實(shí)際的數(shù)據(jù) | 否 |
auth | str | 認(rèn)證的key | 是 |
id | int | 認(rèn)證id | 是 |
2:請(qǐng)求的示例
curl -i -X POST -H 'Content-Type:application/json' -d '{"jsonrpc":"2.0","method":"history.get","params":{"history":3,"itemids":"35953","output":"extend","limit":10},"auth":"73912443e87995a7b6b253f7146513fa","id": 0}' http://1.1.1.1/api_jsonrpc.php
3:response數(shù)據(jù)格式
{"jsonrpc":"2.0","result":[{"itemid":"35953","clock":"1490942679","value":"0","ns":"0"},{"itemid":"35953","clock":"1490942979","value":"0","ns":"0"},{"itemid":"35953","clock":"1490943280","value":"0","ns":"0"},{"itemid":"35953","clock":"1490943580","value":"0","ns":"0"},{"itemid":"35953","clock":"1490943880","value":"0","ns":"0"},{"itemid":"35953","clock":"1490944180","value":"0","ns":"0"},{"itemid":"35953","clock":"1490944480","value":"0","ns":"0"},{"itemid":"35953","clock":"1490944781","value":"0","ns":"0"},{"itemid":"35953","clock":"1490945085","value":"0","ns":"0"},{"itemid":"35953","clock":"1490945385","value":"0","ns":"0"}],"id":0}
注:要獲取最新數(shù)據(jù)limit為1即可
附:get方法的通用參數(shù)
參數(shù)名稱 | 值類型 | 說明 |
---|---|---|
countOutput | flag | 返回結(jié)果中的記錄數(shù)豺谈,而不是實(shí)際的數(shù)據(jù) |
editable | boolean | 如果設(shè)置為true僅返回用戶具有寫入權(quán)限的對(duì)象,默認(rèn)為false |
excludeSearch | flag | 返回與search參數(shù)中給出的標(biāo)準(zhǔn)不匹配的結(jié)果 |
filter | object | 僅返回與給定過濾器完全匹配的結(jié)果,接受一個(gè)數(shù)組,其中的鍵是屬性名稱,并且值是單個(gè)值或要匹配的值的數(shù)組 |
limit | int | 限制返回的記錄數(shù) |
output | query | 要返回的對(duì)象屬性,默認(rèn)值:extend |
preservekeys | flag | 在結(jié)果數(shù)組中使用ID作為鍵 |
search | object | 返回匹配給定通配符搜索的結(jié)果,接受一個(gè)數(shù)組,其中鍵是屬性名,值是要搜索的字符串.如果沒有額外的選項(xiàng),這將執(zhí)行LIKE “%…%”搜索,僅適用于string和text領(lǐng)域 |
searchByAny | boolean | 如果設(shè)置為true返回與filteror或search參數(shù)中給出的任何條件匹配的結(jié)果,而不是所有這些結(jié)果,默認(rèn)false |
searchWildcardsEnabled | boolean | 如果設(shè)置為true使能“*”作為search參數(shù)中的通配符,默認(rèn)值為false |
sortfield | str/array | 按照給定的屬性對(duì)結(jié)果進(jìn)行排序(可以是itemid或者clock) |
sortorder | str/array | ASC- 升序; DESC - 降序 |
startSearch | flag | 該search參數(shù)將比較領(lǐng)域的開始揖曾,也就是進(jìn)行LIKE “…%”搜索來代替 |
參考官網(wǎng):https://www.zabbix.com/documentation/3.0/manual/api