zabbix自動發現監控磁盤(iops和讀寫量)

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

對于磁盤有個iops的概念比較奇怪,想監控起來看下,利用zabbix的自動發現把每個磁盤的iops監控起來,思路:自動發現所有的磁盤,然后監控各個磁盤的iops。效果如下圖(iops和io讀寫大小),下圖監控的磁盤是個sdd的,iops今天監控起來后峰值有30k:

211902_BuhL_1588616.png

?

200915_Keuv_1588616.png

思路分為兩步,第一個,自動發現列出所有磁盤。第二個,監控每個磁盤的iops情況。

第一個實現如下:

先看一下自動發現腳本,使用python編寫,利用linux的/proc/diskstats記得 的磁盤信息發現所有的磁盤。腳本如下:cat /usr/local/zabbix/discover_disk.py

#coding:utf-8
try:import json
except:import simplejson as jsonimport commands(status, output) = commands.getstatusoutput('''cat /proc/diskstats |awk '{print $3}'|egrep 'sd|vd|hd'|egrep -v '[0-9]'|sort -u''')
if output:outputs = output.split('\n')disks = []for disk in  outputs:disks += [{'{#DISKONE}': disk}]print json.dumps({'data':disks},sort_keys=True,indent=4)
else:print 'discovery error'

運行結果如下(此機器上有兩個磁盤):

212257_82JZ_1588616.png

?

第二步,監控磁盤的iops,利用linux的/proc/diskstats的第四個字段和第八字段可監控讀和寫的iops,第四個記錄是記錄所有讀的次數,第八個字段是記錄所有寫的次數。通過zabbix上的差速率即可監控磁盤的iops。腳本如下:cat /usr/local/zabbix/check_disk.sh。腳本中-d后面跟磁盤名稱,-o后面跟需要讀取的磁盤的信息。(第六個字段和第十個字段分別代表讀的扇區和寫的扇區,*512就為讀寫的Byte了,通過這兩個字段可監控磁盤的io讀寫量)

