一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - 服務(wù)器知識 - 詳解如何調(diào)用zabbix API獲取主機

詳解如何調(diào)用zabbix API獲取主機

2021-07-24 17:18mindg 服務(wù)器知識

Zabbix API開始扮演著越來越重要的角色,尤其是在集成第三方軟件和自動化日常任務(wù)時。很難想象管理數(shù)千臺服務(wù)器而沒有自動化是多么的困難。Zabbix API為批量操作、第三方軟件集成以及其他作用提供可編程接口。這篇文章主要介紹

前言

zabbix 作為企業(yè)級的系統(tǒng)和網(wǎng)絡(luò)監(jiān)控方案,對于中小型公司來說基本可以很好的滿足對機器的監(jiān)控需求,因為其部署方便,操作簡單深受現(xiàn)在各個互聯(lián)網(wǎng)公司喜愛,所以現(xiàn)在基本的互聯(lián)網(wǎng)公司監(jiān)控用zabbix的非常多,當(dāng)你安裝好zabbix服務(wù)端 后,如果啟動自動注冊功能,在所有客戶機安裝后會自動在zabbix平臺上被監(jiān)控到,但這里有個問題,如果你機器數(shù)量非常少,如果還能數(shù)的過來那基本沒什么問題,但如果你機器上千臺了,這個時候那些機器被監(jiān)控中,那些沒被監(jiān)控,查起來就沒那么方便了,所以日常運維中經(jīng)常發(fā)現(xiàn)的問題就是某臺機器故障了但沒報警,經(jīng)查發(fā)現(xiàn)這臺機器zabbix客戶端因為某種原因?qū)е聸]有被服務(wù)端監(jiān)控到,像這種問題怎么辦呢?其實最簡單的方案就是從zabbix里獲取所有被監(jiān)控的服務(wù)器列表,然后跟運維資產(chǎn)數(shù)據(jù)庫去比對,如果數(shù)量一致,那說明監(jiān)控沒漏機器,如果比對不上,就把對不上的ip發(fā)出來再報個警就可以了,整體邏輯就是這樣。

zabbix api是在1.8版本中開始引進并且已經(jīng)被廣泛應(yīng)用。所有的zabbix移動客戶端都是基于api,甚至原生的web前端部分也是建立在它之上。zabbix api 中間件使得架構(gòu)更加模塊化也避免直接對數(shù)據(jù)庫進行操作。它允許你通過json rpc協(xié)議來創(chuàng)建、更新和獲取zabbix對象并且做任何你喜歡的操作【當(dāng)然前提是你擁有認(rèn)證賬戶】。

zabbix api提供兩項主要功能:

  • 遠程管理zabbix配置
  • 遠程檢索配置和歷史數(shù)據(jù)

我們今天用zabbix api獲取被監(jiān)控的所有機器列表

代碼如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/usr/bin/evn python
 
import requests
import json
 
zabix_root = 'http://10.0.1.29/zabbix'
url = zabix_root + '/api_jsonrpc.php'
 
# user.login
payload = {
 "jsonrpc" : "2.0",
 "method" : "user.login",
 "params": {
 'user': 'admin',
 'password':'',
 },
 "auth" : none,
 "id" : 0,
}
headers = {
 'content-type': 'application/json',
}
req = requests.post(url, json=payload, headers=headers)
auth = req.json()
 
# host.get
payload = {
 "jsonrpc" : "2.0",
 "method" : "host.get",
 "params": {
 'output': [
 'hostid',
 'name'],
 },
 "auth" : auth['result'],
 "id" : 2,
}
res2 = requests.post(url, data=json.dumps(payload), headers=headers)
res2 = res2.json()
 
for host in res2['result']:
 with open('host.txt', 'a+') as f:
 f.write(host['name'] + '\n)

腳本一共分二部分,第一部分是用戶登錄,登錄后然后獲取主機列表,最后寫到一個文件里去,所以腳本運行的結(jié)果是生成一個所有被監(jiān)控的ip列表,通過這個列表你就可以去跟你的資產(chǎn)庫信息去對比了,還有這個腳本用的requests,所以看起來要清爽很多,代碼比較簡單,就是二個post就不做太多解釋了。

總結(jié)

以上就是關(guān)于調(diào)用zabbix api獲取主機的全部內(nèi)容了,喜歡的小伙伴可以在此基礎(chǔ)上修改成合適自己業(yè)務(wù)的腳本,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

原文鏈接:https://www.mindg.cn/?p=1790

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 丫鬟粗大狠狠贯穿h | 北条麻妃黑人 | 幻女free性zozo交体内谢 | 无码精品一区二区三区免费视频 | 色综合九九 | 久久久伊人影院 | 久久视频在线视频观看天天看视频 | 艾秋麻豆果冻剧传媒在线播放 | 99热精品在线免费观看 | 亚洲精品123区在线观看 | 色综合中文字幕天天在线 | 四虎影视4hu最新地址在线884 | xxnx日本免费护士 | 乌克兰精品摘花处破 | 摸逼小说| 动漫美丽妇人1~2在线看 | 男同桌脱我奶罩吸我奶作文 | 动漫美丽妇人1~2在线看 | 精品国产国偷自产在线观看 | 国产免费大片 | 99久久久久久久 | 免费在线观看亚洲 | 国产一区二区在线观看美女 | 亚洲日本在线观看网址 | japanese乱子mate | 亚洲成人在线播放 | japanese日本护士 | 不知火舞被c视频在线播放 不卡一区二区三区卡 | 精品国产欧美一区二区 | 91小视频在线观看免费版高清 | 5x社区在线观看直接进入 | 69日本人xxxxxxxx色| 成年性午夜免费视频网站不卡 | eee在线播放成人免费 | 欧美国产在线观看 | 波多野结衣之双方调教在线观看 | 欧美性bbbbbxxxxxddd | 亚洲福利一区二区精品秒拍 | 3d动漫h在线观看网站蜜芽 | 欧美日韩在线观看一区二区 | 欧美一区二区三区高清不卡tv |