配置Nagios来监控Windows Server
创始人
2024-08-02 07:10:22
0

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远程桌面的那点事

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...