nagios window客户端监控
环境:nagios server ip:192.168.1.2 客户端:192.168.1.78
这篇文档向你介绍怎样用Nagios去监控一个Windows主机的服务,包括:
- 内存使用Memory usage
- CPU负载CPU load
- 硬盘空间Disk usage
- 服务状态Service states
- 运行进程Running processes
- 等
原理图解
监控私有的服务和windows主机需要你安装一个agent到windows上,它就是NSClient++。
现在我们就在windows上来安装NSClient++ addon。用check_nt插件来和NSClient++ addon
交流信息。check_nt插件必须已经安装到Nagios server端了。
其它windows客户端(例如NC_Net)也能用来代替NSClient++。这里也不作讨论。
步骤:
监控一个新的Windows主机需要你按照一下几个步骤来进行,它们是:
1. 准备工作,也就是你有一个nagios监控系统,修改几处配置文件。
2. 安装客户端到要监控Windows上
3. 创建一个新的主机和服务来监控Windows主机
4. 重新起动Nagios
为了是你的工作更加简单,一些配置文件已经为你写好,你只需要做一些修改工作。
- 一个check_nt命令已经在commands.cfg文件中被定义,这样你就可以用check_nt插件来监控Window services了。
- 一个Windows server host 模板(叫做windows-server)也已经为你创建好了,在一个
- 叫做templates.cfg的文件中。这样你就可以简单的去添加一个Windows host definitions。
上面提到的所有文件都在/usr/local/nagios/etc/objects/目录下。你可以根据自己的需要去修改配置文件。但是现在你需要做得就是按照下面的说明去操作。
一:准备工作
如果这是你第一次用Nagios来监控Windows machine,你必须先修改一下文件,来监控你的“第一个”Windows machine。
A:编辑Nagios 的主配置文件
命令:vi /usr/local/nagios/etc/nagios.cfg
B:添加如下
cfg_file=/usr/local/nagios/etc/objects/192.168.1.78.cfg
C:保存并退出文件
二:安装windows客户端
Before you can begin monitoring private services and attributes of Windows machi
我这里选用的是NSClient++ addon,你可以在http://sourceforge.net/projects/nscplus.
找到它的身影。那么现在就让我们来安装NSClient++ addon吧。
1:若没有下载NSClient++ addon的最新版,请来这里转悠一下
2:解压NSClient++ files 到C:\NSClient++ 目录
3:打开一个命令提示符界面并转到C:\NSClient++ 目录
命令:cd C:\NSClient++
4:使用一下命令注册NSClient++ system service 到系统
命令:nsclient++ /install
5:安装NSClient++ 的systray ('SysTray' 大小写敏感):
命令:nsclient++ SysTray
注:我在几个电脑上都试过了,此条命令有点问题,但是我还是都执行了。
6:打开计算机管理服务和应用程序,在服务项中找到NSClientpp服务,打开此服务的选项卡
,找到“登录”选项卡,将登录身份下的本地系统帐户下的“允许服务与桌面交互” 选上,如下图:
7:编辑NSC.INI 文件 (在C:\NSClient++ 目录下),做以下修改:
- 在[modules]项中,将所有的*.dll前的注释去掉,除了CheckWMI.dll和RemoteConfiguration.dll
- 在[Settings]项中有客户端的密码设置,此项我还没有研究明白,暂时不做处理
- 在[Settings] 项中,去掉'allowed_hosts'前的注释,并把你的Nagios server 的IP填上。
- 例如:allowed_hosts=127.0.0.1,192.168.1.2
在[NSClient]项中,将'port'前的注释去掉,并保证端口号为'12489' (默认端口)
TIP:去掉注释就是将该行的第一个“;”号去掉,仅此而已。
8:在命令行下启动NSClient++ service
命令:nsclient++ /start
9:如果安装成功,在你的任务栏的右边将会出现两个“十字架”。
10:成功了,现在Windows server 就可以添加到Nagios monitoring configuration中了...
三:配置nagios
现在是为你的nagios定义objects的时间了。为了省力,我打了如下命令
cp/usr/local/nagios/etc/objects/windows.cfg /usr/local/nagios/etc/objects/192.168.1.78.cfg
1:打开192.168.1.78.cfg删掉注释行,做以下编辑
命令:vi /usr/local/nagios/etc/objects/192.168.1.78.cfg
以下是192.168.1.78.cfg文件的内容
define host{
use windows-server ;保留此行不做任何修改
host_name winserver ;可以修改为你喜欢的名字
alias My Windows Server ;别名
address 192.168.1.78 ;windows主机的IP
}
如果是你的“第一个”Windows machine,你也可以只修改IP那一项。
以下是服务的定义:
2:客户端的版本
define service{
use generic-service
host_name winserver ;对应上面你定义的名字
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
3:客户端的开机总时间
define service{
use generic-service
host_name winserver
service_description Uptime
check_command check_nt!UPTIME
}
4:CPU的使用
define service{
use generic-service
host_name winserver
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
5:内存的使用
如果超过90%则为CRITICAL,如果超过80%则为WARNING。
define service{
use generic-service
host_name winserver
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
6:C盘的使用
如果超过90%则为CRITICAL,如果超过80%则为WARNING。若要监控其它盘,将service_description C:\ Drive Space中的C改为D,E,或F等,将check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90中-l后的c改为对应的d,e,f等。
define service{
use generic-service
host_name winserver
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
7:Explorer的监控
监控Explorer程序是否在运行,当然你也可以修改-l之后的Explorer.exe,来监控其它程序的运行
define service{
use generic-service
host_name winserver
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}
8:增加Ftp监控
define service{
use generic-service
host_name winserver
service_description ftp
check_command check_ftp
}
保存此文件
四:密码保护(我的nagios及NSClient++没有密码设置)
如果你在NSClient++ 配置文件中定义了你的密码,你就必须修改你的check_nt命令
打开commands.cfg文件来编辑
命令:vi /usr/local/nagios/etc/commands.cfg
将check_nt命令中包含的"-s <PASSWORD>" 项的PASSWORD 改为你的windows上设定的密码
define command{
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$
}
Save the file.
五:重启nagios
此时你就会看到你监控的windows主机,如下图
转载于:https://blog.51cto.com/liuhaiqing/603199