用nagios来监控网络服务器和网络服务_第1页
用nagios来监控网络服务器和网络服务_第2页
用nagios来监控网络服务器和网络服务_第3页
用nagios来监控网络服务器和网络服务_第4页
用nagios来监控网络服务器和网络服务_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Nagiosnagios可以对服务器进行全面的监控,包括服务(apache、mysql、ntp、dns、disk、qmail和sshd等等)的状态,服务器的状态(up、down等等)。它是一个完全GPL协议的开源软件包,包含有nagios主程序和它的各个插件,配置非常灵活,可以监视的项目很多,可以自定义shell脚本进行监控服务,非常适合大型网络。nagios的包含主动监控和被动监控。主动检查是通过监控中心的主机发出请求,让运行在远程主机上的nrpe守护进程收集信息,然后报告它,它通过web接口把数据显示在页面上。它的工作原理如下:被动监控是当远程被监控主机处于防火墙之内的时候,只有远程主机可以访问到监控中心,防火墙之内可以设置另外一个监控中心,远程监控中心的nagios收集服务器信息以后,和nsca报告,由naca客户端报告naca的服务器端,然后报告监控中心的nagios,通过web接口显示监控结果。nagios的功能非常强大,/是它的窝,只有e文、法文和日文,没有中文,可惜啊。我现在引用它的一段文字进行总结一下到底什么是nagios:WhatIsThis?什么是nagios?Nagios®isasystemandnetworkmonitoringapplication.Itwatcheshostsandservicesthatyouspecify,alertingyouwhenthingsgobadandwhentheygetbetter.NagioswasoriginallydesignedtorununderLinux,althoughitshouldworkundermostotherunicesaswell.SomeofthemanyfeaturesofNagios®include:Monitoringofnetworkservices(SMTP,POP3,HTTP,NNTP,PING,etc.)Monitoringofhostresources(processorload,diskusage,etc.)SimpleplugindesignthatallowsuserstoeasilydeveloptheirownservicechecksParallelizedservicechecksAbilitytodefinenetworkhosthierarchyusing"parent"hosts,allowingdetectionofanddistinctionbetweenhoststhataredownandthosethatareunreachableContactnotificationswhenserviceorhostproblemsoccurandgetresolved(viaemail,pager,oruser-definedmethod)AbilitytodefineeventhandlerstoberunduringserviceorhosteventsforproactiveproblemresolutionAutomaticlogfilerotationSupportforimplementingredundantmonitoringhostsOptionalwebinterfaceforviewingcurrentnetworkstatus,notificationandproblemhistory,logfile,etc.Nagios是一个监视系统和网络的应用程序。它监视你所指定主机和服务,当监视的内容变好或者变坏时发出警告。Nagios最初是被设计在Linux平台上运行的,然而现在在其他平台上也运行良好。Nagios的特性包括:监视网络服务(SMTP,POP3,HTTP,NNTP,PING等等)监视主机资源(处理器负载、磁盘空间等)容许用户开发自己的插件去检查自定义的项目;通过使用“父主机”,定义网络主机的分层,容许探测主机down掉或者不可到达。可以定义在主机或服务运行期间,事件发生以后如何处理和解决方式;自动记录错误日志;支持冗余监视;可选web接口,通过web页面查看当前网络状态,提示和报告故障历史,日志文件等;Nagios的系统要求:Linux、Unix等apacheGD库(1.63以上)zlibpnglibjpeglibbasicicons等,其中apache的安装在blog中已经有相关的文章,搜索一下就行;gd、zlib、pnglib和jpeglib安装比较简单,步骤:下载tarballtarzxvfxxx.tar.gzcdxxx./configuremake&&makeinstallNagios的安装过程(FreeBSD)nagios的安装比较简单,复杂的是设置和配置参数的设定。不过你要放松一点,毕竟我们要搞定它,不是吗?那就开始吧:1:获得最新的安装包,/download2:以root身份登录服务器,目前最新的版本是2.5:nagios,版本2.5:fetch/sourceforge/nagios/nagios-2.5.tar.gzorwget/sourceforge/nagios/nagios-2.5.tar.gz获得nagios插件,版本1.4.3:/sourceforge/nagiosplug/nagios-plugins-1.4.3.tar.gz3)获得图库文件:/nagios/imagepak-base.tar.gzNRPE,版本2.5.2/sourceforge/nagios/nrpe-2.5.2.tar.gzNSCA,版本2.6/sourceforge/nagios/nsca-2.6.tar.gz3:切换到root用户:sudosu4:解压缩tarzxvfnagios-2.5.tar.gz5:建立运行nagios的用户:addusernagios6:建立安装nagios的文件夹,并使这个文件夹的所有者为nagios:nagiosmkdir/usr/local/nagioschownnagios.nagios/usr/local/nagios7:确认web服务器的用户可能会通过web接口执行一些命令,必须确定web服务器以哪个用户运行的,通常为apache:grep"AUser"/usr/local/apache2/conf/httpd.conf8:建立命令文件组这个新的组会包括apache的用户和nagios的用户pwgroupaddnagcmdpwusermodapache-Gnagcmdpwusermodnagios-Gnagcmdcat/etc/groupnagcmd:*:9007:apache,nagios8:运行配置脚本并安装nagioscdnagios-2.5./configure--prefix=/usr/local/nagios--with-gd-lib=/usr/local/lib--with-gd-inc=/usr/local/include***Configurationsummaryfornagios2.507-13-2006***GeneralOptions:Nagiosexecutable:nagiosNagiosuser/group:nagios,nagiosCommanduser/group:nagios,nagiosEmbeddedPerl:noEventBroker:yesInstall${prefix}:/usr/local/nagiosLockfile:${prefix}/var/nagios.lockInitdirectory:/usr/local/etc/rc.dHostOS:freebsd6.0WebInterfaceOptions:HTMLURL:http://localhost/nagios/CGIURL:http://localhost/nagios/cgi-bin/Traceroute(usedbyWAP):/usr/sbin/tracerouteReviewtheoptionsaboveforaccuracy.Iftheylookokay,type'makeall'tocompilethemainprogramandCGIs.makeallmakeinstallmakeinstall-initmakeinstall-commandmodemakeinstall-config9:安装nagios-pluginstarzxvfnagios-plugins-1.4.3.tar.gzcdnagios-plugins-1.4.3./configure--prefix=/usr/local/nagios-pluginsmakeallmakeinstall安装完成以后在/usr/local/nagios-plugins-plugins会产生一个libexec的目录,将该目录全部移动到/usr/local/nagios目录下即可。mv/usr/local/nagios-plugins-plugins/libexec//usr/local/nagios/10:imagepak-base.tar.gz的安装tar-vzfimagepak-base.tar.gz解压以后是base目录mvbase//usr/local/nagios/share/images/logos/现在开始配置:1:配置web接口假设你已经运行了apache,如果没有,请参考:http://localhost/upload/blog.php?do-showone-tid-18.htmlvi/usr/local/apache2/conf/httpd.conf添加如下内容:ScriptAlias/nagios/cgi-bin/usr/local/nagios/sbin<Directory"/usr/local/nagios/sbin">OptionsExecCGIAllowOverrideNoneOrderallow,denyAllowfromallAuthName"NagiosAccess"AuthTypeBasicAuthUserFile/usr/local/nagios/etc/htpasswd.usersRequirevalid-user</Directory>Alias/nagios/usr/local/nagios/share<Directory"/usr/local/nagios/share">OptionsNoneAllowOverrideNoneOrderallow,denyAllowfromallAuthName"NagiosAccess"AuthTypeBasicAuthUserFile/usr/local/nagios/etc/htpasswd.usersRequirevalid-user</Directory>修改完毕,保存文件,并重启apache:/usr/local/apahce2/bin/apachectlrestart2:配置apache的BASIC认证:生成认证密码:/usr/local/apache2/bin/htpasswd-/usr/local/nagios/etc/htpasswd.usersnagiosnagiosapache接口配置完成。开始配置nagios:cd/usr/local/nagios/etc/在/usr/local/nagios/etc下是nagios的配置模板文件-sample,把.cfg-sample文件全部拷贝成.cfg例如:cpnagios.cfg-samplenagios.cfg全部拷贝完成即可.viminimal.cfg注释所有command:注释的方法是在每一个定义语句前面添加”#“修改cgi.cfg修改use_authentication=l为use_authentication=0,即不用验证.不然有一些页面不会显示。现在检查配置文件是否有语法错误:/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg如果正确,会显示以下结果:TotalWarnings:0TotalErrors:0否则,需要根据提示进行修改配置文件。配置文件等会再弄。现在启动nagios/usr/local/nagios/bin/nagios-d/usr/local/nagios/etc/nagios.cfg为了使nagios异常中断,我们使用daemontools启动:安装daemontool:mkdir-p/packagechmodl755/packagecd/packagefetchhttp://cr.yp.to/daemontools/daemontools-0.76.tar.gzcdadmin/daemontools-0.76/package/install检查svscan进程是否启动:psaux|grepsvscanroot 3760.00.0l6360con-IW- 0:00.00/bin/sh/command/svscanbootroot 4ll0.00.0l224208con-S8Jul060:42.50svscan/serviceok,启动正常了。cd/servicemkdirnagioschmodl755nagiostouch./runchmod755./runvirunPATH=/usr/local/bin:/usr/bin:/binexportPATHexecenv-PATH=$PATH\/usr/local/nagios/bin/nagios/usr/local/nagios/etc/nagios.cfgmkdirlogcdlogtouch./runchmod755./runvi./run#!/bin/shexecsetuidgidlogadminmultilogts1000000n100./mainmkdirmainchmod777mainchownnagios.nagiosmaintouchstatuschownnagios.nagiosstatussvc-u/service/nagios/svstat/service/nagios/root@##psauxww|grepnagiosroot232760.00.11176488??I5:00PM0:01.71supervisenagiosnagios342510.00.323161552??S6:06PM0:00.10/usr/local/nagios/bin/nagios/usr/local/nagios/etc/nagios.cfgroot@##ok,现在把nagios服务做成自动启动的服务了。通过svc命令可以启动或者停止服务。svcoptsservicesoptsisaseriesofgetopt-styleoptions.servicesconsistsofanynumberofarguments,eachargumentnamingadirectoryusedbysupervise.-u:Up.Iftheserviceisnotrunning,startit.Iftheservicestops,restartit.-d:Down.Iftheserviceisrunning,senditaTERMsignalandthenaCONTsignal.Afteritstops,donotrestartit.-o:Once.Iftheserviceisnotrunning,startit.Donotrestartitifitstops.-p:Pause.SendtheserviceaSTOPsignal.-c:Continue.SendtheserviceaCONTsignal.-h:Hangup.SendtheserviceaHUPsignal.-a:Alarm.SendtheserviceanALRMsignal.-i:Interrupt.SendtheserviceanINTsignal.-t:Terminate.SendtheserviceaTERMsignal.-k:Kill.SendtheserviceaKILLsignal.-x:Exit.supervisewillexitassoonastheserviceisdown.Ifyouusethisoptiononastablesystem,you'redoingsomethingwrong;superviseisdesignedtorunforever.比如:停止nagios--svc-d/service/nagios/重启nagios--svc-t/service/nagios/启动nagios--svc-u/service/nagios/当然,你也可以使用inited的方式进行:/usr/local/etc/rc.d/nagiosstart/stop好了,反正daemontools很强大,以后慢慢熟悉,转入正题。现在打开网页:http://localhost/nagios/一定会让你大吃一惊,呵呵,我的服务器和服务状态都清楚的看到了。现在我们的nagios中只有一个,那就是它自己,loca山ost,呵呵,等会我们添加别的主机和主机服务,ok,我们认识一下nagios的庐山真面目:配置nagios:1) 为主机添加服务2) 添加主机并添加服务3) 停止一个服务4) 删除一台主机和服务5) 查看所有主机的故障6) 查看一台特定的主机状态7) 改变报警的时间间隔8) 改变发现故障的重试次数9) 如何在nagios中使用外部命令1)为主机添加一个服务为localhost主机添加qmail服务的监控,方法如下:viminimal.cfgdefineservice{use generic-service;Nameofservicetemplatetousehost_name localhostTOC\o"1-5"\h\zservice_descriptionqmail_smtpis_volatile 0check_period 24x7max_check_attempts1normal_check_interval1retry_check_interval 1contact_groups adminsnotification_options w,u,c,rnotification_interval960notification_period 24x7check_command check_smtp!20%!10%!/

