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

接下来进行监控windows主机

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

wKiom1kIVyuj9r-1AABFLmkoQH4036.jpg


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

wKiom1kIVwjDCueiAADRy4Bo8L0403.jpg

/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   设置密码            可以留空

底下的可以全部勾上允许

wKiom1kIV1TzIyf0AAB6-02E1_I489.jpg


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

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

5666 是NRPE使用的端口

wKiom1kIV2vSTtSjAAFgy4fXopI923.jpg


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

cd/usr/local/nagios/libexec/

可以看到有check_nt  文件wKiom1kIV6yxSE-gAADQO7TNkJo100.jpg

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

wKiom1kIV-TBG_lTAAAh7mp2brc303.jpg

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

wKioL1kIV_fAxuuYAAAwI94jLME786.jpg使用./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$

  }

wKioL1kIWGmAcc-JAAB-texF71Y380.jpg   

拷贝一份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

        }

wKioL1kIWLLzN0a3AABfu0n2Rvc677.jpg

定义主机

将 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     文件名为刚刚定义的文件,更改完成之后保存退出

wKiom1kIWSai8ujaAADAsHyLQyM347.jpg

检查语法

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

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

wKiom1kIWWThHlCTAADfevhoXQ8178.jpg

找到重复定义的

define command{

        command_name    check_nt

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

        }

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

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

wKiom1kIWdSSaYVcAADu3NiGdVk237.jpg-wh_50


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

wKioL1kIWfHQj2ZEAAAkCY2lgUk095.jpg

[root@linyangjun nagios]# service nagios restart

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

wKiom1kIWh7gm86cAAETEHEZdxs453.jpg

wKioL1kIWibytDk4AAIvTyl9se8633.jpg