溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Nagios監(jiān)控NetAPP NAS存儲(chǔ)容量,Volume、Qtree

發(fā)布時(shí)間:2020-06-13 16:11:56 來(lái)源:網(wǎng)絡(luò) 閱讀:2242 作者:別摸我 欄目:移動(dòng)開(kāi)發(fā)

   作為一個(gè)資深的打醬油工作者,需要偶爾展現(xiàn)下自己的水平,好讓領(lǐng)導(dǎo)不認(rèn)為你是空氣, 當(dāng)然,更重要的是:打好醬油!


背景:公司使用Netapp v3240 NAS存儲(chǔ)提供CIFS共享,Qtree給應(yīng)用系統(tǒng)作為附件存儲(chǔ)。

     一天,某應(yīng)用系統(tǒng)突然附件無(wú)法上傳,排查后發(fā)現(xiàn)是Quota滿(mǎn)了,然后緊急擴(kuò)了下容量,就恢復(fù)了,這件事情上層領(lǐng)導(dǎo)不太滿(mǎn)意,因?yàn)槭怯脩?hù)報(bào)的故障給我們運(yùn)維,運(yùn)維事先并未及時(shí)發(fā)現(xiàn)。為了避免以后這類(lèi)事情再發(fā)生,領(lǐng)導(dǎo)提出需要一個(gè)方案,監(jiān)控Qtree使用率,并及時(shí)報(bào)警,好吧,我自報(bào)奮勇一下吧。


使用Nagios監(jiān)控:

   公司已經(jīng)有nagios監(jiān)控軟件了,我們都知道nagios非常強(qiáng)大,監(jiān)控插件非常多,你幾乎不用自己寫(xiě)監(jiān)控插件,去nagios exchange網(wǎng)站上搜索就可以了。

   nagios exchange網(wǎng)站:http://exchange.nagios.org ,找星級(jí)高的插件下載。


   我下載的是這個(gè)插件:http://exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/SAN-and-NAS/NetApp/check_netapp-2Ddu/details


   閱讀一下上面頁(yè)面的英文說(shuō)明,可以知道這個(gè)插件可以做什么,怎樣去使用,以及注意事項(xiàng)。


   下載下來(lái)一共4個(gè)文件:

FileDescription
check_netapp-duPlugin code(源碼)
netapp-shares.mapShare to volume mapping file(卷映射文件,我沒(méi)用)
netapp-gencacheCache generation (緩存文件)
NETWORK-APPLIANCE-MIB.txtNetApp MIBs (Netapp MIB庫(kù))

   簡(jiǎn)單解釋下插件的說(shuō)明文檔:

A very fast SNMP based disk space checker for NetApp NAS filers, which supports both Volumes and QTrees, also over 2TB.

一個(gè)基于SNMP協(xié)議的netapp NAS存儲(chǔ)磁盤(pán)空間檢測(cè)插件,支持Volume和Qtree,超過(guò)2TB也支持


This is a disk space checker for NetApp filers, based on an older plugin by Rob Hassing. The plugin interrogates the NAS via SNMP and supports both Volumes and subdirectories with user quota aka QTrees, also ones larger than 2TB.

介紹下插件之前的作者,插件查詢(xún)使用SNMP協(xié)議,支持Volume和子目錄的用戶(hù)quota配額(又叫做Qtrees).


The plugin uses a map file (netapp-shares.map) and some basic heuristics to translate Windows share names to volume/Qtree names (CIFS share names are not exposed via SNMP).

插件使用一個(gè)映射文件,和一些基本的方法將windows共享名轉(zhuǎn)換到volume/Qtree名,(CIFS共享名不能直接通過(guò)SNMP來(lái)查詢(xún))

###這個(gè)意思我猜是:如果想監(jiān)控\\share.company.com\share1這樣的共享文件夾,需要使用這個(gè)文件netapp-shares.map。###


Usage: 使用方法:

check_netapp-du -H host -v volume [-C community] -w warnpct -c critpct [--force-gencache] [--debug]

check_netapp-du -H 主機(jī)名/IP -v 卷名/Qtree名 [-C 共同體名] -w 警告值 -c 嚴(yán)重值 [--force-gencache] [--debug] ##--force-gencache是更新緩存,--debug是啟動(dòng)debug模式。


For performance reasons, the SNMP Volume and QTree IDs are looked up from a local cache file rather than retrieved from the NetApp filer every time. It will be necessary to regenerate this cache regularly, as volumes are added or changed on the NAS.

一些性能原因,SNMP 卷和qtree ids是從本地緩存文件中查詢(xún)的,從而不用每次都去netapp存儲(chǔ)里去現(xiàn)查。所以,當(dāng)NAS上有新卷被添加或者更改,必須重新生成緩存文件。


Since the running time of this cache generation may be too long for Nagios (depending on the global service check time-out), it is recommended to do this only from an interactive shell or a cron job. Run a check on any volume adding the "-–force-gencache" parameter to regenerate the volume ID cache. A sample script is provided which can be run from cron, provided you are running Opsview, and provided all NetApp filers are in the same host group.

建議使用一個(gè)crontab,定期更新緩存文件。


監(jiān)控步驟:

1.check_netapp-du放在nagios的libexec插件目錄,權(quán)限什么的我就不說(shuō)了。

