創建監控項
存儲為NAS服務器時,才有showfpg命令,基本存儲無法使用。
默認情況下使用zabbix自帶的ssh客戶端方式來實現,如遇到zabbix自帶ssh無法登陸的情況,需要使用python或其他第三方來模擬ssh登錄 獲取信息
-
創建監控項,獲取初始信息
-
在進程中,使用js腳本 處理獲取到的信息
js腳本內容為:
data = value.trim().split('\n'); data = data.slice(2, -2); var data_dict = []; for (i=0;i<data.length;i++) { line = data[i].trim().replace(/\s+/g, ' ').split(' '); item = {}; item['FPG'] = line[0]; item['Mountpath'] = line[1]; sizes = Number(line[2]); free = Number(line[3]); used = sizes - free; item['size'] = sizes; item['used'] = used; item['Utilization'] = Math.round(((used * 100) / (sizes * 100)) * 10000) / 100.0 + '%'; item['ActiveStates'] = line[4]; item['State'] = line[7]; data_dict.push(item); } return JSON.stringify(data_dict)
添加並保存,至此監控項創建完成。
創建自動發現規則
監控項創建完成后,可以初步獲取到showfpg命令的所有信息,但還需要將信息按 每一個掛載區分開來,這里就需要用到自動發現。
在進程中,將"FPG"字段替換為一個宏變量,方便后續獲取單獨名稱
var reg = /"FPG"/g;
new_str = value.replace(reg, '"{#FPGNAME}"')
return new_str
更新保存,開始添加監控項原型。
在進程中,處理獲取到的值。
通過 JSONPath語法,獲取 json 中對應的鍵值,鍵名為創建監控項時,js中定義的 item 名稱
其他值的自動發現與該項相同,只需要修改對應的名稱為 item中對應的鍵名即可。(主要修改監控原型名稱,鍵值,以及進程中 JSONPath 語法對應的key,即上圖中划線部分)
觸發器的創建
其他觸發器同理。