Nagios 监控Windows计算机

本文档介绍如何监视Windows计算机的“专用”服务和属性,例如:

  • 内存使用情况
  • CPU负载
  • 磁盘使用情况
  • 服务状态
  • 运行过程
  • 等等

通过遵循有关监控公共可用服务的文档,可以轻松监视Windows机器提供的公共可用服务(HTTP,FTP,POP3等)。

注意:这些说明假定您已根据快速入门指南安装了Nagios 。如果您遵循快速入门,下面的示例配置条目将引用在安装的示例配置文件(commands.cfgtemplates.cfg等)中定义的对象。

总览

监视Windows计算机的专用服务或属性要求您在其上安装代理。该代理充当执行监视的Nagios插件与Windows计算机的实际服务或属性之间的代理。如果不在Windows框上安装代理,Nagios将无法监视Windows框的私有服务或属性。

步骤

要监视新的Windows计算机,您需要执行几个步骤。他们是:

  1. 在Windows上安装NCPA代理
  2. 配置NCPA
  3. 开始监控

在Windows上安装NCPA代理

安装NCPA代理

在开始监视Windows计算机的专用服务和属性之前,您需要在这些计算机上安装代理。我们建议使用Nagios跨平台代理,该代理可在https://www.nagios.org/ncpa/中找到。

这些说明将指导您完成NCPA代理的基本安装,以及用于监视Windows计算机的Nagios配置。

  1. 从以下位置将最新的稳定NCPA代理下载到要安装它的系统上:https : //nagios.org/ncpa/#downloads
  2. 双击ncpa-xyzexe文件开始安装代理。按照此处的NCPA文档中所述执行所有必需的步骤:https : //www.nagios.org/ncpa/getting-started.php#windows

配置NCPA

大多数配置将位于C:\ Program Files(x86)\ Nagios \ NCPA \ etc \ ncpa.cfg文件中。请参阅我们的帮助文档中有关如何在Windows上配置NPCA代理的详细说明。修改并保存配置文件后,您将需要重新启动NPCA服务,以使更改生效。您可以从服务管理面板(在GUI中)或从命令行(CMD提示符)执行此操作:

net stop ncpalistener 
net start ncpalistener
net stop ncpapassive 
net stop ncpapassive

开始监控

找到我们要监视的内容

知道要监视的内容将帮助您确定需要NCPA进行哪种检查。这可能包括您自己的自定义插件-或仅NCPA可以获取的数据。这完全取决于最终用户。对于此示例,我们将仅使用NCPA内置监视以下内容:

  • CPU使用率
  • 内存使用情况
  • 总工序数

端点还有很多,但是您可以阅读帮助文档以查看更多选项。

确定要使用的支票种类

确定要监视的内容后,可以选择监视方式。您可以使用两种检查类型。使用Nagios Core侧的插件运行主动检查,这会将大部分负载放在服务器上。如果您有很多检查并想转移一些负载,或者您的系统有时会断开连接,则可能需要使用被动检查。被动检查在客户端运行,并将检查结果发送到Nagios Core进行处理。NCPA可以进行两种检查,因此由您选择。

活动支票(check_ncpa.py)

以下步骤将介绍有关如何安装 check_ncpa.py 插件,在Nagios Core中创建新的命令,主机和服务定义。

安装check_ncpa.py插件

从Nagios服务器上的命令行运行以下命令:

cd /tmp wget https://assets.nagios.com/downloads/ncpa/check_ncpa.tar.gz tar xvf check_ncpa.tar.gz chown nagios:nagios check_ncpa.py chmod 775 check_ncpa.py mv check_ncpa.py /usr/local/nagios/libexec

注意:如果您对nagios plugins目录的路径不同,则需要修改最后一个命令。

要验证check_ncpa.py插件的版本,请从命令行运行以下命令:

/usr/local/nagios/libexec/check_ncpa.py -V

您应该会看到以下内容:

check_ncpa.py, Version 1.1.0

创建新的命令,主机和服务定义以监视Windows计算机

创建检查命令定义

创建 check_ncpa Nagios Core的配置文件中输入命令,通常它们位于 / usr / local / nagios / etc -您可能有一个 命令.cfg 文件,您将需要将该命令放入。下面的命令将使我们能够将大多数参数传递给with $ ARG1 $,使其更具动态性。

