Zabbix API 初探{"jsonrpc":"2.0","result":[],"id":1}

? ? 雙十一剁了手(是真的剁了手),今天在這手殘志堅(jiān),開始寫一些東西吧,做網(wǎng)絡(luò)運(yùn)維已經(jīng)有五六年,從現(xiàn)在開始養(yǎng)成記錄的良好習(xí)慣,希望不晚。

? ? 在運(yùn)維的過(guò)程中遇到問(wèn)題我大都首先會(huì)去谷歌(之前是用百度的,發(fā)現(xiàn)大多解決不了問(wèn)題或搜不到,問(wèn)各種技術(shù)群里的大神,或許問(wèn)題太簡(jiǎn)單沒人愿意回答,或許沒人懂。得到的最多的一句話是‘谷歌??!’,感謝這句話,現(xiàn)在讀英文文章的水平也有些許的提升吧),英文的資料會(huì)多一些,也大多能解決自己的問(wèn)題,也會(huì)遇到一些沒有答案的。盡量多寫一些我遇到的問(wèn)題,希望能給同行的兄弟姐妹們哪怕一點(diǎn)點(diǎn)的幫助。

? ? 最近部署了Zabbix(說(shuō)是最近,也有幾個(gè)月了吧),把一些基本的網(wǎng)絡(luò)設(shè)備如:交換機(jī)、路由器、防火墻、WLC等都加了進(jìn)來(lái)。領(lǐng)導(dǎo)心血來(lái)潮,要把之前安裝的智能PDU也要納入監(jiān)控,通過(guò)智能PDU監(jiān)控機(jī)房的溫濕度以及機(jī)柜的用電量信息。

? ? 第一步研究監(jiān)控的方法:肯定是基于SNMP監(jiān)控,Easy?。。⌒判臐M滿跟領(lǐng)導(dǎo)說(shuō)此事可行,好實(shí)現(xiàn),現(xiàn)實(shí)卻常常打臉。PDU的SNMP OID 找不到!廠商(RITTAL)產(chǎn)品網(wǎng)絡(luò)上沒有資料,只能廠商提供,廠商的項(xiàng)目負(fù)責(zé)人不懂技術(shù),技術(shù)支持又特別不給力,來(lái)來(lái)回回將近一個(gè)月才拿到我要的信息。

? ? 第二步制作模板:有了第一步的基礎(chǔ),制作模板相對(duì)來(lái)說(shuō)會(huì)比較簡(jiǎn)單一點(diǎn)。制作過(guò)程中注意Item中SNMP獲取到的值和日常使用的值的關(guān)系,一般做一些簡(jiǎn)單的倍數(shù)運(yùn)算就可以修正,然后改一下單位就好了。然后設(shè)置溫度、濕度、電流、電壓的告警,添加曲線圖就OK了。

模板包含內(nèi)容
主機(jī)last data

? ? 這里就不在介紹API是什么了,如果不知道的化自行百度吧,會(huì)得到很多像如下的解釋:? ? http://baijiahao.baidu.com/s?id=1597881116201407882&wfr=spider&for=pc

? ? 我的理解API就是允許你通過(guò)代碼的方式對(duì)系統(tǒng)進(jìn)行你需要的操作,就像我要把這200個(gè)PDU加入到Zabbix系統(tǒng)里并應(yīng)用相關(guān)的模板。

? ? 資料最準(zhǔn)確最詳細(xì)的肯定是官方文檔了,會(huì)列舉所有的操作所需要的參數(shù)以及方法:? ? https://www.zabbix.com/documentation/4.4/manual/api

? ? 測(cè)試的時(shí)候可以使用相關(guān)的工具如:Postman、Curl等進(jìn)行相關(guān)的測(cè)試,我選用了Curl進(jìn)行測(cè)試。

? ? 1、login方法獲取身份驗(yàn)證令牌,之后的所有操作都可以用這一串字符串做為認(rèn)證的信息。

user.login
返回結(jié)果

? ? 2、繼續(xù)測(cè)試其他方法

hostgroup.get

? ? 測(cè)試的時(shí)候發(fā)現(xiàn)問(wèn)題,返回結(jié)果總是為空,‘{"jsonrpc":"2.0","result":[],"id":1}’,試了其他方法也是這樣,user.login可以返回正確的返回值,賬戶什么的應(yīng)該沒有問(wèn)題。

返回空值
返回空

? ? 有問(wèn)題怎么辦?百度唄,百度不行谷歌,大家可以根據(jù)返回信息‘{"jsonrpc":"2.0","result":[],"id":1}’自行百度或谷歌一下,我確實(shí)是沒有找到結(jié)果,谷歌上確實(shí)有人遇到過(guò)同樣的問(wèn)題,但是下面的回復(fù)全部是讓按照官方API的規(guī)則去使用,問(wèn)題是我根本就是按照API的規(guī)則寫的啊,哪有什么問(wèn)題。。。

? ? 經(jīng)過(guò)我不斷的思考以及嘗試,終于發(fā)現(xiàn)問(wèn)題原因。

? ? 首先確定Curl的賬戶權(quán)限問(wèn)題,即使root權(quán)限仍然不行。

? ? 然后確認(rèn)API 賬戶的權(quán)限問(wèn)題,為了防止權(quán)限問(wèn)題也已把API的測(cè)試賬戶和administrator賬戶放在了同一個(gè)組。經(jīng)過(guò)不斷嘗試發(fā)現(xiàn)是 User type問(wèn)題,改成Zabbix Super Admin就好了。

API_account


正常返回信息

然后可以進(jìn)行下一步了,批量添加主機(jī),下次更新。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容