千家信息网

nagios利用NSCient监控远程window主机

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,摘要:1、NSCient原理2、NSClient++与NRPE NSClient++区别3、Nagios对window主机的监控1 简介Nagios对Windows主机的监控主要有三种方法 第一种是N
千家信息网最后更新 2024年11月22日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/

1.2NRPE的工作原理

1.3 NSclient++与nrpe最大的区别

NSclient++的一个很大的问题,不灵活,没有可扩展性.它只能完成自己本身包含的监控操作,不能由一些插件来扩展.好在NSclient++已经做的不错了,基本上可以完全满足我们的监控需要。

2 NSClient++ 安装

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

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

2.2 安装插件

2.3查看NSClient++配置文件

默认是安装在C:\Program Files\NSClient++ 目录下,NSC.ini即为NSClient服务的配置文件,一般我们无需修改,但是当我们监控端的IP地址改变时,或者密码忘记,即可以在这里修改了。

2.4检查监听端口

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= 要求的密码
-w, --warning=INTEGER 引发报警状态的阀值
-c, --critical=INTEGER引发严重错误状态的阀值
-t, --timeout=INTEGER 连接尝试超时秒数 (默认 -l, --params= 参数传递给指定的监控项 (见下文)
-d, --display={SHOWALL}显示选项(目前仅支持SHOWALL)
-u, --unknown-timeout多长时间后返回 UNKNOWN)
-v, --variable=STRING 监控参数 监控参数: CLIENTVERSION = Get the NSClient version 如果用 -l 指定版本号,则版本不同时会报警
CPULOAD = 最后X分钟CPU的平均负载。
-l 格式为:-l ,,。 时间范围不能超过 24*60分钟
阀值是一个百分比,最多一次可以监控10个阀值,比如: ie: -l 60,90,95,120,90,95
UPTIME = 获得主机开机时间。无指定参数,也没有报警与错误阀值。
USEDDISKSPACE = 指定磁盘的使用率。只要求 -l 指定磁盘的驱动器号。用-w 指定报警阀值 用-c指定错误阀值
MEMUSE = 内存使用率。用-w 指定报警阀值 用-c指定错误阀值
SERVICESTATE = 监控一个或多个服务的状态。-l 格式为:-l ,,,...。可以使用-d SHOWALL指定返回某个服务的状态。
PROCSTATE = 监控某个或某几个进程是否在运行。命令格式类似于SERVICESTAT
-l 格式为:-l "\\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 查看服务监控情况

0