Nagios的安装与配置(4)
本帖最后由monicazhang于2015-10-3021:40编辑20151030淡然续上
echo-n"RestartingApacheservice..."/sbin/servicehttpdrestart;;esac;;HARD)echo-n"RestartingApacheservice..."/sbin/servicehttpdrestart;;esac;;esacexit01)配置Nagios监控机上的配置文件Ø修改nagios.cfgenable_event_handlers=1#开启全局
事件处理Ø在命令配置文件中定义重启apache的命令#cd/usr/local/nagios/etc/#viobjects/commands.cfg#restarttheapacheserviceonaremoteservernagios安装definecommand{command_namerestart-httpdcommand_line/usr/bin/sshnagios@$HOSTADDRESS$"sudo/usr/local/nagios/libexec/eventhandlers/restart-httpd$SERVICESTATE$$SERVICESTATETYPE$$SERVICEATTEMPT$"}Ø配置主机监控文件修改services.cfg配置,加入事件处理配置
#vi/usr/local/nagios/etc/objects/services.cfgdefineservice{usesrv-pnphost_namenagios-test1service_descriptioncheck_tcp80check_period24x7max_check_attempts4normal_check_interval3retry_check_interval2contact_groupsadminsnotification_interval10notification_period24x7notification_optionsw,u,c,revent_handler_enabled1#启用事件处理event_handlerrestart-httpd#事件处理执行的命令check_commandcheck_tcp!80}
1)测试在被监控机停止apache服务,等待几分钟后检查被监控机的apache服务是否自动启动。Nagios通过NRPE执行event_hander1)在远程机器上编写service重启脚本
vi/usr/local/nagios/libexec/service_hander内容如下:#!/bin/sh##Eventhandlerscriptforrestartingtheserviceontheremotemachine开源监控软件##Note:Thisscriptwillonlyrestartserviceiftheserviceis#retried2times(ina"soft"state)oriftheservicessomehow#managestofallintoa"hard"errorstate.###Whatstateisservicein?case"$1"inOK);;WARNING);;UNKNOWN);;CRITICAL)#Isthisa"soft"ora"hard"state?case"$2"inSOFT)#Whatcheckattemptareweon?Wedon'twanttorestarttheserviceonthefirst#check,becauseitmayjustbeafluke!case"$3"in2)echo-n"Restarting$4service..."/sbin/service$4restart;;esac;;HARD)echo-n"Restarting$4service..."/sbin/service$4restart;;esac;;esacexit0
重新编译nrpe,需要让nrpe传递参数./configure--prefix=/usr/local/nagios--enable-command-argsnagios配置修改nrpe.cfgvi/usr/local/nagios/etc/nrpe.cfgdont_blame_nrpe0改为1command=/usr/local/nagios/libexec/service_hander$ARG1$$ARG2$$ARG3$$ARG4$配置完nrpe后需要重启启动nrpe服务服务端配置(修改ssh方式下的command.cfg)vi/usr/local/nagios/etc/objects/commands.cfg
找到以下内容:definecommand{command_namerestart-httpdcommand_line/usr/bin/sshnagios@$HOSTADDRESS$"sudo/usr/local/nagios/libexec/eventhandlers/restart-httpd$SERVICESTATE$$SERVICESTATETYPE$$SERVICEATTEMPT$"}修改为:definecommand{command_namerestart-httpdcommand_line/usr/local/nagios/libexec/check_nrpe-H172.26.188.202-crestart_service-a$SERVICESTATE$$SERVICESTATETYPE$$SERVICEATTEMPT$httpd}报警通知邮件报警通知安装配置sendmailsendmail安装yum-yinstallsendmailsendmail-cfsendmail-develdovecotcyrus-saslcyrus-sasl-libcyrus-sasl-plainsendmail配置n配置MTAvim/etc/mail/sendmail.mcA、找到DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1,Name=MTA')dnl监控软件修改为DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0,Name=MTA')dnlB、找到TRUST_AUTH_MECH(`EXTERNALDIGEST-MD5CRAM-MD5LOGINPLAIN')dnldefine(`confAUTH_MECHANISMS',`EXTERNALGSSAPIDIGEST-MD5CRAM-MD5LOGINPLAIN')dnl去掉注释及前面的dnl,把两行移到最前面。n生成sendmail.cf主配置文件。mv/etc/mail/sendmail.cf/etc/mail/sendmail.cf-bak
m4/etc/mail/sendmail.mc>/etc/mail/sendmail.cfn设置local-host-names文件echo"nagios-server.com">>/etc/mail/local-host-names
此处abc.com是域名,即DNS解析MX解析的域名n设置访问控制access和access.db。Acces的配置为:地址控制Vi/etc/mail/accesslocalhost.localdomainRELAYlocalhostRELAY127.0.0.1RELAY192.168.0.71RELAY192.168.0.129RELAYMakemaphashaccess<accessn添加账户:groupaddusermail
adduser-gusermail-s/sbin/nologinuser1nagios实施
passwduser1n设置别名vim/etc/aliasesnagios邮件报警配置Ø配置邮件报警command#vi/usr/local/nagios/etc/objects/commands.cfg#'notify-host-by-email'commanddefinitiondefinecommand{command_namenotify-host-by-emailcommand_line/usr/bin/printf"%b""*****Nagios*****NotificationType:$NOTIFICATIONTYPE$Host:$HOSTNAME$State:$HOSTSTATE$Address:$HOSTADDRESS$Info:$HOSTOUTPUT$Date/Time:$LONGDATETIME$"|/bin/mail-s"**$NOTIFICATIONTYPE$HostAlert:$HOSTNAME$is$HOSTSTATE$**"$CONTACTEMAIL$}#'notify-service-by-email'commanddefinitionnagios培训
待续:http://www.ITILxf.com/thread-53046-1-1.html
本帖关键字:Nagios
页:
[1]