iyufygfd 发表于 2016-12-26 10:53:06

nagios 监控配置介绍(三)

1.主动监控模式
监控客户端LNMP 网站服务

服务器端:
#cd /usr/local/nagios/etc/objects
# vi commands.cfg
#在最下面增加:

# 'check_weburl' command definition
define command{
      command_name    check_weburl
      command_line    $USER1$/check_http $ARG1$ -w 10 -c 30
      }
保存退出

#cd /usr/local/nagios/etc/services
创建主动模式监控配置文件webzd.cfg
#vi webzd.cfg
define service {
      use               generic-service
      host_name         1.34-web
      service_description    blog_ip
      check_command      check_weburl! -I 10.89.1.34
      max_check_attempts   3
      normal_check_interval   2
      retry_check_interval    1
      check_period         24x7
      notification_interval   30
      notification_period    24x7
      notification_options    w,u,c,r
      contact_groups      admins
      process_perf_data      1
}

define service {
      use               generic-service
      host_name         1.34-web
      service_description   blog_url
      check_command      check_http! -H bolg.etiantian.org
      max_check_attempts   3
      normal_check_interval   2
      retry_check_interval    1
      check_period         24x7
      notification_interval   30
      notification_period    24x7
      notification_options    w,u,c,r
      contact_groups      admins

}


define service {
      use               generic-service
      host_name         1.34-web
      service_description    blog_port_80
      check_command      check_tcp!80
      max_check_attempts   3
      normal_check_interval   2
      retry_check_interval    1
      check_period         24x7
      notification_interval   30
      notification_period    24x7
      notification_options   w,u,c,r
      contact_groups       admins

}


define service {
      use               generic-service
      host_name         1.34-web
      service_description    ssh_port
      check_command      check_tcp! 22
      max_check_attempts   3
      normal_check_interval   2
      retry_check_interval    1
      check_period         24x7
      notification_interval   30
      notification_period    24x7
      notification_options    w,u,c,r
      contact_groups      admins

}
define service {
      use               generic-service
      host_name         1.34-web
      service_description    mysql_port
      check_command      check_tcp!3306
      max_check_attempts   3
      normal_check_interval   2
      retry_check_interval    1
      check_period         24x7
      notification_interval   30
      notification_period   24x7
      notification_options    w,u,c,r
      contact_groups      admins

}

define service {
      use               generic-service
      host_name         1.34-web
      service_description    rsync
      check_command      check_tcp!873
      max_check_attempts   3
      normal_check_interval   2
      retry_check_interval   1
      check_period         24x7
      notification_interval   30
      notification_period    24x7
      notification_options    w,u,c,r
      contact_groups      admins

}
保存并退出

检查语法
# /etc/init.d/nagios checkconfig

没有错误的情况下:

# /etc/init.d/nagios reload
------------------------------------------------------------------

自定义插件:监控密码文件是否改变


客户端测试:
将/etc/passwd生成md5值
# md5sum /etc/passwd
5e2ebd59c3ebb7bd3c4b09b0674ca746/etc/passwd
保存到/etc/alvin.md5 (文件名随便取,存放的位置任意)
# md5sum /etc/passwd >/etc/alvin.md5
分析md5值是否变化,没有变化显示"OK"
# md5sum -c /etc/alvin.md5
/etc/passwd: OK

实战:
1.在客户端添加自定义脚本
cd /usr/local/nagios/libexec
cat check_passwd
#!/bin/bash
char=`md5sum -c /etc/alvin.md5 2>/dev/null|grep "OK"|wc -l`
if [ $char -eq 1 ];
then
    echo "passwd is ok"
    exit 0
else
    echo "passwd is changed"
    exit 2
fi

#添加执行的权限
# chmod +x check_passwd
# ll check_passwd
-rwxr-xr-x 1 root root 166 Jul 22 21:33 check_passwd
2.在客户端增加命令,并重启nrpe服务使之生效
#vim /usr/local/nagios/etc/nrpe.cfg
添加check_passwd定义命令
command=/usr/local/nagios/libexec/check_passwd

#pkill nrpe
#重新启动nrpe
#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
#查看是否启动了
ps -ef|grep nrpe   
nagios    64672      10 Dec22 ?      00:00:21 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
root      72255720990 11:48 pts/0    00:00:00 grep nrpe
3.在服务端测试
# /usr/local/nagios/libexec/check_nrpe -H 10.89.1.34 -c check_passwd
passwd is ok

添加服务脚本
#cd /usr/local/nagios/etc/objects/
# vi services.cfg
#在后面添加
define service{
      use               generic-service
      host_name         1.34-web-lnmp
      service_description    check_passwd
      check_command      check_nrpe!check_passwd
}

检测语法并重新加载/etc/init.d/nagios checkconfig
没有错误的情况下:
# /etc/init.d/nagios reload

4.改变性测试在客户端执行添加用户命令
#useradd jack
服务端执行
# /usr/local/nagios/libexec/check_nrpe -H 10.89.1.34 -c check_passwd
passwd is changed


页: [1]
查看完整版本: nagios 监控配置介绍(三)