zabbix裡面有個功能是自動發現,比如檔案系統和網絡卡的獲取的時候,因為預先無法知道這個網絡卡的名稱,所以就有了這個自動發現的功能,這裡我是因為要用到儲存池的自動發現,所以需要對資料進行生成
我們看下原生的介面的資料型別:
[root@lab8106 ~]# zabbix_get -s 127.0.0.1 -k "net.if.discovery"
":"enp3s0"},":"virbr0-nic"},":"docker0"},":"enp4s0"},":"enp2s0f0"},":"enp2s0f1"},":"virbr0"},":"lo"}]}
資料為格式化好了的json資料,這個地方弄了好半天,因為網上很多人是用字串拼接的方式,實際這個是字典巢狀了列表,列表又巢狀了字典,就是後面的地方開始沒弄懂怎麼有大括號的
我們同樣的來看看ceph原生的命令的json介面
[root@lab8106 ~]# ceph -s -f json
同樣也是這個型別的資料,好了,這裡直接上**:
def get_cluster_pools():
try:
pool_list=
data_dic = {}
cluster_pools = commands.getoutput('timeout 10 ceph osd pool ls -f json 2>/dev/null')
json_str = json.loads(cluster_pools)
for item in json_str:
pool_dic = {}
pool_dic[''] = str(item)
data_dic['data'] = pool_list
return json.dumps(data_dic,separators=(',', ':'))
except:
return 0
輸出如下
":"rbd"},":"metedata"},":"data"}]}
跟上面的格式一樣了,關鍵在對字典進行賦值的處理,然後進行乙個空格處理就完成了
還是接觸的太少,造成簡單的處理都需要花費比較久的時間
whywho
when
建立武漢-運維-磨渣
2016-10-28
Zabbix 自動發現 自動註冊
zabbix 為使用者提供了高效靈活的網路自動發現功能,有以下優點 ip 範圍 可用的外部服務 ftp ssh web pop3 imap tcp 等 來自 zabbix 客戶端的資訊 僅支援未加密模式 來自 snmp 客戶端的資訊 不支援 發現網路拓撲 網路發現由兩個階段組成 發現和動作 原理 z...
zabbix自動發現埠
通過批量實現自動發現埠,避免傻傻的乙個乙個新增 使用zabbix的discovery功能來實現監控。注意 自動發現埠,需要在sysctl.conf中修改下系統自動開啟埠的範圍如果不修改,net.ipv4.ip local port range 10240 65535會導致自動發現的埠有系統自動開啟的...
zabbix自動發現主機
zabbix自動發現,在新增主機數量較多的情況很好用。從發現到新增完成需要經過以下幾個步驟。後面會將一些錯誤原因進行分析 1 建立自動發現規則 延遲選項盡量不要選擇時間過長,否則會導致主機發現時間很慢 2 建立動作,用來將自動發現的主機進行分組和鏈結模板 這個時候等待幾分鐘,會在zabbix介面 監...