溫馨提示×

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

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

Nagios利用NSClient++監(jiān)控Windows主機(jī)(4)

發(fā)布時(shí)間:2020-04-10 13:21:09 來(lái)源:網(wǎng)絡(luò) 閱讀:20759 作者:skypeGNU1 欄目:移動(dòng)開(kāi)發(fā)

介紹

本文用來(lái)說(shuō)明如何監(jiān)控windows主機(jī)的本地服務(wù)和特性,包括:

  • 內(nèi)存占用率

  • CPU負(fù)載

  • disk利用率

  • 服務(wù)狀態(tài)

  • 運(yùn)行進(jìn)程等

    對(duì)windows機(jī)器的監(jiān)控私有服務(wù)需要在機(jī)器上安裝代理程序(agent)。代理將會(huì)在檢測(cè)插件與Nagios服務(wù)之間起網(wǎng)關(guān)代理作用。如果沒(méi)有在機(jī)器上安裝代理的話,Nagios將無(wú)法對(duì)windows私有服務(wù)或?qū)傩缘冗M(jìn)行監(jiān)控。

    下面的例子中,將在被監(jiān)控端的windows主機(jī)上安裝NSClient++外部構(gòu)件并在監(jiān)控中心使用check_nt插件檢測(cè)和玉NSClient++構(gòu)件進(jìn)行通信。

    在Nagios的libexec下有check_nt這個(gè)插件,它就是用來(lái)檢查windows機(jī)器的服務(wù)的。其功能類(lèi)似于check_nrpe。不過(guò)還需要搭配另外一個(gè)軟件NSClient++,它則類(lèi)似于NRPE。我們需要下載NSClient合適的版本,然后安裝在被監(jiān)控的windows主機(jī)上。


Overview of NRPE

Nagios利用NSClient++監(jiān)控Windows主機(jī)(4)

NSClient++的原理如下圖:
Nagios利用NSClient++監(jiān)控Windows主機(jī)(4)

可以看到NSClient與nrpe最大的區(qū)別就是:

  • NRPE: 被監(jiān)控機(jī)上安裝有nrpe,并且還有插件,最終的監(jiān)控是由這些插件來(lái)進(jìn)行的。當(dāng)監(jiān)控主機(jī)將監(jiān)控請(qǐng)求發(fā)給nrpe后,nrpe調(diào)用插件來(lái)完成監(jiān)控。

  • NSClient++: NSClient++則不同,被監(jiān)控機(jī)上只安裝NSClient,沒(méi)有任何的插件。當(dāng)監(jiān)控主機(jī)將監(jiān)控請(qǐng)求發(fā)給NSClient++后,NSClient直接完成監(jiān)控,所有的監(jiān)控是由NSClient完成的。

    這也說(shuō)明了NSClient++的一個(gè)很大的問(wèn)題:不靈活、沒(méi)有可擴(kuò)展性。它只能完成自己本身包含的監(jiān)控操作,不能由一些插件來(lái)擴(kuò)展。好在NSClient++已經(jīng)做的不錯(cuò)了,基本上可以完全滿(mǎn)足我們的監(jiān)控需求。

步驟:

為完成對(duì)windows主機(jī)的檢測(cè),有幾個(gè)步驟要做,他們是:

  • 在被監(jiān)控端的windows機(jī)器上安裝代理agent(本例中采用的NSClient++構(gòu)件)

  • 給windows機(jī)器創(chuàng)建新的主機(jī)和服務(wù)對(duì)象定義

  • 重啟Nagios守護(hù)進(jìn)程

1、在被監(jiān)控的windows主機(jī)上安裝NSClient++

從http://www.nsclient.org/nscp/downloads 下載NSClient++。安裝的過(guò)程和其他windows應(yīng)用程序的安裝過(guò)程類(lèi)似,next即可,選項(xiàng)我們都保持默認(rèn)。安裝過(guò)程中需要填寫(xiě)監(jiān)控端的IP地址和密碼,以及把下面的Modules全部勾選上。

Nagios利用NSClient++監(jiān)控Windows主機(jī)(4)

安裝完成后,我們查看是否啟用了5666和12489端口,如果有,表明NSClient服務(wù)啟動(dòng)正常。

Nagios利用NSClient++監(jiān)控Windows主機(jī)(4)

在“運(yùn)行”里面,輸入services.msc, 打開(kāi)“服務(wù)”

Nagios利用NSClient++監(jiān)控Windows主機(jī)(4)

如果看到NSClient++,說(shuō)明正常。

Nagios利用NSClient++監(jiān)控Windows主機(jī)(4)

2、編輯NSClient++的配置文件

默認(rèn)是安裝在C:\Program Files\NSClient++ 目錄下,nsclient.ini即為NSClient服務(wù)的配置文件,一般我們無(wú)需修改,但是當(dāng)我們監(jiān)控端的IP地址改變時(shí),或者密碼忘記,即可以在這里修改了。

Nagios利用NSClient++監(jiān)控Windows主機(jī)(4)

這樣外部就可以訪問(wèn)了嗎?

錯(cuò)!

防火墻也要打開(kāi)tcp的12489端口,否則nagios 檢查此服務(wù)的時(shí)候會(huì)報(bào)錯(cuò)。

這樣被監(jiān)控機(jī)的配置就搞定了,它就等待nagios 發(fā)出某個(gè)監(jiān)控請(qǐng)求,然后它執(zhí)行請(qǐng)求將監(jiān)控的結(jié)果發(fā)回到nagios監(jiān)控主機(jī)上。

3、在監(jiān)控端操作,檢測(cè)能否正常工作

[root@localhost ~]# cd /usr/local/nagios/libexec/
# 查看使用幫助
[root@localhost libexec]# ./check_nt -h
# 如果沒(méi)有指定端口,默認(rèn)使用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
# 沒(méi)有指定密碼
[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(小寫(xiě)L) 表示過(guò)去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
### 信息回顯格式
一般信息 | 資源的性能信息
他們之間輸出要用|隔開(kāi),如果自己開(kāi)發(fā)插件必須使用這種格式,如果
只輸出一般信息一行就行。

4、定義主機(jī)、服務(wù)、命令

[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 指定主機(jī)地址  
# $HOSTADDRESS$ 應(yīng)用到哪個(gè)主機(jī),就用哪個(gè)主機(jī)的地址
# $ARG1$傳遞的參數(shù),形參
# -s指定密碼,如果有需要加,如上面安裝時(shí)設(shè)置了密碼為123456

(2)定義主機(jī)

# 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)定義服務(wù)

# 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ù)第一個(gè)參數(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 ;傳遞兩過(guò)參數(shù)!CPULOAD 和-! -l 5,80,90 
        }

5、查看結(jié)果

    由于修改了配置文件,我們最好先檢查一下配置文件的語(yǔ)法。

# /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg

# 如果沒(méi)有問(wèn)題, 就可以重啟nagios服務(wù)
# service nagios restart

現(xiàn)在打開(kāi)Nagios Web監(jiān)控頁(yè)便可查看到相關(guān)信息了。

Nagios利用NSClient++監(jiān)控Windows主機(jī)(4)


更多詳細(xì)信息,請(qǐng)參考:

http://www.nsclient.org/nscp/wiki/doc/usage/nagios/nrpe


附件:http://down.51cto.com/data/2364701
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎ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