教你如何配置Nagios来监控Windows Server

日期: 2011-06-16 作者:Sander van Vugt翻译:王启 来源:TechTarget中国 英文

Nagios是多功能的网络监控系统,可以帮助你轻松监控数据中心的各个设备。它对Linux系统支持一定的开箱即用性,但对于通过使用NSClient++,你也可以利用Nagios监控Windows Server。   在Nagios的环境中监控Windows有几种不同的模式。本文讨论的比较简单的方法是使用check_nt命令,这条命令在Nagios的commands.cfg文件中已经被定义了。

在以后的文章中,你还会学到怎样配置Nagios Remote Plugin Executor(NRPE)。   首先,监控你的Windows环境的第一步是到http://sourceforge.net/pro……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

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来进行精确的调整。

翻译

王启
王启

相关推荐