配置Nagios来监控Windows Server

系统 Windows
Nagios是多功能的网络监控系统,可以帮助你轻松监控数据中心的各个设备。它对Linux系统支持一定的开箱即用性,但对于通过使用NSClient++,你也可以利用Nagios监控Windows Server。

Nagios是多功能的网络监控系统,可以帮助你轻松监控数据中心的各个设备。它对Linux系统支持一定的开箱即用性,但对于通过使用NSClient++,你也可以利用Nagios监控Windows Server。

在Nagios的环境中监控Windows有几种不同的模式。本文讨论的比较简单的方法是使用check_nt命令,这条命令在Nagios的commands.cfg文件中已经被定义了。在以后的文章中,你还会学到怎样配置Nagios Remote Plugin Executor(NRPE)。

首先,监控你的Windows环境的***步是到http://sourceforge.net/projects/nscplus下载并安装NSClient++。在下载之前先确定你需要哪种版本的软件。默认下载的是支持64位的版本。如果你需要在32位Windows下运行NSClient++,就需要从下载页的Files section下载32-bit MSI。

下载了NSClient++之后,打开Windows服务界面,配置NSClient++服务以便让它自动开始。同样的你还要确保服务日志与本地系统账户一同存在,而且可以从桌面自动运行。***一步就是检查Windows防火墙。NSClient++在12489端口运行,确保你防火墙里这一端口是开着的。

配置Nagios服务器

配置好Windows的部分之后,你还得配置Nagios服务器。首先,确保check_nt命令在/etc/nagios/objects/commands.cfg都被定义了。还有一点改变,应用默认配置不使用密码了,所以在命令行末尾,加-s nagios(参见例1),以便让check_nt命令使用默认的密码“nagios”。

# 'check_nt' command definition
define command{
       command_name    check_nt
        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ -s nagios
        }

例1:在命令行末尾加-s nagios,来让check_nt命令使用默认密码。

然后,在/etc/nagios/objects/templates.cfg,你需要模板来定义Windows主机应该怎样配置(例2会告诉你这个定义在默认状态下是怎么样的):

define host{
        name                              windows-server ;(本主机模板的名字)
        use                                 generic-host

(继承通用主机模板的默认值)

        check_period                 24x7 ;(默认将日夜不间断监控Windows servers)
        check_interval                 5 ;(每五分钟主动检查服务器)
        retry_interval                   1 ;(每隔一分钟,重试日程主机检查。)
        max_check_attempts       10 ; (每个服务器检查十遍(最多))
        check_command             check-host-alive ;(检查服务器是否运转的默认命令。)
        notification_period           24x7 ;(在任何时段发送报告。)
        notification_interval          30 ;(每隔30分钟重复发送报告。)
        notification_options          d,r ;(只为特定主机状况发送报告。)
        contact_groups                admins ;(默认把报告发送给admins。)
        hostgroups                       windows-servers ;(主机把Windows servers分组为成员。)
        register                             0 ;(不要注册这个,这只是个模板)
        }

例2:# Windows主机定义模板——不是真的主机,只是模板!

核实模板存在之后,你需要通知Nagios还得监视Windows。通过取消注解cfg_file 行(例3会讲到)的方法,让Nagios看windows.cfg文件:

# Definitions for monitoring a Windows machine
cfg_file=/etc/nagios/objects/windows.cfg

例3:取消对cfg_file行的注解。

这样做之后,你可以定义Windows主机被监视。这一步在每个要被监视的windows主机都要做。你需要一个在windows.cfg文件中的定义主机项(见例4):

define host{
        use                                 windows-server  ;(从模板继承默认值。)
        host_name winserver       ;(我们给这台主机起的名字。)
        alias                                My Windows Server       ;(更长的名字来联系这个主机。)
        address                          192.168.1.54    ; IP address of the host (主机的IP地址)
        }

例4:定义主机部分

现在,为Windows配置Nagios的***一步就是定义你想要监控的设备。这也从windows.cfg文件发生。你可以在下文(例5)中找到这些设备的其中两个的例子。

#########################################################################
#########################################################################
#
# SERVICE DEFINITIONS
#
#########################################################################
#########################################################################
# Create a service for monitoring the version of NSCLient++ that is installed (创建一个设备来监视已安装NSCLient++的版本)
# Change the host_name to match the name of the host you defined above (改变host_name以符合之前已经定义的主机名称)
define service{
        use                                 generic-service
        host_name                     winserver
        service_description        NSClient++ Version
        check_command           check_nt!CLIENTVERSION
        }
# Create a service for monitoring the uptime of the server (创建一个设备来监控服务器的正常运行时间)
# Change the host_name to match the name of the host you defined above (改变host_name以符合之前已经定义的主机名称)
define service{
        use                                 generic-service
        host_name                     winserver
        service_description        Uptime
        check_command           check_nt!UPTIME
        }

例5:定义Nagios要监控的设备

阅读windows.cfg文件剩余的内容,找出哪些设备检查是可用的,确保所有需要的设备能用。一旦你做完这些,就可以保存你的改变并重启Nagios服务器,使用Nagios主机上的service nagios restart。这就可以激活改变,然后,你就能从Nagios界面监控Windows主机上的设备了。

在这篇文章,你学会了怎样为Windows配置Nagios,怎样使用check_nt程序监控基础Windows服务器范围。使用check_nt选项给你开了个好头,但是没法帮你监控更大的范围。你需要NRPE来进行深入研究。在以后的文章中,你将会学到如何配置NRPE来进行精确的调整。

【编辑推荐】

  1. 如何编写Nagios插件
  2. 使用Nagios监控Windows客户端
  3. 使用Nagios监视企业集群
  4. Cacti与Nagios网络监控的区别-Nagios的安装
  5. 打不开的exe服务 浅谈Windows远程桌面的那点事
责任编辑:张浩 来源: TechTarget中国
相关推荐

2011-03-22 15:17:14

Nagios安装

2011-03-31 16:11:22

Redhat配置nagios

2011-03-21 13:10:13

NagiosWindows

2011-03-24 11:03:05

Nagios监控Linux

2011-03-22 15:17:14

Nagios安装

2011-03-22 15:17:13

Nagios监控

2011-03-24 10:59:11

NagiosWindows监控

2011-03-25 14:25:38

NagiosWindows监控

2011-03-31 16:11:23

Redhat配置nagios

2009-03-11 18:49:36

LinuxNagios运维监控

2011-03-21 14:53:27

Nagios监控Linux

2011-04-06 14:24:21

Nagios监控Linux

2011-03-21 14:53:36

Nagios监控Linux

2011-04-06 14:24:20

Nagios监控Linux

2011-04-06 14:24:27

Nagios监控Linux

2011-03-23 15:13:08

Nagios监控Oracle

2011-03-22 09:03:47

Nagios配置

2011-03-25 14:40:33

Nagios监控

2011-03-31 16:10:47

Redhat配置nagios

2011-08-22 11:33:48

nagios
点赞
收藏

51CTO技术栈公众号