define command {
     command_name    check_ncpa
     command_line    $USER1$/check_ncpa.py -H $HOSTADDRESS$ $ARG1$ 
}

创建Nagios检查

您可以在以下配置文件中创建检查 / usr / local / nagios / etc。在此示例中,我们将创建一个名为ncpa.cfg 定义如下:

define host {
    host_name               NCPA 2 Host
    address                 192.168.1.10
    check_command           check_ncpa!-t 'mytoken' -P 5693 -M system/agent_version
    max_check_attempts      5
    check_interval          5
    retry_interval          1
    check_period            24x7
    contacts                nagiosadmin
    notification_interval   60
    notification_period     24x7
    notifications_enabled   1
    icon_image              ncpa.png
    statusmap_image         ncpa.png
    register                1
}

define service {
    host_name               NCPA 2 Host
    service_description     CPU Usage
    check_command           check_ncpa!-t 'mytoken' -P 5693 -M cpu/percent -w 20 -c 40 -q 'aggregate=avg'
    max_check_attempts      5
    check_interval          5
    retry_interval          1
    check_period            24x7
    notification_interval   60
    notification_period     24x7
    contacts                nagiosadmin
    register                1
}

define service {
    host_name               NCPA 2 Host
    service_description     Memory Usage
    check_command           check_ncpa!-t 'mytoken' -P 5693 -M memory/virtual -w 50 -c 80 -u G
    max_check_attempts      5
    check_interval          5
    retry_interval          1
    check_period            24x7
    notification_interval   60
    notification_period     24x7
    contacts                nagiosadmin
    register                1
}

define service {
    host_name               NCPA 2 Host
    service_description     Process Count
    check_command           check_ncpa!-t 'mytoken' -P 5693 -M processes -w 150 -c 200
    max_check_attempts      5
    check_interval          5
    retry_interval          1
    check_period            24x7
    notification_interval   60
    notification_period     24x7
    contacts                nagiosadmin
    register                1
}

更换 -t’mytoken’用你自己的令牌。这将告诉Nagios执行主动检查,并将创建一个名为“ NCPA 2主机”的主机,以检查CPU使用率,内存使用率和进程计数。

重新启动Nagios守护程序

重新启动Nagios服务,您应该看到待处理的主机/服务出现。他们进行了初步检查后,您应该在Nagios中查看您的NCPA数据。

被动检查(NRDP)

为了使被动检查正常工作,您必须将被动服务配置为实际发送检查。在新安装的NCPA 2中,默认情况下未配置任何被动处理程序。如果您在Windows上安装并在安装过程中设置了NRDP,则您将已经进行了配置。但是,最好仔细看一下您的配置以防万一。

将检查添加到ncpa配置

将新的NCPA配置文件添加到 ncpa.cfg.d目录位于基本NCPA安装目录中。使用以下概述进行被动检查,以发送到您选择的NRDP服务器。

[passive checks]
%HOSTNAME%|__HOST__ = system/agent_version
%HOSTNAME%|CPU Usage = cpu/percent --warning 60 --critical 80 --aggregate avg
%HOSTNAME%|Memory Usage = memory/virtual --warning 80 --critical 90 --units Gi
%HOSTNAME%|Process Count = processes --warning 300 --critical 400

默认情况下,被动检查每隔5分钟运行一次,但是现在使用NCPA 2,您可以通过添加附加值来定义检查间隔(以秒为单位) |间隔被动检查定义的左侧。下面是每30秒执行一次CPU检查的示例:

%HOSTNAME%|CPU Usage|30 = cpu/percent --warning 60 --critical 80 --aggregate avg

配置您的NRDP设置

在Nagios Core中,您将需要手动安装和配置NRDP。请遵循NRDP-概述文档的“ Nagios Core中的NRDP ”部分中概述的步骤

设置完成后。编辑你的ncpa.cfg 文件如下所示:

[nrdp]
parent = http:/<nrdp address>/nrdp/
token = nrdptoken
hostname = NCPA 2 Host

在中启用nrdp处理程序配置的[被动]部分:

[passive] 
handlers = nrdp

重新启动NCPA被动服务

重新启动 ncpa_listener Windows计算机上的服务。

服务重新启动后,您应该立即开始接收被动检查结果。更改被动检查配置时,始终需要重新启动服务

觉得文章有用?

点个广告表达一下你的爱意吧 !😁