#!/bin/sh
#   8       0 sda 76880282531 8117316 937263519846 4237854729 62989000438 35668103347 777694636224 1190396494 3 2895102137 899093508
while getopts "d:o:" opt
docase $opt ind ) disk=$OPTARG;;o ) option=$OPTARG;;? )echo 'parameter is wrong!'exit 1;;esac
done
if [ ! "${disk}" ] || [ ! "${option}" ];thenecho "parameter is null"        exit 1
fiif [[ ${option} == "read" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $6}'
elif [[ ${option} == "write" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $10}'
elif [[ ${option} == "readops" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $4}'
elif [[ ${option} == "writeops" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $8}'
elif [[ ${option} == "readtime" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $7}'
elif [[ ${option} == "writetime" ]];thencat /proc/diskstats |grep "${disk} "|awk '{print $11}'
fi

腳本運行結果如下:

212806_UYqS_1588616.png

?

兩步寫好后,zabbix agent加入如下配置,加完后重啟zabbix,配置如下:

cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/disk.conf?
UserParameter=disk.discover,python /usr/local/zabbix/discover_disk.py?
UserParameter=disk.status[*],sh /usr/local/zabbix/check_disk.sh -d $1 -o $2

?

加入好后在zabbix server運行檢測一下,自動發現結果如下:

213003_GdLH_1588616.png

監控磁盤的結果如下:

213106_KMsr_1588616.png

?

以上都測試沒問題就可以在zabbix的頁面上添加自動發現規則了。可以新建個模板,發現規則截圖如下:

213303_sv1l_1588616.png

自動發現發現所有的磁盤,發現后就要項目原型進行監控磁盤的iops了 ,{#DISKONE}代表每個磁盤。監控的項目配置如下:

213412_Z3l4_1588616.png

?

把自動發現模板應用到主機后,監控的項目如下:

213537_bn8H_1588616.png

?

附上本人的網絡課堂地址,如有興趣請點擊:?實踐哥

?

最后,附上zabbix監控磁盤ipos的模板的鏈接:

http://git.oschina.net/zhuangweihong/ops/blob/master/zbx_export_templates_discover_disk.xml?dir=0&filepath=zbx_export_templates_discover_disk.xml&oid=1b1864a25c8b016e4ff14fc35c9bbdb07235829e&sha=9562fe6af03280814dc421203c713e7de20228b6

轉載于:https://my.oschina.net/zhuangweihong/blog/887930

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259059.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259059.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259059.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一個表單同時向兩個頁面傳值

現在有一個表單<form action"AddNewstu.asp" METHOD"POST" ><INPUT TYPE "Text" NAME "name" SIZE "20"><BR></FORM>此表單向AddNewstu.asp頁面傳入了一個name的值&#xff0c;如果同時把name…

matlab內置函數fitgeotrans與transformPointsForward解析

最近研究3000fps的實現&#xff0c;看了網上給的一個matlab代碼&#xff0c;里面有提到init_shape到mean_shape的對齊&#xff0c;里面使用了fitgeotrans和transformPointsForward兩個函數。于是參考matlab help研究了一下這兩個函數. fitgeotrans函數 語法: tform fitgeotr…

【電腦使用經驗】怎么查看無線網絡中電腦的IP地址?

1、 2、 3、 4、 5、 轉載于:https://www.cnblogs.com/happykoukou/p/4437111.html

win8硬盤安裝Ubuntu14.04雙系統參考教程

硬盤安裝&#xff0c;無需光盤、U盤。win8為主。Ubuntu14.04為輔。可將Windows或Ubuntu設置為開機默認啟動項。在Ubuntu下可查看、操作Windows系統下的文件&#xff1b;適用于安裝和14.04版本號相近的Ubuntu系統。假設以上所述正是你所須要的。那么這可能是一篇您值得參考的教程…

oracle nvarchar2,varchar2,char,nchar說明

char(size)&#xff1a; 數據長度為size&#xff0c;不足的用空格補&#xff0c;超出后報錯。char類型的數據最大長度是2000字節或字符&#xff0c;每個字符長度依賴于數據庫字符集&#xff0c;數據按字符存儲還是字節存儲取決于nls_length_semantics參數。如果每個字符占兩個字…

散列表查找失敗平均查找長度_Python數據結構與算法56:排序與查找:沖突解決方案...

注&#xff1a;本文如涉及到代碼&#xff0c;均經過Python 3.7實際運行檢驗&#xff0c;保證其嚴謹性。本文閱讀時間約為6分鐘。前面說過&#xff0c;如果兩個數據項被散列映射到同一個槽&#xff0c;需要一個系統化的方法在散列表中保存第二個數據項&#xff0c;這個過程被稱為…

Face Alignment by 3000 FPS系列學習總結(一)

廣播&#xff1a; 如今的opencv已經提供了LBF的訓練和測試代碼&#xff0c;推薦閱讀 《使用OpenCV實現人臉關鍵點檢測》 face alignment 流程圖 train階段 測試階段 預處理 裁剪圖片 tr_data loadsamples(imgpathlistfile, 2); 說明&#xff1a; 本函數用于將原始圖片取…

acm常見算法及例題

1 acm常見算法及例題2 3 初期:4 一.基本算法:5 (1)枚舉. (poj1753,poj2965)6 (2)貪心(poj1328,poj2109,poj2586)7 (3)遞歸和分治法.8 (4)遞推.9 (5)構造法.(poj3295)10 (6)模擬法.(poj1068,poj2632,poj1573,poj2993,poj2996)11 二.圖算法…

2爬蟲基礎了解

1.什么是爬蟲爬蟲&#xff0c;即網絡爬蟲&#xff0c;大家可以理解為在網絡上爬行的一直蜘蛛&#xff0c;互聯網就比作一張大網&#xff0c;而爬蟲便是在這張網上爬來爬去的蜘蛛咯&#xff0c;如果它遇到資源&#xff0c;那么它就會抓取下來。想抓取什么&#xff1f;這個由你來…

js(function(){alert(‘’‘)})

function(){alert(sss)}是個匿名函數。沒有名字。所以沒有辦法調用。在外面加個括號&#xff0c;就變成了一個值&#xff0c;值的內容是函數的引用。例如var a (function(){"nop"})a 就是對這個函數的引用。有了名字&#xff0c;之后可以調用&#xff0c;例如a()現在…

macbook 移動硬盤無法寫入_如何升級MacBook筆記本的SSD硬盤-菜鳥折騰系列一

2010 年的時候買了 09 年末的 MACBOOK 小白&#xff0c;由于技術發展&#xff0c;軟件越來越吃硬件內存&#xff0c;現在2G 內存別提基本的工作了&#xff0c;連開機都有困難&#xff0c;每次一點就一個風火輪&#xff0c;基本就是一塊 13 寸的板磚了。。。眾所周知 HDD 機械硬…

face alignment by 3000 fps系列學習總結(二)

準備初始數據 mean_shape mean_shape就是訓練圖片所有ground_truth points的平均值.那么具體怎么做呢&#xff1f;是不是直接將特征點相加求平均值呢&#xff1f; 顯然這樣做是倉促和不準確的。因為圖片之間人臉是各式各樣的&#xff0c;收到光照、姿勢等各方面的影響。因此…

parasoft Jtest 使用教程:功能配置之查找錯誤

2019獨角獸企業重金招聘Python工程師標準>>> parasoft Jtest介紹和試用>>> 今天開始為大家帶來parasoft Jtest功能配置板塊教程&#xff0c;也是系列教程中最重要的一部分。 通過運行Jtest的BugDetective和使用最重要的一套規則來進行編碼標準靜態分析&…

kmp入門小結

void get_next(char *s) {int len strlen(s);int j 0; int k -1;while (j < len){if (k -1 || s[j] s[k]){j; k; next[j] k;}else k next[k];} } 設t next[i]; next[i] 表示的是 i之前最大的t滿足 s[0...t-1] s[i-t...i-1] 比如 0123 4 0123 5 &#xff0c;next[…

基于visual Studio2013解決面試題之0807strstr函數

&#xfeff;&#xfeff;&#xfeff;題目解決代碼及點評/*寫strstr函數簡單的遍歷去查找吧 */#include <iostream> #include <stdio.h>const char *my_strstr(const char *str, const char *sub_str) {// 遍歷for(int i 0; str[i] ! \0; i){int tem i; //tem保…

aop在項目中的實際運用_mypy在實際項目中的應用

我認為靜態類型似乎被吹捧過高了。盡管如此&#xff0c;mypy極低的侵入性能帶來許多好處。關于如何在現有的Python項目中添加類型&#xff0c;以下是我的一些想法&#xff0c;大致按重要性排序。首先確保mypy成功運行 Mypy上手時兩個很常見的問題有&#xff1a;1.Mypy沒有作為構…

face alignment by 3000 fps系列學習總結(三)

訓練 我們主要以3000fps matlab實現為敘述主體。 總體目標 我們需要為68個特征點的每一個特征點訓練5棵隨機樹&#xff0c;每棵樹4層深&#xff0c;即為所謂的隨機森林。 開始訓練 分配樣本 事實上&#xff0c;對于每個特征點&#xff0c;要訓練隨機森林&#xff0c;我們需…

HDU 2049 不容易系列之(4)——考新郎( 錯排 )

鏈接&#xff1a;傳送門思路&#xff1a;錯排水題&#xff0c;從N個人中選出M個人進行錯排&#xff0c;即 C(n,m)*d[m]補充&#xff1a;組合數C(n,m)能用double計算嗎&#xff1f;第二部分有解釋 Part 1. 分別求出來組合數的分子和分母然后相除/******************************…

級聯sql

select ID, PID, NAME,KEY from HS_DICT start with KEY HS_EXP_WORK_LOCATIONconnect by prior ID PID order by DISPLAYORDER轉載于:https://www.cnblogs.com/dazhaxie/p/3483532.html

獲取母版中的控件

1 通過findcontrol找控件ID需要在此事件中~因為Page_load中時是先內容頁加載然后才是母版頁加載 protected void Page_LoadComplete(object sender, EventArgs e) { Label2.Text "現在時間是" (Master.FindControl("Label1") as Label).Text; if (Reques…