可以直接拷贝原有的进行修改,我这个就是拷贝的原有的check」ocal_disk进行的。修改host_name,service_description,check_command等defineservice{use generic-service;Nameofservicetemplatetousehost_name localhostservice_descriptionqmail_pop3TOC\o"1-5"\h\zis_volatile 0check_period 24x7max_check_attempts 1normal_check_interval1retry_check_interval 1contact_groupsnotification_optionsnotification_intervalnotification_periodcheck_command}contact_groupsnotification_optionsnotification_intervalnotification_periodcheck_command}照猫画虎的进行修改adminsw,u,c,r96024x7check_pop!20%!10%!/然后去修改:vicheckcommands.cfg#'check_qmail'commanddefinitiondefinecommand{command_namecheck_qmailcommand_line$USER1$/check_smtp-H}definecommand{command_namecheck_pop3command_line$USER1$/check_pop-H}保存,然后检查配置文件:/usr/local/nagios/bin/nagios-v/usr/local/nagios/etc/nagios.cfg如果没有错误会显示:TotalWarnings:0TotalErrors:0如果有错误,请根据提示进行错误的修正。重启nagiossvc-d/service/nagios/&&svc-u/service/nagios/通过web页面检查nagios的结果:53/nagios/点击“ServiceDetail"会出现:2)添加主机并添加服务我们会监控这台主机的负载、磁盘等一些没有通过端口方式启动的服务器状态,以及它的服

