您好,登錄后才能下訂單哦!
作為一個資深的打醬油工作者,需要偶爾展現下自己的水平,好讓領導不認為你是空氣, 當然,更重要的是:打好醬油!
背景:公司使用Netapp v3240 NAS存儲提供CIFS共享,Qtree給應用系統作為附件存儲。
一天,某應用系統突然附件無法上傳,排查后發現是Quota滿了,然后緊急擴了下容量,就恢復了,這件事情上層領導不太滿意,因為是用戶報的故障給我們運維,運維事先并未及時發現。為了避免以后這類事情再發生,領導提出需要一個方案,監控Qtree使用率,并及時報警,好吧,我自報奮勇一下吧。
使用Nagios監控:
公司已經有nagios監控軟件了,我們都知道nagios非常強大,監控插件非常多,你幾乎不用自己寫監控插件,去nagios exchange網站上搜索就可以了。
nagios exchange網站:http://exchange.nagios.org ,找星級高的插件下載。
我下載的是這個插件:http://exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/SAN-and-NAS/NetApp/check_netapp-2Ddu/details
閱讀一下上面頁面的英文說明,可以知道這個插件可以做什么,怎樣去使用,以及注意事項。
下載下來一共4個文件:
File | Description |
---|---|
check_netapp-du | Plugin code(源碼) |
netapp-shares.map | Share to volume mapping file(卷映射文件,我沒用) |
netapp-gencache | Cache generation (緩存文件) |
NETWORK-APPLIANCE-MIB.txt | NetApp MIBs (Netapp MIB庫) |
簡單解釋下插件的說明文檔:
A very fast SNMP based disk space checker for NetApp NAS filers, which supports both Volumes and QTrees, also over 2TB.
一個基于SNMP協議的netapp NAS存儲磁盤空間檢測插件,支持Volume和Qtree,超過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.
介紹下插件之前的作者,插件查詢使用SNMP協議,支持Volume和子目錄的用戶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).
插件使用一個映射文件,和一些基本的方法將windows共享名轉換到volume/Qtree名,(CIFS共享名不能直接通過SNMP來查詢)
###這個意思我猜是:如果想監控\\share.company.com\share1這樣的共享文件夾,需要使用這個文件netapp-shares.map。###
Usage: 使用方法:
check_netapp-du -H host -v volume [-C community] -w warnpct -c critpct [--force-gencache] [--debug]
check_netapp-du -H 主機名/IP -v 卷名/Qtree名 [-C 共同體名] -w 警告值 -c 嚴重值 [--force-gencache] [--debug] ##--force-gencache是更新緩存,--debug是啟動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是從本地緩存文件中查詢的,從而不用每次都去netapp存儲里去現查。所以,當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.
建議使用一個crontab,定期更新緩存文件。
監控步驟:
1.check_netapp-du放在nagios的libexec插件目錄,權限什么的我就不說了。
2.less check_netapp-du,可以看到以下內容:
$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.目錄創建下,MIB庫到自己該去的位子,
mkdir -p /data/scripts/nagios/NAS;cp NETWORK-APPLIANCE-MIB.txt /usr/share/snmp/mibs/
4.下面配置netapp存儲的SNMP:
先看下已有的Qtree,選一個等會測試:
配置SNMP:
5.測試下,看能不能得到想要的結果:
成功了,看下百分比4.68%,和上面在netapp管理工具里看到的一樣吧。
這個命令第一次成功執行后,會生成這個緩存文件,下次再執行SNMP查詢,會先去這個緩存文件里取Qtree對應的oid,再來用oid去通過該snmp查詢信息,oid可以理解為共享名對應的一個數字唯一標示符:
[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
6.如果netapp nas上有新加的Qtree共享文件夾,那么緩存文件里還沒有這個oid,緩存文件不是實時更新,是觸發更新,需要執行這個命令(或者自己寫個crontab):
[v_nashengzhi@BJS0-0TH libexec]$ sudo ./check_netapp-du -H 10.199.94.11 -v cljgshare -w 75 -c 90 --force-gencache
隨便進行1次查詢,并強制更新緩存文件。
7.好了,到此基本就監控完成了,監控的本質還是SNMP,只要設備支持SNMP,我們得到MIB庫以后,對MIB庫里已經定義好了的對象實施監控,我這只是介紹下監控腳本,因為我發現博客里很少有通過nagios監控存儲設備的,都是監控一些網絡設備居多。
剩下的工作就是把要監控的目錄加到nagios的服務項目里,來看看最后的監控結果:
8.看看插件還支持哪些參數:
[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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。