- 论坛徽章:
- 0
|
Nagios是多功能的网络监控系统,可以帮助你轻松监控数据中心的各个设备。它对Linux系统支持一定的开箱即用性,但对于通过使用NSClient++,你也可以利用Nagios监控Windows Server。\r\n 在Nagios的环境中监控Windows有几种不同的模式。本文讨论的比较简单的方法是使用check_nt命令,这条命令在Nagios的commands.cfg文件中已经被定义了。在以后的文章中,你还会学到怎样配置Nagios Remote Plugin Executor(NRPE)。\r\n 首先,监控你的Windows环境的第一步是到http://sourceforge.net/projects/nscplus下载并安装NSClient++。在下载之前先确定你需要哪种版本的软件。默认下载的是支持64位的版本。如果你需要在32位Windows下运行NSClient++,就需要从下载页的Files section下载32-bit MSI。\r\n 下载了NSClient++之后,打开Windows服务界面,配置NSClient++服务以便让它自动开始。同样的你还要确保服务日志与本地系统账户一同存在,而且可以从桌面自动运行。最后一步就是检查Windows防火墙。NSClient++在12489端口运行,确保你防火墙里这一端口是开着的。\r\n 配置Nagios服务器\r\n 配置好Windows的部分之后,你还得配置Nagios服务器。首先,确保check_nt命令在/etc/nagios/objects /commands.cfg都被定义了。还有一点改变,应用默认配置不使用密码了,所以在命令行末尾,加-s nagios(参见例1),以便让check_nt命令使用默认的密码“nagios”。\r\n # \'check_nt\' command definition\r\n define command{\r\n command_name check_nt\r\n command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ -s nagios\r\n }\r\n 例1:在命令行末尾加-s nagios,来让check_nt命令使用默认密码。\r\n 然后,在/etc/nagios/objects/templates.cfg,你需要模板来定义Windows主机应该怎样配置(例2会告诉你这个定义在默认状态下是怎么样的):\r\n define host{\r\n name windows-server ;(本主机模板的名字)\r\n use generic-host\r\n ;(继承通用主机模板的默认值)\r\n check_period 24x7 ;(默认将日夜不间断监控Windows servers)\r\n check_interval 5 ;(每五分钟主动检查服务器)\r\n retry_interval 1 ;(每隔一分钟,重试日程主机检查。)\r\n max_check_attempts 10 ; (每个服务器检查十遍(最多))\r\n check_command check-host-alive ;(检查服务器是否运转的默认命令。)\r\n notification_period 24x7 ;(在任何时段发送报告。)\r\n notification_interval 30 ;(每隔30分钟重复发送报告。)\r\n notification_options d,r ;(只为特定主机状况发送报告。)\r\n contact_groups admins ;(默认把报告发送给admins。)\r\n hostgroups windows-servers ;(主机把Windows servers分组为成员。)\r\n register 0 ;(不要注册这个,这只是个模板)\r\n }\r\n 例2:# Windows主机定义模板——不是真的主机,只是模板!\r\n核实模板存在之后,你需要通知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来进行精确的调整。\r\n\r\n |
|