nagios利用NSCient監控遠程window主機

摘要:1、NSCient原理
2、NSClient++與NRPE NSClient++區別
3、Nagios對window主機的監控

1 簡介

Nagios對Windows主機的監控主要有三種方法 第一種是NSclient++ 第二種是NRPE 第三種是SNMP(不是很常用)。

1.1 NSClient的工作原理

NSClient++是用來監控Windows主機時安裝在Windows主機上的組件。被監控機上安裝NSClient,,當監控主機將監控請求發給NSClient後,NSClient直接完成監控,所有的監控是由NSClient完成的.不需要額外的插件。
NSClient++官網:http://www.nsclient.org/

nagios利用NSCient監控遠程window主機

1.2NRPE的工作原理

nagios利用NSCient監控遠程window主機

1.3 NSclient++與nrpe最大的區別

NSclient++的一個很大的問題,不靈活,沒有可擴展性.它只能完成自己本身包含的監控操作,不能由一些插件來擴展.好在NSclient++已經做的不錯了,基本上可以完全滿足我們的監控需要。

2 NSClient++ 安裝

2.1 軟件版本:NSCP-0.5.2.35-x64.msi

下載地址: http://www.nsclient.org/download/

2.2 安裝插件

nagios利用NSCient監控遠程window主機

nagios利用NSCient監控遠程window主機

nagios利用NSCient監控遠程window主機

nagios利用NSCient監控遠程window主機

2.3查看NSClient++配置文件

默認是安裝在C:\Program Files\NSClient++ 目錄下,NSC.ini即爲NSClient服務的配置文件,一般我們無需修改,但是當我們監控端的IP地址改變時,或者密碼忘記,即可以在這裏修改了。

nagios利用NSCient監控遠程window主機

2.4檢查監聽端口

nagios利用NSCient監控遠程window主機

3 配置nagios服務器

3.1 插件語法介紹

NSClient++ 是通過check_nt插件對window你主機進行監控,我們先了解check_nt語法

語法: check_nt -H host -v variable [-p port] [-w warning] [-c critical] [-l params] [-d SHOWALL] [-u] [-t timeout] 選項: -h, --help 顯示幫助
-V, --version 顯示版本信息
-H, --hostname=HOST 被監控主機名稱或IP
-p, --port=INTEGER 監控端口(默認爲1248,不過我的nagios安裝後端口爲12489)
-s, --secret=<password> 要求的密碼
-w, --warning=INTEGER 引發報警狀態的閥值
-c, --critical=INTEGER引發嚴重錯誤狀態的閥值
-t, --timeout=INTEGER 連接嘗試超時秒數 (默認 -l, --params=<parameters> 參數傳遞給指定的監控項 (見下文)
-d, --display={SHOWALL}顯示選項(目前僅支持SHOWALL)
-u, --unknown-timeout多長時間後返回 UNKNOWN)
-v, --variable=STRING 監控參數 監控參數: CLIENTVERSION = Get the NSClient version 如果用 -l <version> 指定版本號,則版本不同時會報警
CPULOAD = 最後X分鐘CPU的平均負載。
-l 格式爲:-l <minutes range>,<warning threshold>,<critical threshold>。 時間範圍不能超過 24*60分鐘
閥值是一個百分比,最多一次可以監控10個閥值,比如: ie: -l 60,90,95,120,90,95
UPTIME = 獲得主機開機時間。無指定參數,也沒有報警與錯誤閥值。
USEDDISKSPACE = 指定磁盤的使用率。只要求 -l 指定磁盤的驅動器號。用-w 指定報警閥值 用-c指定錯誤閥值
MEMUSE = 內存使用率。用-w 指定報警閥值 用-c指定錯誤閥值
SERVICESTATE = 監控一個或多個服務的狀態。-l 格式爲:-l <service1>,<service2>,<service3>,...。可以使用-d SHOWALL指定返回某個服務的狀態。
PROCSTATE = 監控某個或某幾個進程是否在運行。命令格式類似於SERVICESTAT
-l 格式爲:-l "\<performance object>\counter","<描述>“ 描述參數是可選的僅用於要求輸出浮點數的計數器

[root@nagios ~]# cd /usr/local/nagios/libexec/
[root@nagios libexec]# ./check_nt -H 192.168.4.56 -p 12489 -v UPTIME
System Uptime - 0 day(s) 0 hour(s) 0 minute(s) |uptime=0

過去5分鐘的平均值,80%的警告 90%緊急
[root@nagios libexec]# ./check_nt -H 192.168.4.56 -p 12489 -v CPULOAD -w 80 -c 90 -l 5,80,90
CPU Load 0% (5 min average) | '5 min avg Load'=0%;80;90;0;100

3.2 定義命令、主機、服務

(1) 定義命令

'check_nt' command definition

define command{
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$
}
註釋: $..$ 表示系統內置的宏,也就是所謂的變量
$USER1$ 表示插件所在的目錄 -
H 指定主機地址
$HOSTADDRESS$ 應用到哪個主機,就用哪個主機的地址
$ARG1$ 傳遞的參數,形參 -s 指定密碼 默認爲空
(2) 定義主機和服務
[root@nagios etc]# cd /usr/local/nagios/etc/objects/
[root@nagios objects]# cp windows.cfg win10.cfg
[root@nagios objects]# sed -i 's/winserver/window10/g' win10.cfg
[root@nagios objects]# sed -i 's/192.168.1.2/192.168.4.56/g' win10.cfg

3.3 nagios主配置文件中添加主機信息

[root@nagios etc]# vim /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/win10.cfg

3.4 檢查配置文件語法

[root@nagios objects]# service nagios configtest
Total Warnings: 0
Total Errors: 0

Things look okay - No serious problems were detected during the pre-flight check
Object precache file created:
/usr/local/nagios/var/objects.precache

3.4 重啓nagios服務

[root@nagios objects]# service nagios restart
Running configuration check...
Stopping nagios: done.
Starting nagios: done.

4 瀏覽器查看監控結果

4.1點擊左面的Current Status -> Hosts

4.2點擊Current Status -> Services 查看服務監控情況

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章