Nagios 监控Windows服务器(详细篇)

简介: 1. 监控内容 windows服务器的内部参数包括以下 a. 内存使用状况 b. CPU负载 c. 磁盘使用状况 d. 服务状态 e. 运行的进程 2. 监控原理 在windows服务器内安装NSClient++的监控引擎,nagios服务器通过check_nt来获取监控数据 3.

1. 监控内容

windows服务器的内部参数包括以下

a. 内存使用状况

b. CPU负载

c. 磁盘使用状况

d. 服务状态

e. 运行的进程

2. 监控原理

在windows服务器内安装NSClient++的监控引擎,nagios服务器通过check_nt来获取监控数据

3.配置步骤

a.修改启动参数

b.windows服务器安装监控引擎

c.在Nagios服务器内建立监控主机和监控服务配置

d.重新启动Nagios服务

4.确认已经配置是否存在

在/usr/local/nagios/etc/objects/commands.cfg中是否有以下内容(允许使用check_nt来监控windows服务)

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

在/usr/local/nagios/etc/object/templates.cfg中是否有以下内容(这个用于未来添加新主机的时候的范例)

define host{
        name                    windows-server  ; The name of this host template
        use                     generic-host    ; Inherit default values from the generic-host template
        check_period            24x7            ; By default, Windows servers are monitored round the clock
        check_interval          5               ; Actively check the server every 5 minutes
        retry_interval          1               ; Schedule host check retries at 1 minute intervals
        max_check_attempts      10              ; Check each server 10 times (max)
        check_command           check-host-alive        ; Default command to check if servers are "alive"
        notification_period     24x7            ; Send notification out at any time - day or night
        notification_interval   30              ; Resend notifications every 30 minutes
        notification_options    d,r             ; Only send notifications for specific host states
        contact_groups          admins          ; Notifications get sent to the admins by default
        hostgroups              windows-servers ; Host groups that Windows servers should be a member of
        register                0               ; DONT REGISTER THIS - ITS JUST A TEMPLATE
        }

5.nagios在第一次监控windows所必须修改的内容

修改/usr/local/nagios/etc/nagios.cfg

查找

#cfg_file=/usr/local/nagios/etc/objects/windows.cfg

改为

cfg_file=/usr/local/nagios/etc/objects/windows.cfg

保存文件。

/usr/local/nagios/etc/objects/windows.cfg 内包含了一些样例的主机、主机群和服务的定义模式。可以通过修改这些案例来测试监控对象。

6.安装windows监控引擎

下载NSClient++的安装包,注意根据实际的32/64CPU来下载

下载地址 http://sourceforge.net/projects/nscplus

安装方式,解压缩到C:\NSClient++

在指令模式下,在该目录下面运行以下命令,注册NSCient++的服务

nsclient++ /install

将NSCient++作为启动进程

nsclient++ SysTray

在服务列表中找到NSClientpp的服务。双击打开该服务的配置窗口则在登录分页中将“允许服务与桌面交互”勾选上。

编辑NSC.INI,做以下更改

  • 在[Module]部分,除了CheckWMI.dll和RemoteConfiguration.dll这两行的注释不要去掉,其他DLL的注释都去掉。
  • 在[Setting]部分的password设定一个密码,并把前面的注释去掉。

password=secret-password 改为 password=123456

  • 在[Setting]部分的allowed_hosts部分设定Nagios的服务器IP或者设定一个IP段,并把前面的注释去掉。

allowed_hosts=192.168.200.249/32

  • 在[NSClient]部分将port前的注释去掉,确认port的端口号是12489

启动nsclient++服务

当右下角出现了一个蓝色十字的ICON这表示

7.配置Nagios

建立需要监控的windows主机和服务对象

编辑文件windows.cfg

/usr/local/nagios/etc/objects/windows.cfg

在host的定义部分,可以修改实例中的host_name,alias,address三个部分来的参数。第一个参数use则是继承了template.cfg中对Windows的监控参数

define host{
        use             windows-server  ; 从template中继承相关监控参数
        host_name       winserver       ; 主机名称
        alias           My Windows Server       ; 别名
        address         192.168.1.2     ; IP地址
        }

在Service定义部分

首先需要设定以下内容,用于确认监控对象的NSClient++的版本是否正确

define service{
	use			generic-service
	host_name			winserver
	service_description	NSClient++ Version
	check_command		check_nt!CLIENTVERSION
	}

然后是定义监控对象的正常运行时间

check_command           check_nt!UPTIME

