zabbix-api 獲取監(jiān)控值的簡單介紹

一划鸽、zabbix api介紹

1.Zabbix API允許以編程方式檢索和修改Zabbix的配置搔体,并提供對歷史數(shù)據(jù)的訪問丁恭。它廣泛用于:

1)創(chuàng)建新的應(yīng)用程序以使用Zabbix

2)將Zabbix與第三方軟件集成

3)自動執(zhí)行常規(guī)任務(wù)

2.Zabbix API是基于Web的API,作為Web前端的一部分提供谚中。它使用JSON-RPC 2.0協(xié)議,這意味著兩件事:

1)該API包含一組獨(dú)立的方法寥枝;

2)客戶端和API之間的請求和響應(yīng)使用JSON格式進(jìn)行編碼宪塔。

3.Zabbix API由許多名義上分組的獨(dú)立API方法組成。每個方法執(zhí)行一個特定任務(wù)囊拜。例如某筐,方法 host.create 隸屬于 host 這個API分組 ,用于創(chuàng)建新主機(jī)冠跷。歷史上南誊,API分組有時被稱為“類”。

大多數(shù)API至少包含四種方法: get蜜托, create抄囚, update 和 delete ,分別是檢索橄务,創(chuàng)建幔托,更新和刪除數(shù)據(jù),但是某些API提供一套完全不同的一組方法仪糖。

根據(jù)單個或分布式平臺上不同軟件應(yīng)用程序間的數(shù)據(jù)共享性能柑司,可以將 API 分為四種類型:

1)遠(yuǎn)程過程調(diào)用(RPC):通過作用在共享數(shù)據(jù)緩存器上的過程(或任務(wù))實現(xiàn)程序間的通信。

2)標(biāo)準(zhǔn)查詢語言(SQL):是標(biāo)準(zhǔn)的訪問數(shù)據(jù)的查詢語言锅劝,通過通用數(shù)據(jù)庫實現(xiàn)應(yīng)用程序間的數(shù)據(jù)共享攒驰。

3)文件傳輸:文件傳輸通過發(fā)送格式化文件實現(xiàn)應(yīng)用程序間數(shù)據(jù)共享。

4)信息交付:指松耦合或緊耦合應(yīng)用程序間的小型格式化信息故爵,通過程序間的直接通信實現(xiàn)數(shù)據(jù)共享玻粪。

主機(jī)和主機(jī)組

一般來講隅津,Zabbix主機(jī)是指希望監(jiān)控的那些設(shè)備,例如服務(wù)器劲室、工作站伦仍、交換機(jī)等等。

創(chuàng)建主機(jī)是使用Zabbix過程中的一個首要任務(wù)很洋。例如充蓝,如果想在一臺服務(wù)器“X”上監(jiān)控一些參數(shù),必須首先創(chuàng)建一個主機(jī)稱之為“服務(wù)器X”喉磁,然后就可以查看添加監(jiān)控項到這臺“服務(wù)器X”上谓苟。

主機(jī)組是由主機(jī)組成的


4.zabbix-api調(diào)用地址:http://zabbix服務(wù)器地址/zabbix/api_jsonrpc.php

官網(wǎng)地址:https://www.zabbix.com/documentation/4.0/zh/manual/api??

5.獲取監(jiān)控項的步驟

1)獲取token的值

def getToken(self):

data = {

????????"jsonrpc":"2.0",? # API使用的JSON-RPC協(xié)議的版本

? ? ? ? "method":"user.login",? # 被調(diào)用的API方法名,用于登錄并獲取身份驗證令牌

? ? ? ? "params": {# 將被傳遞給API方法的參數(shù)

? ? ? ? ? ? "user":zabbix賬號,

? ? ? ? ? ? "password": zabbix登錄密碼

},

? ? ? ? "id":1,? # 請求的任意標(biāo)識符

? ? ? ? "auth":None? # 用戶認(rèn)證令牌; 因為我們還沒有一個,它的設(shè)置null

? ? }

