Monitoring Windows Machines

监控windows主机

1.概述

如果想监控windwos主机就需要安装客户端,而这个客户端是Nagios plugin和windows机器之间的传递的介质.

那么这个客户端是NSClient++,Nagios服务器端使用check_nt插件和NSClient++插件进行数据交互.

2.监控windows的步骤

①.满足首次安装条件;

②.在windows主机上安装客户端;

③.创建新的主机和服务定义来监控windows主机;

④.重启Nagios守护进程

官方简化

1.check_nt命令已经添加至commands.cfg配置文件中,并且允许你使用check_nt来监控windows主机;

2.监控windows主机可以套用定义好的windows主机模板,配置文件为templates.cfg,并且允许你使用这个模板来监控主机.

①满足首次安装的安装条件

首次监控windwos主机时,首先需要做的是编辑nagios的配置文件

vim /usr/local/nagios/etc/nagios.cfg

#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
去掉开头井号(#)

cfg_file=/usr/local/nagios/etc/objects/windows.cfg

你可以在/usr/local/nagios/etc/objects/windows.cfg配置文件中定义你想要的主机和服务.

②安装客户端

在你想要监控widows主机之前,你需要在你的主机上安装客户端,官方推荐NSClient++插件,你可以在http://sourceforge.net/projects/nscplus.这个网站中找到它.

 

访问http://sourceforge.net/projects/nscplus.下载最新的NSClient++插件.


解压下载后的文件至C盘



运行cmd并更改至刚刚解压后的目录下


使用nsclient++ /install命令注册windows系统服务(此种安装方式局限于0.9以前的版本)


使用nsclient++ SysTray安装系统任务栏



 在windows系统服务中开启“属性” -> “登录” -> “运行服务于桌面交互” 


编辑NSC.INI配置文件
· 取消[modules]中所有注释的模块(.dll结尾),除了CheckWMI.dll 和RemoteConfiguration.dll.

· 更改[Settings]中‘password’选项用于设置客户端密码(可选)

· 取消[Settings]中‘allowed_hosts’选项注释,添加Nagios服务器IP地址,或者什么都不写代表允许所有主机

· 确认[NSClient]中‘port’选项注释已经去掉,并且已经设置为12489端口(默认为12489,可变)


使用nsclient++ /start启动服务
 


 如果安装成功,那么将有一个新的图标出现在你的系统托盘中,它是一个黄色圆圈并且中间有个黑色的‘M’



成功!现在就开始在Nagios服务器中添加Windows服务器的监控配置.
 

③创建新的主机和服务定义来监控windows主机


现在开始进行Nagios服务定义监控windows主机


打开并编辑windows配置文件


添加一个新的windows主机,首先需要定义一个host,你可以根据下面的实例来更改成要监控的windwos主机的信息.

建议增加windows监控主机时以主机为名称新建配置文件

cp /usr/local/nagios/etc/objects/windows.cfg /usr/local/nagios/etc/objects/<windowsIP>.cfg

在将nagios.cfg配置中新增一行

vim /usr/local/nagios/etc/nagios.cfg

cfg_file=/usr/local/nagios/etc/objects/<windowsIP>.cfg

define host{
    use windows-server ; Inherit default values from a Windows server template (make sure you keep this line!)
    host_name winserver
    alias My Windows Server
    address 192.168.1.2
}


添加下面服务定义,用来检测NSClient++ 插件的版本信息

define service{
    use generic-service
    host_name winserver
    service_description NSClient++ Version
    check_command check_nt!CLIENTVERSION
}

添加下面服务定义,用来检测windows服务器的运行时间

define service{
     use generic-service
     host_name winserver
     service_description Uptime
     check_command check_nt!UPTIME
}


添加下面服务定义,用来监控cpu使用率,在持续五分钟cpu使用率在80%以上报WARNING,在持续五分钟cpu使用率在90%以上报CRITICAL.

define service{
     use generic-service
     host_name winserver
     service_description CPU Load
     check_command check_nt!CPULOAD!-l 5,80,90
}

添加下面服务定义,用来监控内存使用并生成一个告警,80%以上报WARNING,90%以上报CRITICAL.

define service{
     use generic-service
     host_name winserver
     service_description Memory Usage
     check_command check_nt!MEMUSE!-w 80 -c 90
}


添加下面服务定义用来监控C盘使用量,若使用量在80%以上报WARNING,90%以上报CRITICAL.

define service{
     use generic-service
     host_name winserver
     service_description C:\ Drive Space
     check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90

}

-l 后跟需要监控的盘符

 

添加下面服务定义用来监控W3SVC进程是否正在运行,如果停止状态将会产生一个CRITICAL报警.

define service{
     use generic-service
     host_name winserver
     service_description W3SVC
     check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}



添加下面服务定义用来监控Explorer进程是否正在运行,如果停止状态将会产生一个CRITICAL报警.

define service{
     use generic-service
     host_name winserver
     service_description Explorer
     check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}


如果客户端设置了连接密码,那么需要在Nagios服务器上指定这个密码.

编辑

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$
}

其中-s后跟客户端设定的密码.

④重启Nagios守护进程

如果修改了Nagios配置文件,需要检查正确性在重启.



检查配置文件需要使用Nagios -v选项

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg


重启Nagios有三种方式
[1]脚本重启

/etc/rc.d/init.d/nagios restart

[2]网页重启

"Process" -> "Restart the Nagios Process"

[3]手动重启

kill -HUP <nagios_pid>

具体信息请移步至

http://nagios.sourceforge.net/docs/nagioscore/4/en/monitoring-windows.html

猜你喜欢

转载自leadercoo.iteye.com/blog/1962980