介紹
成都創(chuàng)新互聯(lián)擁有網(wǎng)站維護技術(shù)和項目管理團隊,建立的售前、實施和售后服務體系,為客戶提供定制化的做網(wǎng)站、網(wǎng)站建設、網(wǎng)站維護、達州托管服務器解決方案。為客戶網(wǎng)站安全和日常運維提供整體管家式外包優(yōu)質(zhì)服務。我們的網(wǎng)站維護服務覆蓋集團企業(yè)、上市公司、外企網(wǎng)站、成都做商城網(wǎng)站、政府網(wǎng)站等各類型客戶群體,為全球千余家企業(yè)提供全方位網(wǎng)站維護、服務器維護解決方案。本文用來說明如何監(jiān)控windows主機的本地服務和特性,包括:
內(nèi)存占用率
CPU負載
disk利用率
服務狀態(tài)
運行進程等
對windows機器的監(jiān)控私有服務需要在機器上安裝代理程序(agent)。代理將會在檢測插件與Nagios服務之間起網(wǎng)關(guān)代理作用。如果沒有在機器上安裝代理的話,Nagios將無法對windows私有服務或?qū)傩缘冗M行監(jiān)控。
下面的例子中,將在被監(jiān)控端的windows主機上安裝NSClient++外部構(gòu)件并在監(jiān)控中心使用check_nt插件檢測和玉NSClient++構(gòu)件進行通信。
在Nagios的libexec下有check_nt這個插件,它就是用來檢查windows機器的服務的。其功能類似于check_nrpe。不過還需要搭配另外一個軟件NSClient++,它則類似于NRPE。我們需要下載NSClient合適的版本,然后安裝在被監(jiān)控的windows主機上。
Overview of NRPE
NSClient++的原理如下圖:
可以看到NSClient與nrpe大的區(qū)別就是:
NRPE: 被監(jiān)控機上安裝有nrpe,并且還有插件,最終的監(jiān)控是由這些插件來進行的。當監(jiān)控主機將監(jiān)控請求發(fā)給nrpe后,nrpe調(diào)用插件來完成監(jiān)控。
NSClient++: NSClient++則不同,被監(jiān)控機上只安裝NSClient,沒有任何的插件。當監(jiān)控主機將監(jiān)控請求發(fā)給NSClient++后,NSClient直接完成監(jiān)控,所有的監(jiān)控是由NSClient完成的。
這也說明了NSClient++的一個很大的問題:不靈活、沒有可擴展性。它只能完成自己本身包含的監(jiān)控操作,不能由一些插件來擴展。好在NSClient++已經(jīng)做的不錯了,基本上可以完全滿足我們的監(jiān)控需求。
步驟:
為完成對windows主機的檢測,有幾個步驟要做,他們是:
在被監(jiān)控端的windows機器上安裝代理agent(本例中采用的NSClient++構(gòu)件)
給windows機器創(chuàng)建新的主機和服務對象定義
重啟Nagios守護進程
1、在被監(jiān)控的windows主機上安裝NSClient++
從http://www.nsclient.org/nscp/downloads 下載NSClient++。安裝的過程和其他windows應用程序的安裝過程類似,next即可,選項我們都保持默認。安裝過程中需要填寫監(jiān)控端的IP地址和密碼,以及把下面的Modules全部勾選上。
安裝完成后,我們查看是否啟用了5666和12489端口,如果有,表明NSClient服務啟動正常。
在“運行”里面,輸入services.msc, 打開“服務”
如果看到NSClient++,說明正常。
2、編輯NSClient++的配置文件
默認是安裝在C:\Program Files\NSClient++ 目錄下,nsclient.ini即為NSClient服務的配置文件,一般我們無需修改,但是當我們監(jiān)控端的IP地址改變時,或者密碼忘記,即可以在這里修改了。
這樣外部就可以訪問了嗎?
錯!
防火墻也要打開tcp的12489端口,否則nagios 檢查此服務的時候會報錯。
這樣被監(jiān)控機的配置就搞定了,它就等待nagios 發(fā)出某個監(jiān)控請求,然后它執(zhí)行請求將監(jiān)控的結(jié)果發(fā)回到nagios監(jiān)控主機上。
3、在監(jiān)控端操作,檢測能否正常工作
[root@localhost ~]# cd /usr/local/nagios/libexec/ # 查看使用幫助 [root@localhost libexec]# ./check_nt -h # 如果沒有指定端口,默認使用1248去連接 [root@localhost libexec]# ./check_nt -H 192.168.11.105 -v UPTIME connect to address 192.168.11.105 and port 1248: Connection refused could not fetch information from server # 沒有指定密碼 [root@localhost libexec]# ./check_nt -H 192.168.11.105 -p 12489 -v UPTIME NSClient - ERROR: Invalid password. # OK [root@localhost libexec]# ./check_nt -H 192.168.11.105 -p 12489 -s 123456 -v UPTIME System Uptime - 0 day(s) 0 hour(s) 51 minute(s) |uptime=51 [root@localhost libexec]# ./check_nt -H 192.168.11.105 -p 12489 -s 123456 -v CPULOAD -w 80 -c 90 -l 5,80,90 CPU Load 21% (5 min average) | '5 min avg Load'=21%;80;90;0;100 # -w 警告比例 -c 緊急比例 -l(小寫L) 表示過去5分鐘的平均值,80%為警告,90%為緊急 # ./check_nt -H 192.168.1.5 -p 12489 -s -v USEDDISKSPACE -w 80 -c 90 -l C C:\ - total: 50.01 Gb - used: 18.94 Gb (38%) - free 31.07 Gb (62%) | 'C:\ Used Space'=18.94Gb;40.01;45.01;0.00;50.01 ### 信息回顯格式 一般信息 | 資源的性能信息 他們之間輸出要用|隔開,如果自己開發(fā)插件必須使用這種格式,如果 只輸出一般信息一行就行。
4、定義主機、服務、命令
[root@localhost ~]# cd /etc/nagios/monitor/
(1)定義命令
# vi commands.cfg define command{ command_name check_win command_line $USER1$/check_nt -H "$HOSTADDRESS$" -p 12489 -s 123456 -v $ARG1$ $ARG2$ } # $..$表示系統(tǒng)內(nèi)置的宏,也就是所謂的變量 # $USER1$表示插件所在的目錄 # -H 指定主機地址 # $HOSTADDRESS$ 應用到哪個主機,就用哪個主機的地址 # $ARG1$傳遞的參數(shù),形參 # -s指定密碼,如果有需要加,如上面安裝時設置了密碼為123456
(2)定義主機
# vim hosts.cfg define host{ use windows-server host_name win-192.168.11.105 alias my win server address 192.168.11.105 }
(3)定義服務
# vi services.cfg define service{ use generic-service host_name win-192.168.11.105 service_description NSClient++ Version check_command check_win!CLIENTVERSION ;傳遞給-v 的參數(shù)第一個參數(shù) } define service{ use generic-service host_name win-192.168.11.105 service_description Uptime check_command check_win!UPTIME } define service{ use generic-service host_name win-192.168.11.105 service_description CPU Load check_command check_win!CPULOAD!-l 5,80,90 ;傳遞兩過參數(shù)!CPULOAD 和-! -l 5,80,90 }
5、查看結(jié)果
由于修改了配置文件,我們最好先檢查一下配置文件的語法。
# /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg # 如果沒有問題, 就可以重啟nagios服務 # service nagios restart
現(xiàn)在打開Nagios Web監(jiān)控頁便可查看到相關(guān)信息了。
更多詳細信息,請參考:
http://www.nsclient.org/nscp/wiki/doc/usage/nagios/nrpe
附件:http://down.51cto.com/data/2364701另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。