今天真點背,上午調試站點,把監控報警給關了,中午忘記開啟,結果吃飯的時候,來電話了,說有兩臺服務器莫名其妙的down機了,這個把我嚇的,down機還好說,問題是為什么沒有報警了,吃完飯回去一問同事,說esxi存儲磁盤滿了,我了個去,趕緊想招登上服務器一看,上面開了5個虛擬機,都是線上生成報告的,目前是業務高峰期,磁盤那是蹭蹭往上漲啊,再一看,不對,每個虛擬機上還都跑著一個快照,我暈,趕緊叫同事把機器切換下來,刪除快照,這一刪不要緊,一刪就刪了將近6個小時,再次暈倒,完事趕緊掛上去,磁盤緊張問題是算處理好了,但是esxi本身存儲監控是個問題啊,如果不監控,這事還得復現,趕緊想招,最初想在esxi機器上通過shell 定時抓取磁盤信息,然后調用報警服務去報警,結果上面連bash都沒有,而且安裝都相當費勁,線上服務器都跑著呢,還是不搞的好,再次尋思,在nagios官網找了一個監控esxi disk的perl插件腳本,看了一下,哎,還真好使,至少能抓到esxi的磁盤信息了,接下來只需集成到nagios中就行了,上干就干,一調試,哎,不對啊了,比如設置警告為%90,結果磁盤空間壓根沒到90%就報警,反而到了90% 返回的卻是OK狀態,這可摸不著頭腦了,我想問題肯定出在perl腳本里面,于是從頭過濾了一下perl里面的代碼,發現
#my $value1 = simplify_number(convert_number($store->summary->freeSpace) / 1024 / 1024); 這樣一行代碼,這是計算剩余空間的代碼
于是簡單修改了一下:
my $value1 = simplify_number(convert_number($store->summary->capacity) /1024/1024 - convert_number($store->info->freeSpace) /1024 /1024);
換成計算已經使用量的代碼。結果一運行,OK。 算是解決問題了。其他代碼由于對perl不是很熟,所以也顧不上細看了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。