设为首页 收藏本站
查看: 1108|回复: 0

Nagios监控平台之四:监控Windows服务器

[复制链接]

尚未签到

发表于 2019-1-15 08:55:28 | 显示全部楼层 |阅读模式
  一、Nagios监控配置的常规说明:
  
1.1.监控步骤:
  
被监控端安装代理(linux为nrpe,windows为NSClient)à配置被监控端监控脚本à主机定义(服务器端)à定义命令(服务器端,普通监控默认已定义好,可跳过此步)à定义服务(服务器端)à其他定义(此步可省略,包含:联系人、主机组、服务器组、服务组等)
1.2.Nagios监控的四种状态:
  
Nagios的状态有四种,根据返回值区分:
返回 0 ,正常
返回 1 ,警告
返回 2 ,紧急
返回 3 ,未知
因此,不管是linux还是windows,在自定义脚本是,只要设置好exit后跟的返回值即可实现Nagios的通知提醒。
二、Windows代理NSClient++的安装
  
下载最新的NSClient++ 0.40安装,填入Nagios服务器IP,密保保存为空,并勾选支持的前三项插件,如下图:

三、利用默认配置实现监控硬盘空间、CPU负载、内存等信息:
  
1
2
3
3.1被监控端(Windows服务器)配置自带防火墙例外或者关闭自带防火墙,开放TCP 5666TCP 12489端口。
  
3.2Nagios服务器端:
  
1.
2.
3.
3.1.
3.2.
3.2.1.配置/usr/local/nagios/etc/nagios.cfg,将如下一行前面的注释取消:
cfg_file=/usr/local/nagios/etc/objects/windows.cfg
  
3.2.2.定义主机,编辑/usr/local/nagios/etc/objects/windows.cfg,添加主机定义:
define host{
        use            windows-server   ;使用主机模板
        host_name      主机名            ;主机名
        alias主机别名         ;主机别名
        address        192.168.0.8             ;IP地址
}
3.2.3.定义服务,编辑/usr/local/nagios/etc/objects/windows.cfg,添加服务定义:
A.定义监控CPU负责的服务:
define service{
        use                 generic-service ;服务模板
        host_name           主机名  ;上面定义的主机名
        check_interval        18
        service_description    CPU 负载;服务名称
        check_command      check_nt!CPULOAD!-l 5,80,90
        }
说明:检查5分钟平均值,报警值80%,警告值90%
B.定义监控内存的服务:
define service{
        use                     generic-service,srv-pnp
        host_name               主机名
        check_interval          18
        service_description     Memory 含虚拟内存
        check_command           check_nt!MEMUSE!-w 78 -c 82
        }
说明:内存报警值78%,警告值82%(该数据包含虚拟内存)
C.定义监控磁盘空间的服务:
define service{
        use                   generic-service,srv-pnp
        host_name             主机名
        check_interval          30
        service_description      Drive Space D盘
        check_command   check_nt!USEDDISKSPACE!-l d -w 80 -c 90
        }
说明:-l后接盘符,报警值80%,警告值90%
D.定义监控windows服务运行状态:
define service{
    use               generic-service
    host_name         主机名
    service_description  服务名
    check_command  check_nt!SERVICESTATE!-d SHOWALL -l 服务名
    }
说明:-l后接要检查的服务名称;contacts为定义的通知联系人。
E.其他更多的用法可以根据windows.cfg文件的预定义服务进行举一反三。
3.2.4.使用命令:service nagios restart重启查看状态,正常的话如下图:

四、自定义脚本监控(NRPE)
  
1
2
3
4
4.1客户端脚本编写:
脚本的编写可以使用批处理、powershell脚本或vbs等,只要能返回状态信息和返回值(见文章开头第一段说明)。
例如如使用批处理,可以使用echo命令返回状态信息;使用exit跟数字0123返回状态值。如下面的一段批处理脚本可以实现对进程状态进行监控:
@echo off
:: 监控进程是否运行
::%1表示使用中的第一个参数,即进程名称
tasklist |find "%1" >NUL
IF ERRORLEVEL 1 GOTO err
IF ERRORLEVEL 0 GOTO ok
:err
echo CRITICAL!Process %1 is not exist!
exit  2
::返回值为2,表示警告
:ok
echo OK!Process %1 is exist!
exit  0
::返回值为0,表示正常

将上述命令作为批处理保存在C:\Program Files\NSClient++\scripts路径下如check_run.bat,注意,在返回的状态信息中尽量不要用中文。


4.2客户端脚本命令配置:
编辑C:\Program Files\NSClient++\nsclient.ini,找到[/settings/external scripts/scripts]一行,在下面加入如下内容:
   Command_alias=scripts\check_run.bat Process_Name.exe
注意:等号前面的别名为服务器端调用的命令,等号后面接具体的脚本,脚本后面跟参数进程名称,该参数会被脚本使用%1变量进行调用。如我要监控【视频监控主机】的视频录像程序是否启动,可替换为check_manager=scripts\check_run.bat  VideoManager.exe


4.3服务器端服务配置()
定义服务后:
define service{
        use                     generic-service
        host_name               Monitor
        service_description           管理平台
        check_command          check_nrpe!check_manager
        }
4.4重启Nagios服务:service nagios restart

通过上述默认支持的监控项目和自定义脚本,基本能实现Windows所有需要的监控(对部分服务的详细监控需要很复杂的脚本才能实现)。
友情链接:旺旺知识库





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-663411-1-1.html 上篇帖子: 用nagios生成主机可用性报表 下篇帖子: 搭建机房CactiEZ+nagios+PRTG网络监控系统总结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表