随后是定义CPU的负载状况,下面的定义表示在5分钟内的平均负载超过80%则发出警告WARNING,而超过90%则是危机报警CRITICAL alert

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

定义内存负载状况,当内存使用率达到80则warning 90%则CRITICAL alert

check_command check_nt!MEMUSE!-w 80 -c 90

监控C盘空间,使用率达到80则warning 90%则CRITICAL alert

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

监控服务状态的格式,当服务停止了则发送CRITICAL alert

check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC

监控系统进程,当进程处于非运行状态时,则发送CRITICAL alert

check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe

8.密码设定

编辑/usr/local/nagios/etc/objects/commands.cfg 在check_nt部分中,command_line后面添加一个参数-s "NSClient主机的密码"

command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$

可以通过以下指令测试设备响应是否正常

/usr/local/nagios/libexec/check_nt -H 主机IP -p 12489 -s 密码 -v UPTIME

如果反馈的信息是System Uptime - 0 day(s) 8 hour(s) 44 minute(s) 则表示连接正常。

如果显示为could not fetch information from server,则有以下可能

密码不正确(最傻的可能,也是经常发生的可能)

服务器上有防火墙,需要开放12489端口。

在windows上的NSC.INI上的allow_hosts没有添加正确的nagios IP、

9.重新启动Nagios服务

在修改nagios配置文件之后,则可以运行/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

来验证配置文件是否正确。

service nagios restart

看看nagios的管理页面,被监控的windows服务器是否显示

 

参考资料

http://nagios.sourceforge.net/docs/3_0/monitoring-windows.html

 
目录
相关文章
|
SQL Apache Windows
Windows服务器80端口被占用的全面解决方案
在服务管理器中启动apache2服务,即可正常使用80端口。若系统中还安装了其他微软产品如sql等,也可尝试停止其服务进行测试,但请注意,SQL通常不会使用80端口,因此一般不会受到影响。以上就是关于80端口被system占用的详细解决方法,希望对你有所帮助。
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
363 2
|
Windows
Windows下版本控制器(SVN)-启动服务器端程序
Windows下版本控制器(SVN)-启动服务器端程序
683 4
|
存储 安全 Ubuntu
从Linux到Windows:阿里云服务器系统镜像适配场景与选择参考
阿里云为用户提供了丰富多样的服务器操作系统选择,以满足不同场景下的应用需求。目前,云服务器的操作系统镜像主要分为公共镜像、自定义镜像、共享镜像、镜像市场和社区镜像五大类。以下是对这些镜像类型的详细介绍及选择云服务器系统时需要考虑的因素,以供参考。
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
3904 0
|
运维 监控 安全
宝塔Windows面板:轻松管理服务器的图形化神器
宝塔Windows面板是一款专为Windows服务器用户设计的图形化管理工具,旨在简化IIS配置、环境搭建与安全管理等复杂操作。它支持一键部署全栈运行环境(如IIS/Apache、PHP、MySQL等),提供可视化站点管理、安全防护与监控功能,并拥有丰富的插件生态。无论是个人站长、开发者还是中小企业,都能通过这款免费工具快速搭建网站、优化性能并强化安全性。尽管在高版本IIS兼容性和插件丰富度上略逊于Linux版,但其零门槛操作和全面功能仍使其成为理想的入门级服务器管理解决方案。
1386 5
|
安全 数据库 Windows
解决Windows云服务器带宽和CPU利用率高的问题
本文针对Windows Server 2019 ×64系统,介绍如何排查云服务器带宽和CPU利用率过高的问题。通过任务管理器、性能监视器等工具定位高资源占用的进程,并根据进程是否正常采取相应措施。对于正常进程,建议优化或升级配置;对于异常进程,建议关闭进程并进行系统备份或还原。详细步骤包括使用“perfmon -res”查看资源使用情况,结合PID查找具体进程,分析处理后台任务、杀毒软件及应用程序的影响。
953 1
|
Windows
Windows系统云服务器配置多用户登录
本教程介绍了在Windows云服务器上配置远程桌面服务的详细步骤,包括安装桌面会话主机和远程桌面授权、允许多用户远程连接以及配置新用户并加入远程桌面用户组。通过添加角色和功能、设置组策略以及管理用户权限,实现多用户同时登录和远程访问。按照指引操作,可顺利完成服务器的远程访问配置,提升管理和使用效率。
2132 0
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
2691 1
|
存储 监控 数据中心
Microsoft System Center 2025 version 2503 Multilanguage - Windows 服务器管理软件
Microsoft System Center 2025 version 2503 Multilanguage - Windows 服务器管理软件
506 0

热门文章

最新文章