1、安装nagios windows客户端

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

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

安装方法:直接双击登录

在C:/program files/nscplus目录中编辑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++服务

2、配置Nagios

  修改nagios.cfg文件,增加如下行

  cfg_dir=/usr/local/nagios/etc/services

  然后再/usr/local/nagios/etc/services下建立文件

  121.43.151.46.cfg(替换成你自己的IP地址)

3、在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地址
        }

4、也可以自己添加host_group

define hostgroup{
        hostgroup_name  windows-servers ; The name of the hostgroup
        alias           Windows Servers ; Long name of the group
        }

在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服务器是否显示

使用nagios检测windows服务器的更多相关文章

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

    1. 监控内容 windows服务器的内部参数包括以下 a. 内存使用状况 b. CPU负载 c. 磁盘使用状况 d. 服务状态 e. 运行的进程 2. 监控原理 在windows服务器内安装NSCl ...

  2. Send email alert from Performance Monitor using PowerShell script (检测windows服务器的cpu 硬盘 服务等性能,发email的方法) -摘自网络

    I have created an alert in Performance Monitor (Windows Server 2008 R2) that should be triggered whe ...

  3. 搭建基于Nagios的监控系统——之监控远程Windows服务器

    分享了如何监控Linux服务器,我们来看看使用Nagios如何监控Windows服务器. 第一部分:配置被监控的Windows服务器   首先,访问 http://sourceforge.net/pr ...

  4. 如何利用PowerShell完成的Windows服务器系统安全加固实践和基线检测

    0x00 前言简述 最近单位在做等保测评,由本人从事安全运维方面的工作(PS:曾经做过等保等方面的安全服务),所以自然而然的与信安的测评人员一起对接相关业务系统的检查,在做主机系统测评检查时发现了系统 ...

  5. nagios检测http

    /usr/local/nagios/etc/server/下相应的地址检测加上以下一段   (server下的cfg文件是检测相应服务器的模块)  define service{        use ...

  6. 部署AlwaysOn第一步:搭建Windows服务器故障转移集群

    在Windows Server 2012 R2 DataCenter 环境中搭建集群之前,首先要对Windows服务器故障转移集群(Windows Server Failover Cluster,简称 ...

  7. svn从Windows服务器上迁移到Linux上

    svn从Windows服务器迁移到Linux服务器    author:headsen chen   2017-10-16  16:50:32  个人原创,转载请注明.否则依法追究法律责任       ...

  8. Nagios 监控windows server Apache 服务

    监控机需要使用check_apachestatus.pl插件插件下载地址:https://exchange.nagios.org/directory/Tutorials/Other-Tutorials ...

  9. 【zabbix】Windows服务器获取IIS站点以及程序池状态

    在使用zabbix做Windows服务器监控的时候遇到一个比较棘手的问题,检测IIS站点状态. 普通情况下,只要用浏览器访问iis站点测试一下返回码是不是200即可判断状态,但是我这次遇到的是iis使 ...

随机推荐

  1. 修改project任务的默认开始时间

    一般情况下,在project新建一个项目之后,在这个项目里每新添加一个任务,它的默认开始时间都是取的本项目的创建时间.但这可能并不是我们所需要的. 其实在这里,project取的默认开始时间都是整个项 ...

  2. c#读取excel到dataset

    public DataSet TransExcelToDataSet(string fileName, List<string> sheetNames) { OleDbConnection ...

  3. Taylor series

    w用有限来表达无限,由已知到未知,化未知为已知. https://en.wikipedia.org/wiki/Taylor_series The Greek philosopher Zeno cons ...

  4. root Permission denied

    w 遇见现象,原因待查

  5. Java 之多线程通信(等待/唤醒)

    多线程间通信: 多个线程在处理同一个资源, 但是任务却不同. 等待/唤醒机制 涉及的方法 wait(): 让线程处于冻结状态, 被 wait() 的线程会被存储到线程池中 notify(): 唤醒线程 ...

  6. Linux网络调试工具资料链接

    Dropbox: https://huoding.com/2016/12/15/574 Tcpdump: http://roclinux.cn/?p=2474

  7. sql server安装教程(2008 R2,图形界面安装/命令提示符安装即静默安装)

    转自:http://blog.51cto.com/jimshu/585023 SQL Server 2008(32/64位)下载地址: 链接:https://pan.baidu.com/s/1eR5b ...

  8. AVL(二叉平衡树) 的实现

    一颗AVL树是其每个节点的左子树与右子树的高度最多差1的二叉查找树. 在插入过程中,利用旋转的办法保持这个性质. 共分四种情形: 1.  树T的左孩子的左子树上新插入节点导致破坏平衡性: 如下图左边所 ...

  9. 浅析造成 JS 内存泄露的几种原因及解决方案

    内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束.在C++中,因为是手动管理内存,内存泄露是经常出现的事情.而现在流行的C#和Java等语言采用了自动垃圾回收方法管理内存,正常使 ...

  10. (转)HttpWebRequest以UTF-8编码写入内容时发生“Bytes to be written to the stream exceed the Content-Length bytes size specified.”错误

    from:http://www.cnblogs.com/Gildor/archive/2010/12/13/1904060.html HttpWebRequest以UTF-8编码写入内容时发生“Byt ...