您好,登錄后才能下訂單哦!
NSClinet++監(jiān)控Windows主機(jī)的nagios插件
下載地址:https://nsclient.org/nscp/downloads
下載NSClient++-xxx-Win32
我們這里下載的是NSClient++-0.3.9-Win32.msi
安裝NSClient++
雙擊程序安裝,前面都點(diǎn)下一步,從下面可以看出來(lái)NSClient集成了很多的插件NRPE、NSCA等都支持
添加允許主機(jī)
下面沒(méi)什么需要注意的了,直接下一步,安裝完成就可以了。
服務(wù)開(kāi)啟以后可以看到服務(wù)端的端口開(kāi)啟了,NSClient++使用的是12489端口,而且我們也看到nrpe的端口也開(kāi)啟了
1、基于check_nt
Windows端安裝目錄下NSC.ini配置文件的要啟用的模塊:
[modules]
CheckSystem.dll
CheckDisk.dll
FileLogger.dll
NSClientListener.dll
[settings]
allowed_hosts = #允許的主機(jī)
Password= #密碼
修改配置后要重啟服務(wù):
nsclient++ /stop
nsclient++ /start
在nagios端使用如下命令測(cè)試:
check_nt -H <client ip> -p <port> -s <PASSWORD> -v <command> ...
# check_nt -H 172.16.100.66 -p 12489 -v CPULOAD -w 80 -c 90 -l5,80,90-s redhat
[root@node4 ~]# cd/usr/local/nagios/libexec/
[root@node4 libexec]#./check_nt -H 192.168.0.5 -p 12489 -v CPULOAD -w 80 -c 90 -l 5,80,90 -s redhat
CPU Load 0% (5 minaverage) | '5 min avgLoad'=0%;80;90;0;100
nagios端配置:
首先是命令配置: [root@node4 ~]# cd/usr/local/nagios/etc/objects/ [root@node4 objects]#vim commands.cfg define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489-s redhat -v $ARG1$ $ARG2$ } 然后是主機(jī)配置: # vim/usr/local/nagios/etc/objects/windows.cfg define host{ use windows-server ; Inherit default values from a template host_name winserver ; The name we're giving to this host alias My Windows Server ; A longer name associated with the host address 192.168.0.5 ; IP address of the host } ############################################################################### ############################################################################### # # HOST GROUPDEFINITIONS # ############################################################################### ############################################################################### # Define a hostgroupfor Windows machines # All hosts that usethe windows-server template will automatically be a member of this group define hostgroup{ hostgroup_name windows-servers ; The name of the hostgroup alias Windows Servers ; Long name of thegroup } ############################################################################### ############################################################################### # # SERVICE DEFINITIONS # ############################################################################### ############################################################################### # Create a servicefor monitoring the version of NSCLient++ that is installed # Change thehost_name to match the name of the host you defined above define service{ use generic-service host_name winserver service_description NSClient++ Version check_command check_nt!CLIENTVERSION } # Create a servicefor monitoring the uptime of the server # Change thehost_name to match the name of the host you defined above define service{ use generic-service host_name winserver service_description Uptime check_command check_nt!UPTIME } # Create a servicefor monitoring CPU load # Change thehost_name to match the name of the host you defined above define service{ use generic-service host_name winserver service_description CPU Load check_command check_nt!CPULOAD!-l 5,80,90 } # Create a servicefor monitoring memory usage # Change thehost_name to match the name of the host you defined above define service{ use generic-service host_name winserver service_description Memory Usage check_command check_nt!MEMUSE!-w 80 -c 90 } # Create a servicefor monitoring C:\ disk usage # Change thehost_name to match the name of the host you defined above define service{ use generic-service host_name winserver service_description C:\ Drive Space check_command check_nt!USEDDISKSPACE!-l c -w 80 -c90 } # Create a servicefor monitoring the W3SVC service # Change thehost_name to match the name of the host you defined above define service{ use generic-service host_name winserver service_description W3SVC check_command check_nt!SERVICESTATE!-d SHOWALL -lW3SVC } # Create a servicefor monitoring the Explorer.exe process # Change thehost_name to match the name of the host you defined above define service{ use generic-service host_name winserver service_description Explorer check_command check_nt!PROCSTATE!-d SHOWALL -lExplorer.exe } 在nagios配置文件內(nèi)添加一條cfg [root@node4 objects]# vim/usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/windows.cfg 做完上述的操作以后重啟nagios服務(wù)端的nagios服務(wù) [root@node4 objects]#service nagios restart Running configurationcheck...done. Stopping nagios: done. Starting nagios: done.
然后在nagios的web管理界面上你就會(huì)發(fā)現(xiàn)一個(gè)新的主機(jī)
而且服務(wù)里面也多出很多我們定義的服務(wù)
密碼保護(hù):
如果你在windows的機(jī)器上設(shè)置了密碼,你需要在commands.cfg配置文檔內(nèi)加上-s PASSWORD如下:
vi/usr/local/nagios/etc/objects/commands.cfg
define command{
command_name check_nt
command_line $USER1$/check_nt-H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$$ARG2$
}
Save the file.
2、基于NRPE
Windows上NSClient++要啟用如下模塊:
[modules]
CheckSystem.dll
CheckDisk.dll
CheckExternalScripts.dll
FileLogger.dll
NRPEListener.dll
NRPE specific settingin NSClient++
use_ssl #使用ssl
allow_arguments #是否允許nagios服務(wù)端傳遞參數(shù)過(guò)來(lái)
allow_nasty_meta_chars # 傳遞參數(shù)的時(shí)候是否可以包含一些&<>等字符
bind_to_address= #綁定在那個(gè)地址上,默認(rèn)監(jiān)聽(tīng)在0.0.0.0
allowed_hosts= #允許主機(jī)
check_nrpe語(yǔ)法:
check_nrpe ... -c<command> [-a <argument> <argument> <argument>]
check_nrpe的內(nèi)置命令:
·CheckAlwaysCRITICAL (check)
·CheckAlwaysOK (check)
·CheckAlwaysWARNING (check)
· CheckCPU(check)
·CheckCRITICAL (check)
·CheckCounter (check)
·CheckEventLog/CheckEventLog (check)
·CheckFile (check)
·CheckFileSize (check)
· CheckMem(check)
·CheckMultiple (check)
· CheckOK(check)
·CheckProcState (check)
·CheckServiceState (check)
·CheckTaskSched/CheckTaskSched (check)
·CheckUpTime (check)
·CheckVersion (check)
·CheckWARNING (check)
·CheckWMI/CheckWMI (check)
·CheckWMIValue (check)
用法如:
# check_nrpe ... -cCheckCPU -a warn=80 crit=90 time=20m time=10s time=4
Nagios端的配置:
1) Template
define host{
nametpl-windows-servers
usegeneric-host
check_period24x7
check_interval5
retry_interval1
max_check_attempts10
check_commandcheck-host-alive
notification_period24x7
notification_interval30
notification_optionsd,r
contact_groupsadmins
register0
}
2) 定義主機(jī):
define host{
usetpl-windows-servers
host_namewindowshost
aliasMy First Windows Server
address172.16.100.66
}
3) 定義服務(wù):
define service{
usegeneric-service
host_namewindowshost
service_descriptionCPU Load
check_commandcheck_nrpe!alias_cpu
}
define service{
usegeneric-service
host_namewindowshost
service_descriptionFree Space
check_commandcheck_nrpe!alias_disk
}
3、基于NSCA
[modules]
CheckSystem.dll
CheckDisk.dll
CheckExternalScripts.dll
CheckHelpers.dll
FileLogger.dll
NSCAAgent.dll
NSClient++配置
interval
encryption_method
password
nsca_host
修改配置后要重啟服務(wù)
1) 模板
define host{
nametpl-windows-servers ; Name of this template
usegeneric-host ; Inherit default values
check_period24x7
check_interval5
retry_interval1
max_check_attempts10
check_commandcheck-host-alive
notification_period24x7
notification_interval30
notification_optionsd,r
contact_groupsadmins
register0 ; DONT REGISTER THIS - ITS A TEMPLATE
}
2)主機(jī)配置
define host{
usetpl-windows-servers
host_namewindowshost
aliasMy First Windows Server
address172.16.100.66
active_checks_enabled0
passive_checks_enabled1
}
3)服務(wù)配置
define service{
usegeneric-service
host_namewindowshost
service_descriptionCPU Load
check_commandcheck_nrpe!alias_cpu
active_checks_enabled0
passive_checks_enabled1
}
define service{
usegeneric-service
host_namewindowshost
service_descriptionFree Space
check_commandcheck_nrpe!alias_disk
active_checks_enabled0
passive_checks_enabled1
}免責(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)容。