设为首页 收藏本站
查看: 3961|回复: 6

nagios--监控windows主机

[复制链接]

尚未签到

发表于 2012-8-1 09:12:37 | 显示全部楼层 |阅读模式
监控主机   系统:centos   IP:192.168.0.170   被监控机    系统:windows server2003  IP:192.168.0.125

    此文章中我使用的是sendmail的报警方式

    因为被监控主机是windows系统,需要安装nsclient++-0.3.6-win32.msi,这是一个客户端工具,通过监控服务器上的check_nt这一个插件来检查WINDOWS机器的服务,当监控服务器将监控请求发给NSClient后,通过NSClient客户端检查监控项目,所有的监控都是由NSClient来完成。
   1.在被监控主机windows端安装nsclient++-0.3.6-win32.msi
         注意被监控机操作系统是32位还是64位,要安装对应版本的NSClient++,我的系统是32位的
        双击安装,NEXT>NEXT>NEXT>
       595d456a3488c53ca885e51c6e16d2f9.png
     上面写的IP是nsclient客户端允许连接的IP,此地方写的是监控机的IP,下面写的是监控机连接被监控端nsclient时的密码,不设密码为空,为了更安全可以设上,但我觉得没必要设,因为你只允许监控机连接你的nsclietn++了,别的机器是拒绝连接的,除非别人知道你的监控机IP,然后伪造个相同ip来偷偷监控你的windows机器,这概率应该很小吧,设上后监控端要做相应的设置才能正常连接windows被监控机,比较麻烦。个人愚见至于加不加密码自己决定,下面的模块就按图上的勾选就可以了。
如果加上密码在监控机中要修改nagios安装目录下的etc/objects/commands.cfg修改chect_nt命令定义部分,加个-s 后跟连接密码,注意在这里修改的前提是每个nsclient设置的密码都是相同的,如果设置的不同则不能改这里,则需要改etc/objects/windows.cfg中的服务定义部分。
define command{
        command_name    check_nt
        command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s 7758521 -v $ARG1$ $ARG2$
      }

   安装完成,看一下服务里有没有,有的话就证明安装成功了。
1e530495444498337bc0fad1706b54b2.png
在NSClinet++上面点右键属性,打开服务,如下图: 服务已经启动了


点登录,在登录登录身份下面勾选允许服务与桌面交互,如下图:



到这里就已经在WINDOWS主机上安装好了,如果你有防火墙的话请打开TCP的12489端口,否则nagios检查此服务的时候会报socket 超时错误。
2.在监控机上设置nagios
   先打开nagios.cfg里的windows的监控,默认的是注释掉的
       #vim /usr/local/nagios/etc/nagios.cfg
      把里面的#cfg_file=/usr/local/nagios/etc/objects/windows.cfg前的#号去掉

   nagios用的check_nt插件来监控windows主机,此命令在commands.cfg里定义的:
fe214ed9c9be65cf12bff8e8b96cb3f1.png
    下面我们编辑/usr/local/nagios/etc/objects/windows.cfg
     (1)首先我们定义被监控的主机及内容:
9befd8ba2223c60d80b0d41b58590091.png
     use使用的是objects下的templates.cfg定义的模版windows-server,下面我们看一下templates.cfg下windows-server的内容

下面说一下里面的内容什么意思:
     name 定义的模版的名字,注意如果自定义的话winows-server后面不要有空格啊
     use 这个模版里用的其他模版的参数,generic-host也是在templates.cfg里面定义的
     check_period 定义的检查主机时间段,24x7在objects下的timeperiods.cfg里面定义的,表示一星期的每天都监视
     check_interval    nagios对主机的检查时间间隔 这里是1分钟
    retry_interval   重试检查的时间间隔,这里是1分钟
   max_check_attempts   nagios对主机的最大检查次数,也就是nagios在检查过程中发现了某主机异常时,并不是马上判断为异常状况,而是多试几次,因为可能是一时网络太拥挤或是一些其他原因是主机受到了一些影响,这里的设置为1主要是为了实验效果出现的更快,现实中要多设置几次。
  check_command   检查主机状态的命令,此命令在commands.cfg中定义
  notification_period 主机故障,发送通知的时间范围
  notification_interval   在主机出现异常后,故障一直没有解决nagios再次对使用者发出通知的时间间隔,
notification_options  定义主机什么状态下给使用者发送通知,d表示宕机 r表示恢复
conact_groups 指定联系人组   admins在contacts.cfg里定义的联系人组,只要再在contacts.cfg里定义个联系人,然后把他加进组里就可以受到通知了,为了更明了还是看一下contacts.cfg里的内容吧:

上面nagiosadmin就是定义的联系人,email就是写的联系邮箱。
  好了,说完use里的模版,接着说下面的
   host_name  指定的是nagios网页见面显示的主机标识

   address  指定的是windows主机的IP
    (2)定义检测的服务
         加入下面的检查被监控端nsclient++的版本号
         define service{
            use          generic-service
            host_name   winserver
            service_description NSClient++ Version
            check_command  check_nt!CLIENTVERSION
             }
         加入下面的服务定义以监控Windows机器的启动后运行时间。
         define service{
         use          generic-service
         host_name   winserver
         service_description Uptime
         check_command  check_nt!UPTIME
            }
         加入下面的服务定义可监控Windows机器的CPU利用率,并在5分钟CPU负荷高   于90%时给出一个紧急警报或是高于80%时给出一个告警警报。
         define service{
         use   generic-service
         host_name   winserver
         service_description CPU Load
          check_command  check_nt!CPULOAD!-l 5,80,90
           }
          加入下面的服务定义可监控Windows机器的内存占用率,并在5分钟内存占用率高于90%时给出一个紧急警报或是高于80%时给出一个告警警报。
         define service{
           use   generic-service
           host_name   winserver
           service_description Memory Usage
           check_command  check_nt!MEMUSE!-w 80 -c 90
            }
          加入下面的服务定义可监控Windows机器的C:盘的磁盘利用率,并在磁盘利用率高于90%时给出一个紧急警报或是高于10%时给出一个告警警报。
          define service{
          use          generic-service
          host_name   winserver
          service_description C:\ Drive Space
           check_command  check_nt!USEDDISKSPACE!-l c -w 10 -c 90
           }  
         //-l 后面接的是盘符      把红色c换成d就是监控d盘
         加入下面的服务定义可监控Windows机器上的W3SVC服务(IIS的3w网站服务)状态,并在W3SVC服务停止时给出一个紧急警报。
          define service{
          use          generic-service
          host_name   winserver
          service_description W3SVC
          check_command  check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
           }  // W3SVC替换成别的服务名就是监控那个服务
      加入下面的服务定义可监控Windows机器上的Explorer.exe进程,并在进程没有运行时给出一个紧急警报。
        define service{
        use   generic-service
        host_name   winserver
        service_description Explorer
        check_command  check_nt!PROCSTATE!-d SHOWALL -l explorer.exe
        }
        //要是监控其他的进程就把explorer.exe换成那个进程,注意这个explorer.exe第一个e是小写的,有些文档是大写的就报警了,因为windows的进程就是小写的。
      (3)配置好了以后用/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
         如果没有报错就可以启动了,通过192.168.0.170/nagios就可以看到服务器的监控信息了
650
上图因为我设置的c盘的使用率高于10%就告警,这时我也收到邮件了:
650
     (4)如果配置好了但nagios取不到值那就用/usr/local/nagios/libexec/check_nt来看一下是否能连接上监控机

能取到值说明没问题。
check_nt用法如下:
check_nt -H host -v variable [-p port] [-w warning] [-c critical] [-l params] [-d SHOWALL] [-u] [-t timeout]
选项:
-H 后跟被监控机主机名或IP
-p 后跟被监控nsclient端口号,默认是12489(必需有这个选项否则显示连接拒绝)
-s 后跟连接密码
-w 后跟wanring报警值
-c 后跟critical报警值
-t 后跟连接尝试次数
-h 显示帮助
-V 显示check_nt版本
-v 后跟要查看的性能值
可用的性能值有:
CLIENTVERSION   显示nsclient++版本
CPULOAD   -l  <minutes range>,<warning threshold>,<critical threshold>.
  注意:<minute range> 不要大于 24*60.   
  例: -l 60,90,95,120,90,95  显示最后60分钟和120分钟waring为90%,critical为95%的平均cpuload
UPTIME           显示开机运行时间
USEDDISKSPACE  显示磁盘空间信息
  例:-l c 显示当前c盘空间使用信息
     -l d -w 90 -c 95  显示d盘设waring为90%,critical为95%时的空间使用信息
MEMUSE 显示内存使用情况,后可跟-w  -c指定报警值,默认为5分钟内平均值
SERVICESTATE 检查一个或多个服务状态
  -l <service1>,<service2>,<service3>,...
用 -d SHOWALL 可以查看正在运行有服务
PROCSTATE 检查进程状态
-l <进程名字>
COUNTER   检查一些性能计数
        用法:
        -l "\\<performance object>\\counter","<description>
         <description> 参数用于打印输出一个需要浮点参数的命令 ,如果 <description>不包含 "%%", 它会做为一个标签
例:  "Paging file usage is %%.2f %%%%"
  "%%.f %%%% paging file used."
INSTANCES   检查性能对象计数  
用法: check_nt -H <hostname> -p <port> -v INSTANCES -l <counter object>
  <counter object> 是一个windows性能对象计数 (eg. Process),
  如果它是两个词,它应该引号括起来,返回的结果将是一个逗号分隔的对象  
check_nt用法举例:

check_nt -H 192.168.1.2 -p 12489 -v CPULOAD -l 60,90,95  //显示最后60分钟waring为90%,critical为95%时的平均cpuload
check_nt -H 192.168.1.2 -p 12489 -v UPTIME  //显示192.168.1.2从开机到现在运行时间
check_nt -H 192.168.1.2 -p 12489 -v USEDDISKSPACE -l c //显示192.168.1.2 C盘使用情况

check_nt -H 192.168.1.2 -p 12489 -v USEDDISKSPACE -l d -w 60 -c 95 //显示192.168.1.2 D盘设waring为90%,critical为95%时的空间使用信息
check_nt -H 192.168.1.2 -p 12489 -v MEMUSE  //显示192.168.1.2内存使用情况
check_nt -H 192.168.1.2 -p 12489 -v SERVICESSTATE -d SHOWALL  //显示192.168.1.2所有正在运行的服务

check_nt -H 192.168.1.2 -p 12489 -v SERVICESSTATE -d SHOWALL -l W3SVC //显示192.168.1.2上IIS网站服务运行情况
check_nt -H 192.168.1.2 -p 12489 –s 7758521 –v CLIENTVERSION  //查看192.168.1.2上nsclient++版本
check_nt -H 192.168.1.2 -p 12489 –s 7758521 -v INSTANCES -l Process //列举192.168.1.2上运行的进程
添加多台windows监控主机


如果你有多台windows服务器监控,还需做一下操作。
(一)在/usr/local/nagios/etc/objects/下添加第二台windows主机(假设第二台为windows主机为efg)的配置文件efg.cfg,可以直接将windows.cfg直接复制并改名,还需要修改里面相应的host_name和address。
如果有多台windows主机就需新建多少个配置文件
(二)修改/usr/local/nagios/etc/nagios.cfg找到:
# Definitions for monitoring a Windows machine
cfg_file=/usr/local/nagios/etc/objects/windows.cfg (这是指定的第一台windows监控主机的配置文件。)

在这行下面添加第二台windows监控主机的配置文件路径:
cfg_file=/usr/local/nagios/etc/objects/efg.cfg 保存退出。
如果有多台主机需要监控,就继续添加。
退出后重启nagios然后登陆web就可以看到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-723-1-1.html 上篇帖子: Redhat脚本改用CentOS源更新安装nginx、php 5.3、varnish 下篇帖子: Nagios监控部署 windows 监控

尚未签到

发表于 2013-3-13 14:55:35 | 显示全部楼层
路过,学习下

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

尚未签到

发表于 2013-5-15 18:35:43 | 显示全部楼层
人生不能像做菜、把所有的料都准备好才下锅!

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

尚未签到

发表于 2013-5-16 18:25:55 | 显示全部楼层
学海无涯,回头是岸!

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

尚未签到

发表于 2013-5-17 22:47:07 | 显示全部楼层
不要在一棵树上吊死,在附近几棵树上多试试死几次~

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

发表于 2013-5-19 03:41:13 | 显示全部楼层
月经不仅仅是女人的痛苦,也是男人的痛苦。

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

尚未签到

发表于 2013-5-20 08:43:18 | 显示全部楼层
学习了,不错,讲的太有道理了

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

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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