×

扫描二维码登录本站

Nagios的安装与配置(4)

标签: 暂无标签
本帖最后由 monicazhang 于 2015-10-30 21:40 编辑

20151030淡然
续上




echo -n "Restarting Apache service..."
/sbin/service httpd restart
;;
esac
;;
HARD)
echo -n "Restarting Apache service..."
/sbin/service httpd restart
;;
esac
;;
esac
exit 0
1)         配置Nagios监控机上的配置文件
Ø         修改nagios.cfg
enable_event_handlers=1                                                                                                    #开启全局

事件处理
Ø         在命令配置文件中定义重启apache的命令
# cd /usr/local/nagios/etc/
#vi objects/commands.cfg
#restart the apache service on a remote server                      nagios安装
define command{
command_name    restart-httpd
command_line    /usr/bin/ssh        nagios@$HOSTADDRESS$    "sudo /usr/local/nagios/libexec/eventhandlers/restart-httpd $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$"
        }
Ø         配置主机监控文件
修改services.cfg配置,加入事件处理配置
#vi /usr/local/nagios/etc/objects/services.cfg
define service {
        use                   srv-pnp
        host_name             nagios-test1
        service_description   check_tcp 80
        check_period          24x7
        max_check_attempts    4
        normal_check_interval 3
        retry_check_interval  2
        contact_groups        admins
        notification_interval   10
        notification_period     24x7
        notification_options    w,u,c,r
        event_handler_enabled   1                                                                             #启用事件处理
        event_handler           restart-httpd                                                     #事件处理执行的命令
        check_command      check_tcp!80
        }

1)         测试
在被监控机停止apache服务,等待几分钟后检查被监控机的apache服务是否自动启动。
Nagios通过NRPE执行event_hander
1)         在远程机器上编写service重启脚本
vi /usr/local/nagios/libexec/service_hander
内容如下:
#!/bin/sh
#
# Event handler script for restarting the service on the remote machine           开源监控软件
#
# Note: This script will only restart service if the service is
# retried 2 times (in a "soft" state) or if the services somehow
# manages to fall into a "hard" error state.
#
#
# What state is service in?
case "$1" in
OK)
;;
WARNING)
;;
UNKNOWN)
;;
CRITICAL)
# Is this a "soft" or a "hard" state?
case "$2" in
SOFT)
# What check attempt are we on? We don't want to restart the service on the first
# check, because it may just be a fluke!
case "$3" in
2)
echo -n "Restarting $4 service..."
/sbin/service $4 restart
;;
esac
;;
HARD)
echo -n "Restarting $4 service..."
/sbin/service $4 restart
;;
esac
;;
esac
exit 0

重新编译nrpe,需要让nrpe传递参数
./configure --prefix=/usr/local/nagios  --enable-command-args                        nagios配置
修改nrpe.cfg
vi  /usr/local/nagios/etc/nrpe.cfg
dont_blame_nrpe   0改为1
command[restart_service]=/usr/local/nagios/libexec/service_hander $ARG1$ $ARG2$ $ARG3$ $ARG4$
配置完nrpe后需要重启启动nrpe服务
服务端配置(修改ssh方式下的command.cfg
vi /usr/local/nagios/etc/objects/commands.cfg

找到以下内容:
define command{
command_name    restart-httpd
command_line    /usr/bin/ssh        nagios@$HOSTADDRESS$    "sudo /usr/local/nagios/libexec/eventhandlers/restart-httpd $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$"
        }
修改为:
define command{
        command_name    restart-httpd
        command_line    /usr/local/nagios/libexec/check_nrpe -H 172.26.188.202 -c restart_service -a $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ httpd
        }
报警通知邮件报警通知安装配置sendmail
sendmail安装
yum -y install sendmail sendmail-cf sendmail-devel dovecot cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain
sendmail配置
n          配置MTA
         vim /etc/mail/sendmail.mc
         A、找到DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl             监控软件
修改为DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
B、找到TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
                   去掉注释及前面的dnl,把两行移到最前面。
n         生成sendmail.cf主配置文件。
mv /etc/mail/sendmail.cf /etc/mail/sendmail.cf-bak
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
n         设置local-host-names文件
echo "nagios-server.com" >>/etc/mail/local-host-names
此处abc.com是域名,即DNS解析MX解析的域名
n         设置访问控制accessaccess.db
Acces的配置为:地址              控制
Vi   /etc/mail/access
localhost.localdomain           RELAY
localhost                       RELAY
127.0.0.1                       RELAY
192.168.0.71                    RELAY
192.168.0.129                   RELAY
Makemap hash access < access
n         添加账户:
groupadd usermail
adduser -g usermail -s /sbin/nologin user1                  
nagios实施
passwd user1
n         设置别名
vim /etc/aliases
nagios邮件报警配置
&#216;         配置邮件报警command
#vi /usr/local/nagios/etc/objects/commands.cfg
# 'notify-host-by-email' command definition
define command{
        command_name    notify-host-by-email
        command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
        }
# 'notify-service-by-email' command definition              nagios培训




待续:http://ITIL-foundation.cn/thread-53046-1-1.html
本帖关键字:Nagios




上一篇:Nagios的安装与配置(3)
下一篇:Nagios的安装与配置(5)
monicazhang

写了 2297 篇文章,拥有财富 12859,被 21 人关注

您需要登录后才可以回帖 登录 | 立即注册
B Color Link Quote Code Smilies

成为第一个吐槽的人

Powered by ITIL  © 2001-2025
返回顶部