怎么用Nagios监测Windows服务器

怎么用Nagios监测Windows服务器,第1张

监控主机配置:redhat linux as4,nagios3

被监控主机:Windows Server 2008 R2 Enterprise,nsclient++0.4.4.172

Nagios是一款开源的免费网络监视工具,其功能强大,灵活性强。能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。nagios监控windows系统有三种实现方式:SNMP、NSClient++、NRPE。

下面介绍使用NSClient++方式来监控Windows:

首先在windows下安装nsclient++,运行NSCP-0.4.0.172-x64.msi安装文件,一步一步往下走,其中需要设置nagios监控主机IP和NSClient密码(值当使用check_nt时使用),如图1所示:

Allowed hosts:填写nagios监控主机IP

NSClient Password:当使用命令check_nt时需要设置密码,根据自己情况设置

Module to load:根据自己的需要选择相应的模块

安装完毕以后,打开windows服务管理器,查看nsclient服务是否启动,如图2所示:

然后在nagios监控主机上面进行相关的配置,主要涉及两个配置文件nagios.cfg和windows.cfg

(1)因为nagios是模块化调用,先到配置文件打开windows相关模块,编辑nagios.cfg文件

[root@localhost etc]# ls

cgi.cfg htpasswd nagios.cfg nrpe.cfg objects objects.bak objects.tar resource.cfg

[root@localhost etc]# pwd

/usr/local/nagios/etc

[root@localhost etc]# vi nagios.cfg

将#cfg_file=/usr/local/nagios/etc/objects/windows.cfg该行前面的#注释去掉即可.

(1)修改windows.cfg配置文件,需要修改define host和define service两部分

# Define a host for the Windows machine we'll be monitoring

# Change the host_name, alias, and address to fit your situation

define host{

use windows-server Inherit default values from a template

host_name video4-beijing The name we're giving to this host 被监控主机的主机名

alias video4-beijing A longer name associated with the host

contact_groupssa

address 10.12.4.169 IP address of the host 被监控主机的IP

}

# Create a service for monitoring CPU load

# Change the host_name to match the name of the host you defined above

define service{

use generic-service

host_name video4-beijing

service_description CPU Load

check_command check_nt!CPULOAD!-l 5,80,90

contact_groups sa

}

# Create a service for monitoring

# Change the host_name to match the name of the host you defined above

define service{

use generic-service

host_name video4-beijing

service_description Memory Usage

check_command check_nt!MEMUSE!-w 80 -c 90

contact_groups sa

}

# Create a service for monitoring C:\ disk usage

# Change the host_name to match the name of the host you defined above

define service{

use generic-service

host_name video4-beijing

service_description C:\ Drive Space

check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90

contact_groups sa

}

修改完相关的配置文件以后,执行如下命令检查配置文件是否正确:

[root@localhost objects]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

遇到的问题,在检查配置文件时错误信息如下:

Checking services...

Error: Contact group 'admins' specified in service 'C:\ Drive Space' for host 'video4-beijing' is not defined anywhere!

Error: Contact group 'admins' specified in service 'Explorer' for host 'video4-beijing' is not defined anywhere!

Error: Contact group 'admins' specified in service 'Memory Usage' for host 'video4-beijing' is not defined anywhere!

Checked 14 services.

Checking hosts...

Error: Contact group 'admins' specified in host 'video4-beijing' is not defined anywhere!

Checked 7 hosts.

Checking host groups...

Checked 2 host groups.

Checking service groups...

Checked 0 service groups.

Checking contacts...

Checked 1 contacts.

Checking contact groups...

Checked 1 contact groups.

Checking service escalations...

Checked 0 service escalations.

Checking service dependencies...

Checked 0 service dependencies.

Checking host escalations...

Checked 0 host escalations.

Checking host dependencies...

Checked 0 host dependencies.

Checking commands...

Checked 25 commands.

Checking time periods...

Checked 5 time periods.

Checking for circular paths between hosts...

Checking for circular host and service dependencies...

Checking global event handlers...

Checking obsessive compulsive processor commands...

Checking misc settings...

Total Warnings: 0

Total Errors: 4

***>One or more problems was encountered while running the pre-flight check...

Check your configuration file(s) to ensure that they contain valid

directives and data defintions. If you are upgrading from a previous

version of Nagios, you should be aware that some variables/definitions

may have been removed or modified in this version. Make sure to read

the HTML documentation regarding the config files, as well as the

'Whats New' section to find out what has changed.

以上问题的原因是因为一开始在windows.cfg文件中定义host和service时没有增加contact_groups sa这个字段,host和service默认所在的contact_group为admins,而我的nagios监控主机contacts.cfg文件中配置的contactgroup为sa。

在命令行中运行Nagios

通常建议在添加到Nagios前,先在命令行中运行Nagios服务检测脚本。它会给出执行是否成功以及脚本的输出将会看上去的样子。

这些脚本存储在 /etc/nagios-plugins/config/ ,可执行文件在 /usr/lib/nagios/plugins/。

下面就是该怎么做

root@nagios:~# cd /etc/nagios-plugins/config/

提供的脚本包含了语法帮助。示例包含了部分输出。

root@nagios:~# cat /etc/nagios-plugins/config/tcp_udp.cfg

# 'check_tcp' command definition

define command{

command_namecheck_tcp

command_line/usr/lib/nagios/plugins/check_tcp -H '$HOSTADDRESS$' -p '$ARG1$'

了解了语法,TCP 80端口可以用下面的方法检查。

root@nagios:~# /usr/lib/nagios/plugins/check_tcp -H 10.10.10.1 -p 80

TCP OK - 0.000 second response time on port 80|time=0.000222s0.00000010.000000

示例拓扑

本片中使用下面三台服务器。每台服务器运行多个通用服务。Nagios服务器现在运行的是Ubuntu。

Server 1 (10.10.10.1) : MySQL, Apache2

Server 2 (10.10.10.2) : Postfix, Apache2

Server 3 (10.10.10.3) : DNS

首先,这些服务器被定义在了Nagios中。

root@nagios:~# vim /etc/nagios3/conf.d/example.cfg

define host{

use generic-host

host_name test-server-1

alias test-server-1

address 10.10.10.1

}

define host{

use generic-host

host_name test-server-2

alias test-server-2

address 10.10.10.2

}

define host{

use generic-host

host_name test-server-3

alias test-server-3

address 10.10.10.3

}


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/200175.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-02
下一篇2023-04-02

发表评论

登录后才能评论

评论列表(0条)

    保存