2.less check_netapp-du,可以看到以下內(nèi)容:


$PROGNAME = "check_netapp-du";

$REVISION = "2.1b";

$ENV{'PATH'}='';

$ENV{'BASH_ENV'}='';

$ENV{'ENV'}='';


# Path to manual CIFS to volume/qtree map file

my $MAPFILE = "/data/scripts/nagios/NAS/netapp-shares.map";


# Path to NetApp MIB table (get it from http://www.protocolsoftware.com/documents/mibs/netapp.mib.txt)

my $MIBFILE = "/usr/share/snmp/mibs/NETWORK-APPLIANCE-MIB.txt";


# Path to locaiton of cache files

my $CACHEPATH = "/data/scripts/nagios/NAS";

3.目錄創(chuàng)建下,MIB庫(kù)到自己該去的位子,

   mkdir -p /data/scripts/nagios/NAS;cp NETWORK-APPLIANCE-MIB.txt /usr/share/snmp/mibs/


4.下面配置netapp存儲(chǔ)的SNMP:

   先看下已有的Qtree,選一個(gè)等會(huì)測(cè)試:

Nagios監(jiān)控NetAPP NAS存儲(chǔ)容量,Volume、Qtree

   配置SNMP:

Nagios監(jiān)控NetAPP NAS存儲(chǔ)容量,Volume、Qtree


5.測(cè)試下,看能不能得到想要的結(jié)果:

Nagios監(jiān)控NetAPP NAS存儲(chǔ)容量,Volume、Qtree

   成功了,看下百分比4.68%,和上面在netapp管理工具里看到的一樣吧。

   這個(gè)命令第一次成功執(zhí)行后,會(huì)生成這個(gè)緩存文件,下次再執(zhí)行SNMP查詢(xún),會(huì)先去這個(gè)緩存文件里取Qtree對(duì)應(yīng)的oid,再來(lái)用oid去通過(guò)該snmp查詢(xún)信息,oid可以理解為共享名對(duì)應(yīng)的一個(gè)數(shù)字唯一標(biāo)示符:    

[v_nashengzhi@BJS0-0TH libexec]$ ls -al /data/scripts/nagios/NAS/

total 12

drwxr-xr-x 2 nagios nagios 4096 Sep 13 10:08 .

drwxr-xr-x 3 nagios nagios 4096 Aug  9 15:32 ..

-rw-r--r-- 1 nagios nagios 1160 Sep 13 10:08 .netapp-oidcache.10.199.94.11

Nagios監(jiān)控NetAPP NAS存儲(chǔ)容量,Volume、Qtree


6.如果netapp nas上有新加的Qtree共享文件夾,那么緩存文件里還沒(méi)有這個(gè)oid,緩存文件不是實(shí)時(shí)更新,是觸發(fā)更新,需要執(zhí)行這個(gè)命令(或者自己寫(xiě)個(gè)crontab):

   [v_nashengzhi@BJS0-0TH libexec]$ sudo ./check_netapp-du -H 10.199.94.11 -v cljgshare -w 75 -c 90 --force-gencache

   隨便進(jìn)行1次查詢(xún),并強(qiáng)制更新緩存文件。


   7.好了,到此基本就監(jiān)控完成了,監(jiān)控的本質(zhì)還是SNMP,只要設(shè)備支持SNMP,我們得到MIB庫(kù)以后,對(duì)MIB庫(kù)里已經(jīng)定義好了的對(duì)象實(shí)施監(jiān)控,我這只是介紹下監(jiān)控腳本,因?yàn)槲野l(fā)現(xiàn)博客里很少有通過(guò)nagios監(jiān)控存儲(chǔ)設(shè)備的,都是監(jiān)控一些網(wǎng)絡(luò)設(shè)備居多。

   剩下的工作就是把要監(jiān)控的目錄加到nagios的服務(wù)項(xiàng)目里,來(lái)看看最后的監(jiān)控結(jié)果:

   

Nagios監(jiān)控NetAPP NAS存儲(chǔ)容量,Volume、Qtree


Nagios監(jiān)控NetAPP NAS存儲(chǔ)容量,Volume、Qtree

8.看看插件還支持哪些參數(shù):

[v_nashengzhi@BJS0-0TH libexec]$ sudo ./check_netapp-du --help

Password:

Sorry, try again.

Password:

check_netapp-du v2.1b (nagios-plugins 1.4.15)

The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute

copies of the plugins under the terms of the GNU General Public License.

For more information about these matters, see the file named COPYING.

Copyright (c) 2009 Rob Hassing, 2012 Peter Mc Aulay


This plugin reports the usage of a Netapp Storage volume


Usage: check_netapp-du -H <host> -v <volume> [-C community] -w <warn> -c <crit> [--force-gencach


-H, --hostname=HOST

  Name or IP address of host to check

-v, --volume=Volume

  Name of the volume to check

-C, --community=community

  SNMP read community (default public)

-w, --warning=X

  Percentage above which a WARNING status will result

-c, --critical=X

  Percentage above which a CRITICAL status will result

--force-gencache

  Force cache file generation (slow, don't use from Nagios)

--debug

  Show lots of debug messages

-V, --version

  Display program version


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI