Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2112099
  • 博文数量: 317
  • 博客积分: 5670
  • 博客等级: 大校
  • 技术积分: 3677
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-10 17:51
文章分类

全部博文(317)

文章存档

2016年(2)

2015年(44)

2014年(68)

2013年(42)

2012年(23)

2011年(51)

2010年(67)

2009年(17)

2008年(3)

分类: 系统运维

2010-01-29 10:48:37

六、启动nrpe服务并检查其配置
1、  以独立守护进程启动nrpe服务
 /usr/local/nrpe/bin/nrpe –c /usr/local/nrpe/etc/nrpe.cfg –d
2、   查看系统日志,如果正常启动可以看到以下输出:
[root@rhel nrpe]# tail /var/log/messages
oct 15 18:01:16 rhel nrpe[11791]: starting up daemon
oct 15 18:01:16 rhel nrpe[11791]: listening for connections on port 5666
oct 15 18:01:16 rhel nrpe[11791]: allowing connections from: 127.0.0.1,192.168.0.10
查看端口:
[root@rhel nrpe]# netstat -an |grep 5666
tcp        0      0 0.0.0.0:5666        0.0.0.0:*            listen
查看进程:
[root@rhel nrpe]# ps aux |grep nrpe |grep -v grep
nagios   11791  0.0  0.1   4868   928 ?   ss   18:01   0:00 nrpe -c /usr/local/nrpe/etc/nrpe.cfg –d
3、   检查插件功能
1
)检查nrpe的服务版本
 [root@rhel nrpe]# /usr/local/nrpe/libexec/check_nrpe -h 192.168.0.10
nrpe v2.12
2)检查nrpe.cnf里面定义的命令有没有错误,也就是检查主机资源:
[root@rhel nrpe]# /usr/local/nrpe/libexec/check_nrpe -h 192.168.0.10 -c check_df
disk ok - free space: / 5245 mb (60% inode=95%); /home 13329 mb (80% inode=99%); /var 843 mb (9% inode=99%); /boot 82 mb (88% inode=99%); /dev/shm 235 mb (100% inode=99%);| /=3495mb;9197;9207;0;9217 /home=3215mb;17426;17436;0;17446 /var=7897mb;9197;9207;0;9217 /boot=10mb;78;88;0;98 /dev/shm=0mb;215;225;0;235
[root@rhel nrpe]# /usr/local/nrpe/libexec/check_nrpe -h 192.168.0.10 -c check_load
ok - load average: 0.00, 0.00, 0.00|load1=0.000;15.000;30.000;0; load5=0.000;10.000;25.000;0; load15=0.000;5.000;20.000;0;
[root@rhel nrpe]# /usr/local/nrpe/libexec/check_nrpe -h 192.168.0.10 -c check_ips
ok -connectcounts is 4
 
nrpe.cnf里面的其它的一些命令也可以测试一下;
 
 
七、启动nagios
首先检查一下配置文件有没有错误
[root@rhel nrpe]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
 
nagios core 3.2.0
reading configuration data...
   read main config file okay...
……………省………………
   read object config files okay...
 
checking misc settings...
 
total warnings: 0
total errors:   0
 
things look okay - no serious problems were detected during the pre-flight check
如果要错误的话可以根据提示把错误全部改正,像上面输出total warnings: 0 total errors: 0 都为0时,说明配置文件没有问题,下面就可以启动nagios了;
/usr/local/nagios/bin/nagios –d /usr/local/nagios/etc/nagios.cfg
正学启动之后,就可以通过浏览器输入:  ,,再输入前面第三大步2小步那里设置的密码,登录进去后:
点击左边current status下面的services就可以看到监控服务器所监控的主机项目了;如图下:
 
到这里就是大功告成了!
总结几点:
1、  在创建各种配置文件时,注意定义的名称那里不要留有空格;
2、  关于插件的用法,可以通过去 –h 来查看,如: check_load –h ;
3、  关于系统防火墙设置,我的一开始就是因为防火墙的原因而收不到邮件以及在监控windows主机时会超时的;在这里所用到的端口有UDP 137:138 TCP258053566612489,还有一个就是ICMP,这些都要用到;注意是双向,不要搞到给他从本机出去之后回不来(我的刚开始就是这样)。
4、  本文部分内容参考田逸的《开源监控利器nagios》以及yahoon的小屋的nagios全攻略
5、  看文档吧。
6、  欢迎点评。
 
 
以下内容摘自田逸的《开源监控利器nagios》一文,来自Linux/Unix技术交流群共享。
服务器监控的一些策略
前段时间有人问我怎么用nagios监控linux内存使用情况,以及怎么设置报警阈值?linux运行时,是最大可能的利用内存,监控这个对象没有现实意义,明显属于无效的监控策略.另有一人说:”晚上没完没了的收到监控系统的发送的报警短信,受不了…”。不言而喻,这也是一个不好的监控策略,实际上监控已经失去了它的意义。所以要让监控平台更有效的发挥作用,好的策略是必须的。那么怎么才能算是好的策略,这里我结合我的实际情况,谈谈我的一些看法,希望对大家有所帮助。
 
策略一:监控对象选择
在一个规模较大的网络中,监控的对象可能包括服务器、防火墙、交换机、路由器等等设备,以及运行在各对象上的服务。但是,我们没必要把所有的对象都放到这个监控系统中来。比如把某些测试系统放到监控中,就会产生如上那位老兄整个晚上收到报警短信的麻烦。因此,选择正确的监控对象是实施有效监控的前提,个人建议,只有那些重要级别高的,不能随便停止服务的对象――如在线交易系统――才是值得监控的对象。当然,服务器的使用者总希望你把它监控上,哪怕它不是那么重要。
 
策略二:故障报警方式选择
老板非常希望我们不知疲倦的坐在计算机旁,但是他只是一厢情愿而已。对监控系统而言,一定要有合适的故障告警机制。目前常用的告警机制包括:邮件、短信、msnweb页面显示等几种手段,这几种手段中,短信报警最佳。因为在夜间睡梦中,我们没办法随时收邮件,但是短信去能唤醒我们,通知我们发生故障了,而且在老板和用户发现这个故障以前。对于没有通道的机构来说,租用sp提供的服务是比较稳妥的方式,其他如用移动飞信等方式都不怎么考谱,不适合关键性业务运营。另外我使用了一个小技巧,让监控平台每天下午给我发一条短信,不管有没有故障都发,这样以便让我知道短信接口是否正常。
 
策略三:故障报警时效和间隔的选择
由于网络通信等不可控因素,因此可能存在故障误报的情况。如果把报警发送设置成一次探测不成功就发送报警信息就不是个好策略。经验表明:探测3-4次都失败再发送信息,并不耽误我们去处理故障。假如探测一次失败就报警,即可以很快把手机短信空间塞满,又会让你睡不好觉。
故障报警开始发送以后,一般会没完没了的发送,直到故障排除恢复正常,才会发一条类似“*** is ok!”的短信。报警发送间隔设置,也是需要费一番心思,设短了,不停的消耗你的短信费用,设长了,恐怕不足以唤醒沉睡的人;如果没有人去处理故障,也没有人去停止这个通知,报警信息就会一直发送下去。
那怎么样是一个合适的范围呢?我的做法是:探测4次失败开始报警,报警间隔10分钟,总共发送8次,然后停止发送,假如第3次没有人去处理,我会电话通知,没回应则取消该对象的监控,并记录该次事件。
 
策略四:监控平台地点的选择
对于一个规模比较大的网络,为了解决南北互联问题而采取多个地点建立数据中心的办法。这时需要对不同地理位置的服务器进行监控,也会遇到访问慢的问题。解决这个问题有几种方式:1、选择一个到各个位置访问都顺畅的数据机房;2、采取分步是监控平台,各处自己收集监控信息,然后到一处汇总;3、各数据中心单独建监控平台。各人可以根据自己的实际情况自行选择。
 
策略五:流量控制和安全
有不少商业解决方案采取snmp和客户端软件来监控各个对象,这会引起额外的流量和带来安全问题。因此尽量不要使用snmp这样比较占资源的协议(具称snmp v3似乎有所改进)。开源解决方案Nagios在这方面做得比较完美,值得推荐一下。它可以以插件方式先收集到各监控对象的信息,然后再传送到监控服务器上,大大节省网络带宽。
 
Nagios内存监控脚本使用方法
 
#!/bin/bash
# check memory script
# sunny 2008.2.15
# Total memory
TOTAL=`free -m | head -2 |tail -1 |gawk '{print $2}'`
# Free memory
FREE=`free -m | head -2 |tail -1 |gawk '{print $4}'`
# to calculate free percent
# use the expression  free * 100 / total
FREETMP=`expr $FREE \* 100`
PERCENT=`expr $FREETMP / $TOTAL`
echo "$FREE MB ($PERCENT%) Free Memory"
exit 0
 
#将上面的内容复制到/usr/local/nagios/libexec/check_mem.sh
#并用chmod a+x check_mem.sh 为这个插件添加执行功能
#在command.cfg中添加一项check_mem的内容如下
# 'check_mem' command definition
define command{
        command_name    check_mem
        command_line    $USER1$/check_mem.sh -H $HOSTADDRESS$
        }
#接下来可以在services.cfg文件中添加了一项内存的监控如下
define service{
        host_name               nagios-server
        service_description     check_mem
        check_command           check_mem
        max_check_attempts      5
        normal_check_interval   3
        retry_check_interval    2
        check_period            24x7
        notification_interval   10
        notification_period     24x7
        notification_options    w,u,c,r
        contact_groups          sagroup
        }
记得最后测试一下配置文件
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

本文出自 “gzmaster” 博客,请务必保留此出处http://gzmaster.blog.51cto.com/299556/63709

阅读(2076) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~