务,比如:apache、mysql、qmail和ntp等等吧。那么没有端口的nagios直接能监控到吗?答案是不行。所以我们必须在两台主机上安装nrpe,nrpe可以启动5666端口,把检测的信息源源不断的传给监控中心的主机。ok,我们把apache、mysql、qmail和ntp先加上,这回我们把监控的主机和服务新建一个文件:cd/usr/local/nagios/etc/touch10_5_1_156.cfgvinagios.cfgcfg_file=/usr/local/nagios/etc/10_5_1_156.cfgvi10_5_1_156.cfg定义一个主机:definehost{use generic-host ;Nameofhosttemplatetousehost_nametest_nrpealias clientaddress56check_commandcheck-host-alivemax_check_attempts1check_period24x7notification_interval120notification_period24x7notification_optionsd,rcontact_groupsadmins}定义主机需要检查的服务:defineservice{use generic-service ;Nameofservicetemplatetousehost_name test_nrpeservice_descriptionPINGTOC\o"1-5"\h\zis_volatile 0check_period 24x7max_check_attempts1normal_check_interval1retry_check_interval 1contact_groups adminsnotification_options w,u,c,rnotification_interval960notification_periodcheck_command}notification_periodcheck_command}check_ping!100.0,20%!500.0,60%defineservice{

usegeneric-service;Nameofservicetemplatetousehost_name test_nrpeservice_descriptionapacheis_volatile 0check_period24x7max_check_attempts1normal_check_interval1retry_check_interval1contact_groupsadminsnotification_optionsw,u,c,rnotification_interval960notification_periodcheck_commandnotification_periodcheck_command}check_http!100.0,20%!500.0,60%defineservice{usegeneric-service;Nameofservicetemplatetousehost_name test_nrpeservice_descriptionmysqlis_volatile 0check_period24x7max_check_attempts1normal_check_interval1retry_check_interval1contact_groupsadminsnotification_optionsw,u,c,rnotification_interval960notification_periodcheck_commandnotification_periodcheck_command}check_mysql!100.0,20%!500.0,60%defineservice{usegeneric-service ;Nameofservicetemplatetousehost_name test_nrpeservice_descriptionntpis_volatile 0check_period24x7max_check_attempts1normal_check_interval1retry_check_interval1contact_groupsadminsnotification_optionsw,u,c,rnotification_interval960notification_period24x7

check_commandcheck_ntp!100.0,20%!500.0,60%}defineservice{usegeneric-service ;Nameofservicetemplatetousehost_name test_nrpeservice_descriptionqmail_smtpis_volatile 0check_period24x7max_check_attempts1normal_check_interval1retry_check_interval1contact_groupsadminsnotification_optionsw,u,c,rnotification_interval960notification_periodcheck_commandnotification_periodcheck_command}check_smtp!100.0,20%!500.0,60%defineservice{usegeneric-service ;Nameofservicetemplatetousehost_name test_nrpeservice_descriptionqmail_pop3is_volatile 0check_period24x7max_check_attempts1normal_check_interval1retry_check_interval1contact_groupsadminsnotification_optionsw,u,c,rnotification_interval960notification_periodcheck_commandnotification_periodcheck_commandcheck_pop!100.0,20%!500.0,60%}现在我们象上次一样把服务也定义完了

}现在我们象上次一样把服务也定义完了new_host_serviceliu1084回复于:2006-08-1418:29:02此时是不是多了一个主机和它下面的服务呢?那是肯定的,添加主机和服务可能出现的问题有如下情况:1:配置参数出现问题,如果你没有检查配置就启动nagios,可能会启动成功,但是显示会不正常;解决方法:调整配置参数2:Connectionrefused当出现这个问题的时候,我开始以为是ssh的无密码登录没有成功,但是其实我的服务器没有启动该服务造成的,启动服务即可。但是这些是有端口的服务,没有使用端口的状态任何检测?使用nrpe,ok,我们现在在服务器上安装nrpe:一、远程主机的配置1、安装nrpe与配置fetch/sourceforge/nagios/nrpe-2.5.2.tar.gztarzxvfnrpe-2.5.2.tar.gzcdnrpe-2.5.2./configure--enable-ssl--enable-command-argsmakeallmkdir-p/usr/local/nagios/etcmkdir/usr/local/nagios/binmkdir/usr/local/nagios/libexecpwaddgroupnagiospwuseraddnagios-gnagios-d/usr/local/nagios/-s/sbin/nologinchown-Rnagios:nagios/usr/local/nagioscp./sample-config/nrpe.cfg/usr/local/nagios/etccpsrc/nrpe/usr/local/nagios/bin2、启动nrpe,端口为5666/usr/local/nagios/bin/nrpe-c/usr/local/nagios/etc/nrpe.cfg-dnetstat-ant|grep5666tcp400*.5666 *.*LISTEN二、监控服务器上的配置1、 安装nrpe(主要是使用check_nrpe模块)fetch/sourceforge/nagios/nrpe-2.5.2.tar.gztarzxvfnrpe-2.5.2.tar.gzcdnrpe-2.5.2./configure--enable-ssl--enable-command-argsmakeallcpsrc/check_nrpe/usr/local/nagios/libexec2、 nagios文件的配置vicheckcommands.cfg定义check_nrpe命令#'check_nrep'commanddefinitiondefinecommand{command_namecheck_nrpecommand_line/usr/local/nagios/libexec/check_nrpe-H$HOSTADDRESS$-c$ARG1$}三、上面我们已经配置了一部分参数,下面是配置的最终结果:definehost{use generic-host ;Nameofhosttemplatetousehost_nametest_nrpealias clientaddress56check_commandcheck-host-alivemax_check_attempts1check_period24x7