r = requests.post(url=self.url, headers=headers, data=json.dumps(data))

token = json.loads(r.content).get("result")

return token

2)獲取hostid(此處根據(jù)主機(jī)名只獲取一個主機(jī)ID)

def getHosts(self):

data = { "jsonrpc": "2.0", "method": "host.get", # 使用 host.get 方法檢索所有已配置主機(jī)的ID协怒,主機(jī)名

"params": { "output": [ "hostid", "host" ] },

"id": 2,

"auth": self.token }

r = requests.post(url=self.url, headers=headers, data=json.dumps(data))

# hostid = json.loads(r.content).get("result")[0] #獲取zabbix-server的主機(jī)名涝焙,hostid

hostid = json.loads(r.content).get("result")[0].get("hostid") return hostid

3)獲取內(nèi)存總量

def get_web_time(self,hostid):? ? #傳入上一個方法反悔的hostid的值

data = {

"jsonrpc":"2.0",

? ? ? ? "method":"item.get",

? ? ? ? "params": {

"output":"extend",

? ? ? ? ? ? "hostids": hostid,

? ? ? ? ? ? "search": {

"key_":"vm.memory.size[total]"

? ? ? ? ? ? }

},

? ? ? ? "id":3,

? ? ? ? "auth":self.token

}

r = requests.post(url=self.url, headers=headers, data=json.dumps(data))

memory=int(json.loads(r.content).get("result")[0]["lastvalue"])/1024 /1024 /1024

? ? print 'total_memory:'+str(memory)+'GB'

6.目前為止使用過的方法

1)user.login? ? 用來獲取token值

2) host.get? ? ? 用來獲取主機(jī)信息

3)item.get? ? ? ?用來獲取item的監(jiān)控值

4)alert.get? ? ? ?用于獲取告警信息

5)triggers,get? ?獲取觸發(fā)器信息

6)httptest.get? ?方法允許根據(jù)給定的參數(shù)檢索Web場景?

其他方法請參考官方文檔:https://www.zabbix.com/documentation/4.0/zh/manual/api?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市孕暇,隨后出現(xiàn)的幾起案子仑撞,更是在濱河造成了極大的恐慌,老刑警劉巖妖滔,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件隧哮,死亡現(xiàn)場離奇詭異,居然都是意外死亡座舍,警方通過查閱死者的電腦和手機(jī)近迁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來簸州,“玉大人鉴竭,你說我怎么就攤上這事“痘耄” “怎么了搏存?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長矢洲。 經(jīng)常有香客問我璧眠,道長,這世上最難降的妖魔是什么读虏? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任责静,我火速辦了婚禮,結(jié)果婚禮上盖桥,老公的妹妹穿的比我還像新娘灾螃。我一直安慰自己,他們只是感情好揩徊,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布腰鬼。 她就那樣靜靜地躺著嵌赠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪熄赡。 梳的紋絲不亂的頭發(fā)上姜挺,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天,我揣著相機(jī)與錄音彼硫,去河邊找鬼炊豪。 笑死,一個胖子當(dāng)著我的面吹牛拧篮,可吹牛的內(nèi)容都是我干的溜在。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼他托,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了仆葡?” 一聲冷哼從身側(cè)響起赏参,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎沿盅,沒想到半個月后把篓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腰涧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年韧掩,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窖铡。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡疗锐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出费彼,到底是詐尸還是另有隱情滑臊,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布箍铲,位于F島的核電站雇卷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏颠猴。R本人自食惡果不足惜关划,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翘瓮。 院中可真熱鬧贮折,春花似錦、人聲如沸资盅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至振峻,卻和暖如春臼疫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背扣孟。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工烫堤, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人凤价。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓鸽斟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親利诺。 傳聞我的和親對象是個殘疾皇子富蓄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348