Zabbix3.0 API調用


Zabbix API 是什么?

API簡單來說是服務對外開放的一個接口,用戶通過該接口傳遞請求,完成操作。API的背后是一組方法的集合,這些方法實現了服務對應的不同功能,調用API實際上就是換了一種方式對服務進行操作,這種方式相較於Web操作更加高效,同時也容易集成到OMS平台上進行Zabbix功能的遠程調用。Zabbix API屬於WebAPI,調用的過程簡單理解就是向一個URL提交一份數據。Zabbix API采用Json-rpc協議提供遠程服務的調用,即用戶發送包含指定參數的Json格式的調用信息給Server,Server返回包含指定參數的Json格式的答復信息給用戶。Zabbix API還定義了一組方法和參數來供用戶調用Zabbix對應的功能,比如user.login、host.get等,這背后的實現實際上是Zabbix代碼中對應的一組對象和函數。

Zabbix API官方文檔:https://www.zabbix.com/documentation/3.0/manual/api

Json-rpc輕量級遠程調用協議

RPC叫遠程過程調用協議,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。簡單來說,RPC協議定義了兩組信息,分別是調用信息和答復信息,客戶端和服務端都按照RPC協議進行通信,調用服務。問題在於數據采用什么格式傳輸呢?

Json是一種輕量級的數據交換格式,不同的語言有相應的Json解析器負責將Json格式轉換為自己的數據結構。Json叫JS對象標記,繼承了JavaScript的語法,但從語法形式上更像Python,區別在於Python中的字典在Json中叫對象。

Json-rpc是基於json格式的遠程調用協議,簡答來說就是采用了Json作為數據交換格式的RPC協議。Json-rpc協議在調用和答復信息中規定了一些參數,比如method,params,id,request,error等。

我們可以總結一下協議是什么?協議就是一組所有人都遵從的行為規范,互聯網中的大部分協議其實都是在規定不同對象之間如何通信,如何交互,如何傳輸數據等。

理解Zabbix API對應的調用和答復信息及調用流程

 

這是Json格式的調用信息和答復信息,紅色框內的Key是Json-rpc協議規定的必須要有的參數,藍線部分是zabbix api內部定義的方法。

我們使用curl將Json格式的調用信息POST給API對應的URL,

服務器執行了我們的請求,將答復信息發送回來,從而完成整個的調用過程。

 建立API的思維

個人理解,API最大的好處有兩點:一是連接世界,二是避免重復。

我們身處的時代到處是分享、轉載、評論,這里面的核心都是API的使用,可以說API無處不在。同時對於產品設計而言,API既可以豐富產品功能,又能使開發更加方便,從此造汽車不用造輪子,蓋房子不用燒磚瓦。另一個方面,API可以也有其商業價值,既可以付費獲得一定的收入,也可以免費獲得廣泛的傳播。

API,API,干啥都用API。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM