此片文章接 nagios 监控运用(一)

 3、定义联系人配置文件contacts.cfg
define contact {
     contact_name         lee
     alias                system administrator
     service_notification_period    24x7
     host_notification_period       24x7
     service_notification_options   w,u,c,r
     host_notification_options       d,u,r    # w-warning,u-unknown,c-critical,r-recovery.
     service_notification_commands  service-notify-by-email
host_notification_commands     host-notify-by-email
     email                          [email protected]   #多个邮箱与多个手机用 逗号 隔开
     pager                          136****0434,138****0504
     }

4、定义联系组配置文件contactgroups.cfg
      define contactgroup {
      contactgroup_name    sagroup
      alias                system administrator group
      members       lee    #多个用户时用逗号隔开,必须和上面contacts.cfg定义
      }

5、定义服务配置文件 services.cfg

#主机监控的服务
   define service {
        host_name        nagios-server
        service_description   check-host-alive
        check_period          24x7
        max_check_attempts    3
        normal_check_interval 3
        retry_check_interval  2
        contact_groups        sagroup
        notification_interval   10
        notification_period     24x7
        notification_options    w,u,c,r
        check_command           check-host-alive
        }
define service{
        host_name               nagios-server
        service_description     check_local_disk
        check_command           check_local_disk!10%!5%!/
        max_check_attempts      3
        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
        }
#被监控机监控服务
define service{
        host_name               mysql
        service_description     check_ssh
        check_command           check_tcp!22
        max_check_attempts      3
        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   #联系组 在contactgroup.cfg定义
        }

6、定义监控时间段timeperiods.cfg
define timeperiod{
        timeperiod_name 7x24
        alias           24 Hours A Day, 7 Days A Week
        sunday          00:00-24:00
        monday          00:00-24:00
        tuesday         00:00-24:00
        wednesday       00:00-24:00
        thursday        00:00-24:00
        friday          00:00-24:00
        saturday        00:00-24:00
        }


上面表示   7*24小时监控

二、配置nrpe

配置nagios-server 上的nrpe.cfg配置文件
   pid_file=/var/run/nrpe.pid
   server_port=5666   #所用端口号
   server_address=192.168.2.47   #主机ip地址
   allowed_hosts=127.0.0.1,192.168.2.47   #允许监控主机
被监控机mysql 服务器的nrpe的配置文件只需要修改下ip地址就行
 
到这里naios 安装以及配置都完成了,下面就要启动了

启动nagios服务
 
启动nagios-server上的nagios,nrpe服务。
1、启动nrpe服务
#/usr/local/nrpe/bin/nrpe -c /usr/local/nrpe/etc/nrpe.cfg -d

检查服务是否启动
#ps -ef|grep nrpe
nagios    2449     1  0 Aug10 ?        00:00:44 /usr/local/nrpe/bin/nrpe -c /usr/local/nrpe/etc/nrpe.cfg -d

查看所用端口是否开启,下面说明已经正常开启
# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State     
tcp        0      0 192.168.2.154:5666          0.0.0.0:*                   LISTEN  
 
2、启动nagios服务 ,首先检查是否有错误
 
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
看到下面几行行是
Total Warnings: 0
Total Errors:   0
Things look okay - No serious problems were detected during the pre-flight check

说明没有错误,启动nagios 就行了
#/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
启动之后,就可以再web界面,监控服务器的详细信息了,输入 http://192.168.2.47/nagios输入用户名与密码进入
nagios监控与飞信运用(二)_第1张图片
 
nagios监控与飞信运用(二)_第2张图片
 
依照上面可以添加你希望监控的服务,更多资料参考 http://www.nagios.org/documentation 网站。
   
 
 报警的时候在这页面上能看到,系统会自动发送邮件过来提醒,可是,如果不在电脑旁边了,就不知道,那下面就把飞信集成到里面让服务出现问题时,用手机短信提醒。
 
飞信与nagios结合实现手机短信提醒
 
1、飞信下载
飞信官方网站: http://www.it-adv.net/
飞信官方lib库下载:
32位官方lib库: http://www.it-adv.net/fetion/library32.rar
64位官方lib库: http://www.it-adv.net/fetion/library64_linux.tar.gz
2、安装飞信
下载到机器之后,通过ssh或者其他上传工具上传到服务器开始安装
# tar -zxvf fetion_linux_20080402.tar.gz

解压完成后产生一个sms的文件。现在运行时会出现报错,需要安装飞信的lib库
解压lib库之后上传到服务器Cp到目录下就行了
看下lib库里面的文件
#ls
libACE.so.5.4.7  libACE_SSL.so.5.4.7  libcrypto.so.0.9.8  libssl.so.0.9.8
# cp *.* /lib/
# cp *.* /usr/lib/
Cp 飞信的执行文件到一个指定的目录下,飞信调用所写路径
# cp sms /usr/local/bin/

现在运行下
#/usr/local/bin/sms 
#会提示让加上参数,发送格式如下
#/usr/local/bin/sms -f 飞信用户名 -p 密码 -t 目的手机号 -m "发送信息"

   测试下,看是否能发送到手机上,目的手机必须是好友,否则发送 不成功
把短信加到nagios里面,需要修改下面配置文件,
1、 修改# vi /usr/local/nagios/etc/contacts.cfg文件
define contact {
     contact_name         lee
     alias                system administrator
     service_notification_period    24x7
     host_notification_period       24x7
     service_notification_options   w,u,c,r
     host_notification_options       d,u,r
     service_notification_commands  service-notify-by-email,service-notify-by-sms
     host_notification_commands     host-notify-by-email,host-notify-by-sms
     email                          [email protected]
     pager                          136****0434,138****0504
     }

2、修改vi /usr/local/nagios/etc/commands.cfg配置文件,把下面内容追加到配置文件中。
###### host-notify-by-sms command definition
   define command{
        command_name    host-notify-by-sms
     command_line /usr/local/bin/sms -f 1358******* -p 123456 -t $CONTACTPAGER$ -m "$NOTIFICATIONTYPE$ alert - Host $HOSTNAME$ is $HOSTSTATE$ on $LONGDATETIME$"
     }
 ###### service-notify-by-sms command definition
 define command{
        command_name service-notify-by-sms
        command_line /usr/local/bin/sms -f 1358******* -p 123456 -t $CONTACTPAGER$ -m "$NOTIFICATIONTYPE$: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ on $LONGDATETIME$"
}
   保存退出,之后重新启动nagios,启动完成之后,当服务报警的时候,你就可以收到手机短信了。服务ok之后还会有一个ok的短信提示你服务已经ok。
这里nagios 就算完成了,就可以 通过web界面、邮件、手机短信第一时间知道服务器的状态。
    我这里用了免费的飞信做手机提醒,还可以用 短信网关,短信猫都能与nagios 结合实现短信提醒。