通过上一篇文章我们已经完成了nagios在Centos上的安装配置

接下来进行监控windows主机

nagios通过Nsclient++检测windows工作原理


nagios文件说明:

nagios配置文件存放于/etc/nagios中,其中nagios.cfg 为主配置文件。

objects 文件夹为各种类型的配置文件,


/etc/nagios/objects/command.cfg 定义的是命令对象

要让nagios能够读取配置文件,必须把配置文件信息添加至nagios.cfg配置信息中

例如:cfg_file=/etc/nagios/objects/commands.cfg

以及包涵整改配置文件夹:#cfg_dir=/etc/nagios/servers

/etc/nagios 中的resource.cfg 配置文件定义宏

/usr/local/nagios/libexec/ 目录下存放着32个宏(变量)可随意引用



让nagios监控windows主机

Nagios 检测windows最简便的方法是通过check_nt


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

下载对应版本的NSClient++


开始配置安装

在windows端安装NSClient++

安装过程

Allowed host:10.200.1.23 填写nagios主机地址

passwd 设置密码 可以留空

底下的可以全部勾上允许


安装完成之后,调出命令管理界面,使用netstat -an 命令可以看到已近启用了12489端口,并监听在0.0.0.0主机上

12489是check_nt 跟NSClient++通讯的端口

5666 是NRPE使用的端口


返回Nagios主机,进入:/usr/local/nagios/libexec/

cd/usr/local/nagios/libexec/

可以看到有check_nt 文件

使用./check_nt命令可以直接使用该命令 例如:./check_nt -H 10.200.1.147 -p 12489 -v UPTIME 可查看远程主机运行时间 注:-H 指定监控主机 -p 指定端口 -v 命令(查看运行时间)

通讯成功,表示两台主机之间已近可以正常检测

使用./check_nt -H 10.200.1.147 -p 12489 -v USEDDISKSPACE -w 80 -c 90 -l C 可检测C盘信息


在确定两台主机之间能够通过nsclient++正常通讯以后,开始配置服务器

cd /etc/nagios/objects 编辑commands.cfg 在文件最下端加入命令

define command {

command_name check_nt

command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $GRG2$

}

拷贝一份windows.cfg文件 重命名为win2016.cfg

编辑win2016.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.1.2 ; IP address of the host

}

定义主机

将 host_name winserver 更改名称为:winhost

alias My Windows Server 更改为:MY Windows Host

address 192.168.1.2 更改为对应的主机地址:例如:10.200.1.147


定义完主机之后开始定义服务


define service{

use generic-service

host_name windows

service_description NSClient++ Version

check_command check_nt!CLIENTVERSION

}

将所以定义服务的命令行中所有 host_name windows 都更换为host_name winhost 跟上面所定义的主机名称一致

使用命令 :.,$s@windowserver@windhost 可将当前行至最后一行中搜索windowserver 替换成winhost

修改完成之后保存退出


启用此配置文件

cd /etc/nagios 编辑nagios.cfg vim nagios.cfg

找到cfg_file=/etc/nagios/objects/

加入 cfg_file=/etc/nagios/objects/win2016.cfg 文件名为刚刚定义的文件,更改完成之后保存退出

检查语法

[root@linyangjun nagios]# /usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg

提示:commands.cfg' on line 240 有问题,提示重复

找到重复定义的

define command{

command_name check_nt

command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$

}

注释掉刚刚重复定义的即可

注释掉之后重新检测语法,


重新检查语法通过以后,重新启动nagios

[root@linyangjun nagios]# service nagios restart

启动完成之后,打开http://10.200.1.23/nagios/ 即可看到 winhos也在Host 检测目录里面