notification_interval120notification_period24x7notification_optionsd,rcontact_groupsadmins}#'check_load'commanddefinitiondefinecommand{command_namecheck_loadcommand_line$USER1$/check_load-w$ARG1$-c$ARG2$}#'check_load'commanddefinitiondefinecommand{command_namecheck_diskcommand_line$USER1$/check_disk-w$ARG1$-c$ARG2$}defineservice{usegeneric-service ;Nameofservicetemplatetousehost_name test_nrpeservice_descriptionPINGis_volatile 0check_period24x7max_check_attempts1normal_check_interval1retry_check_interval1contact_groupsadminsnotification_optionsw,u,c,rnotification_interval960notification_periodcheck_commandnotification_periodcheck_command}check_ping!100.0,20%!500.0,60%defineservice{usegeneric-service ;Nameofservicetemplatetousehost_name test_nrpeservice_descriptionapacheis_volatile 0check_period24x7max_check_attempts1normal_check_interval1retry_check_interval1contact_groupsadminsnotification_optionsw,u,c,r

notification_intervalnotification_periodcheck_command96024x7check_http!100.0,20%!500.0,60%}defineservice{usegeneric-service;Nameofservicetemplatetousehost_name test_nrpeservice_descriptionmysqlis_volatile 0check_period24x7max_check_attempts1normal_check_interval1retry_check_interval1contact_groupsadminsnotification_optionsw,u,c,rnotification_interval960notification_periodcheck_commandnotification_periodcheck_command}check_mysql!100.0,20%!500.0,60%defineservice{usegeneric-service;Nameofservicetemplatetousehost_name test_nrpeservice_descriptionntpis_volatile 0check_period24x7max_check_attempts1normal_check_interval1retry_check_interval1contact_groupsadminsnotification_optionsw,u,c,rnotification_interval960notification_periodcheck_commandnotification_periodcheck_command}check_ntp!100.0,20%!500.0,60%defin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论