仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 714|回复: 8
打印 上一主题 下一主题

[CentOS(社区)] 来谈谈:Centos下Nagios的装置与设置装备摆设

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:05:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
小知识:对CentOS提供支持将是OpenLogic首次支持一个完整的Linux操作系统。
<divid="cnblogs_post_body">1、Nagios简介

  Nagios是一款开源的电脑体系和收集监督对象,能有用监控Windows、Linux和Unix的主机状况,交流机路由器等收集设置,打印机等。在体系或办事状况异常时收回邮件或短信报警第一时光告诉网站运维人员,在状况恢复后收回正常的邮件或短信告诉。
  Nagios原名为NetSaint,由EthanGalstad开辟并保护至今。NAGIOS是一个缩写情势:"NagiosAintGonnaInsistOnSainthood"Sainthood翻译为圣徒,而"Agios"是"saint"的希腊表现办法。Nagios被开辟在Linux下应用,但在Unix下也任务得异常好。
重要功效


  • 收集办事监控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
  • 主机资本监控(CPUload、diskusage、systemlogs),也包含Windows主机(应用NSClient++plugin)
  • 可以指定本身编写的Plugin经由过程收集搜集数据来监控任何情形(温度、正告……)
  • 可以经由过程设置装备摆设Nagios长途履行插件长途履行剧本
  • 长途监控支撑SSH或SSL加通道方法停止监控
  • 简略的plugin设计许可用户很轻易的开辟本身须要的检讨办事,支撑许多开辟说话(shellscripts、C++、Perl、ruby、Python、PHP、C#等)
  • 包括许多图形化数据Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)
  • 可并行办事检讨
  • 可以或许界说收集主机的条理,许可逐级检讨,就是从父主机开端向下检讨
  • 当办事或主机涌现成绩时收回公告,可经由过程email,pager,sms或随意率性用户自界说的plugin停止告诉
  • 可以或许自界说事宜处置机制从新激活出成绩的办事或主机
  • 主动日记轮回
  • 支撑冗余监控
  • 包含Web界面可以检查以后收集状况,告诉,成绩汗青,日记文件等
2、Nagios任务道理
  Nagios的功效是监控办事和主机,然则他本身其实不包含这部门功效,一切的监控、检测功效都是经由过程各类插件来完成的。
  启动Nagios后,它会周期性的主动挪用插件去检测办事器状况,同时Nagios会保持一个队列,一切插件前往来的状况信息都进入队列,Nagios每次都从队首开端读守信息,并停止处置后,把状况成果经由过程web显示出来。
  Nagios供给了很多插件,应用这些插件可以便利的监控许多办事状况。装置完成后,在nagios主目次下的/libexec里放有nagios自带的可使用的一切插件,如,check_disk是检讨磁盘空间的插件,check_load是检讨CPU负载的,等等。每个插件可以经由过程运转./check_xxxCh来检查其应用办法和功效。
  Nagios可以辨认4种状况前往信息,即0(OK)表现状况正常/绿色、1(WARNING)表现涌现正告/黄色、2(CRITICAL)表现涌现异常严重的毛病/白色、3(UNKNOWN)表现未知毛病/深黄色。Nagios依据插件前往来的值,来断定监控对象的状况,并经由过程web显示出来,以供治理员实时发明毛病。
四种监控状况

  再说报警功效,假如监控体系发明成绩不克不及报警那就没成心义了,所以报警也是nagios很主要的功效之一。然则,异样的,Nagios本身也没有报警部门的代码,乃至没有插件,而是交给用户或许其他相干开源项目组去完成的。
  Nagios装置,是指根本平台,也就是Nagios软件包的装置。它是监控系统的框架,也是一切监控的基本。
  翻开Nagios官方的文档,会发明Nagios根本上没有甚么依附包,只需求体系是Linux或许其他Nagios支撑的体系。不外假如你没有装置apache(http办事),那末你就没有那末直不雅的界面来检查监控信息了,所以apache权且算是一个条件前提。关于apache的装置,网上有许多,照着装置就是了。装置以后要检讨一下能否可以正常任务。
  晓得Nagios是若何经由过程插件来治理办事器对象后,如今开端研讨它是若何治理远端办事器对象的。Nagios体系供给了一个插件NRPE。Nagios经由过程周期性的运转它来取得远端办事器的各类状况信息。它们之间的关系以下图所示:

Nagios经由过程NRPE来远端治理办事
1.Nagios履行装置在它外面的check_nrpe插件,并告知check_nrpe去检测哪些办事。
2.经由过程SSL,check_nrpe衔接远端机子上的NRPEdaemon
3.NRPE运转当地的各类插件去检测当地的办事和状况(check_disk,..etc)
4.最初,NRPE把检测的成果传给主机真个check_nrpe,check_nrpe再把成果送到Nagios状况队列中。
5.Nagios顺次读取队列中的信息,再把成果显示出来。
3、试验情况
HostNameOSIPSoftwareNagios-ServerCentOSrelease6.3(Final)192.168.1.108Apache、Php、Nagios、nagios-pluginsNagios-LinuxCentOSrelease5.8(Final)192.168.1.111nagios-plugins、nrpeNagios-WindowsWindowsXP192.168.1.113NSClient++Server装置了nagios软件,对监控的数据做处置,而且供给web界面检查和治理。固然也能够对本机本身的信息停止监控。
Client装置了NRPE等客户端,依据监控机的要求履行监控,然后将成果回传给监控机。
防火墙已封闭/iptables:Firewallisnotrunning.
SELINUX=disabled
4、试验目的

5、Nagios办事端装置
5.1基本支撑套件:gccglibcglibc-commongdgd-develxinetdopenssl-devel
#rpm-qgccglibcglibc-commongdgd-develxinetdopenssl-devel

假如体系中没有这些套件,应用yum装置
#yuminstall-ygccglibcglibc-commongdgd-develxinetdopenssl-devel
5.2创立nagios用户和用户组
  1. #useradd-s/sbin/nologinnagios#mkdir/usr/local/nagios#chown-Rnagios.nagios/usr/local/nagios
复制代码



检查nagios目次的权限
#ll-d/usr/local/nagios/

5.3编译装置Nagios
#wgethttp://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.3.tar.gz
#tarzxvfnagios-3.4.3.tar.gz
#cdnagios
#./configure--prefix=/usr/local/nagios


#makeall


#makeinstall

#makeinstall-init

#makeinstall-commandmode

#makeinstall-config

#chkconfig--addnagios
#chkconfig--level35nagioson
#chkconfig--listnagios

5.4验证法式能否被准确装置
切换目次到装置路径(这里是/usr/local/nagios),看能否存在etc、bin、sbin、share、var这五个目次,假如存在则可以注解法式被准确的装置到体系了。Nagios各个目次用处解释以下:
binNagios可履行法式地点目次etcNagios设置装备摆设文件地点目次sbinNagiosCGI文件地点目次,也就是履行内部敕令所需文件地点的目次shareNagios网页文件地点的目次libexecNagios内部插件地点目次varNagios日记文件、lock等文件地点的目次var/archivesNagios日记主动归档目次var/rw用来寄存内部敕令文件的目次5.5装置Nagios插件
#wgethttp://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
#tarzxvfnagios-plugins-1.4.16.tar.gz
#cdnagios-plugins-1.4.16
#./configure--prefix=/usr/local/nagios
#make&&makeinstall


5.6装置与设置装备摆设Apache和Php
Apache和Php不是装置nagios所必需的,然则nagios供给了web监控界面,经由过程web监控界面可以清楚的看到被监控主机、资本的运转状况,是以,装置一个web办事是很需要的。
须要留意的是,nagios在nagios3.1.x版本今后,设置装备摆设web监控界面时须要php的支撑。这里我们下载的nagios版本为nagios-3.4.3,是以在编译装置完成apache后,还须要编译php模块,这里拔取的php版本为php5.4.10。
a.装置Apache
#wgethttp://labs.mop.com/apache-mirror//httpd/httpd-2.2.23.tar.gz
#tarzxvfhttpd-2.2.23.tar.gz
#cdhttpd-2.2.23
#./configure--prefix=/usr/local/apache2
#make&&makeinstall

若涌现毛病:

则在编译时入加--with-included-apr便可处理。
b.装置Php
#wgethttp://cn2.php.net/distributions/php-5.4.10.tar.gz
#tarzxvfphp-5.4.10.tar.gz
#cdphp-5.4.10
#./configure--prefix=/usr/local/php--with-apxs2=/usr/local/apache2/bin/apxs

#make&&makeinstall

c.设置装备摆设apache
找到apache的设置装备摆设文件/usr/local/apache2/conf/httpd.conf
找到:
  1. UserdaemonGroupdaemon
复制代码


修正为
  1. UsernagiosGroupnagios
复制代码


然后找到
  1. <IfModuledir_module>  DirectoryIndexindex.html</IfModule>
复制代码


修正为
  1. <IfModuledir_module>  DirectoryIndexindex.htmlindex.php</IfModule>
复制代码


接着增长以下内容:
  1. AddTypeapplication/x-httpd-php.php
复制代码


为了平安起见,普通情形下要让nagios的web监控页面必需经由受权能力拜访,这须要增长验证设置装备摆设,即在httpd.conf文件最初添加以下信息:
  1. #settingfornagiosScriptAlias/nagios/cgi-bin"/usr/local/nagios/sbin"<Directory"/usr/local/nagios/sbin">AuthTypeBasicOptionsExecCGIAllowOverrideNoneOrderallow,denyAllowfromallAuthName"NagiosAccess"AuthUserFile/usr/local/nagios/etc/htpasswd//用于此目次拜访身份验证的文件Requirevalid-user</Directory>Alias/nagios"/usr/local/nagios/share"<Directory"/usr/local/nagios/share">AuthTypeBasicOptionsNoneAllowOverrideNoneOrderallow,denyAllowfromallAuthName"nagiosAccess"AuthUserFile/usr/local/nagios/etc/htpasswdRequirevalid-user</Directory>
复制代码


d.创立apache目次验证文件
在下面的设置装备摆设中,指定了目次验证文件htpasswd,上面要创立这个文件:
#/usr/local/apache2/bin/htpasswd-c/usr/local/nagios/etc/htpasswddavid

如许就在/usr/local/nagios/etc目次下创立了一个htpasswd验证文件,当经由过程http://192.168.1.108/nagios/拜访时就须要输出用户名和暗码了。
e.检查认证文件的内容
#cat/usr/local/nagios/etc/htpasswd

f.启动apache办事
#/usr/local/apache2/bin/apachectlstart
到这里nagios的装置也就根本完成了,你可以经由过程web来拜访了。


6、设置装备摆设Nagios
Nagios重要用于监控一台或许多台当地主机及长途的各类信息,包含本机资本及对外的办事等。默许的Nagios设置装备摆设没有任何监控内容,仅是一些模板文件。若要让Nagios供给办事,就必需修正设置装备摆设文件,增长要监控的主机和办事,上面将具体引见。
6.1默许设置装备摆设文件引见
Nagios装置终了后,默许的设置装备摆设文件在/usr/local/nagios/etc目次下。

每一个文件或目次寄义以下表所示:
文件名或目次名用处cgi.cfg掌握CGI拜访的设置装备摆设文件nagios.cfgNagios主设置装备摆设文件resource.cfg变量界说文件,又称为资本文件,在些文件中界说变量,以便由其他设置装备摆设文件援用,如$USER1$objectsobjects是一个目次,在此目次下有许多设置装备摆设文件模板,用于界说Nagios对象objects/commands.cfg敕令界说设置装备摆设文件,个中界说的敕令可以被其他设置装备摆设文件援用objects/contacts.cfg界说接洽人和接洽人组的设置装备摆设文件objects/localhost.cfg界说监控当地主机的设置装备摆设文件objects/printer.cfg界说监控打印机的一个设置装备摆设文件模板,默许没有启用此文件objects/switch.cfg界说监控路由器的一个设置装备摆设文件模板,默许没有启用此文件objects/templates.cfg界说主机和办事的一个模板设置装备摆设文件,可以在其他设置装备摆设文件中援用objects/timeperiods.cfg界说Nagios监控时光段的设置装备摆设文件objects/windows.cfg监控Windows主机的一个设置装备摆设文件模板,默许没有启用此文件6.2设置装备摆设文件之间的关系
在nagios的设置装备摆设过程当中触及到的几个界说有:主机、主机组,办事、办事组,接洽人、接洽人组,监控时光,监控敕令等,从这些界说可以看出,nagios各个设置装备摆设文件之间是互为联系关系,彼此援用的。
胜利设置装备摆设出一台nagios监控体系,必需要弄清晰每一个设置装备摆设文件之间依附与被依附的关系,最主要的有四点:
第一:界说监控哪些主机、主机组、办事和办事组;
第二:界说这个监控要用甚么敕令完成;
第三:界说监控的时光段;
第四:界说主机或办事涌现成绩时要告诉的接洽人和接洽人组。
6.3设置装备摆设Nagios
为了能更清晰的解释成绩,同时也为了保护便利,建议将nagios各个界说对象创立自力的设置装备摆设文件:


  • 创立hosts.cfg文件来界说主机和主机组
  • 创立services.cfg文件来界说办事
  • 用默许的contacts.cfg文件来界说接洽人和接洽人组
  • 用默许的commands.cfg文件来界说敕令
  • 用默许的timeperiods.cfg来界说监控时光段
  • 用默许的templates.cfg文件作为资本援用文件
a.templates.cfg文件
nagios重要用于监控主机资本和办事,在nagios设置装备摆设中称为对象,为了不用反复界说一些监控对象,Nagios引入了一个模板设置装备摆设文件,将一些个性的属性界说成模板,以便于屡次援用。这就是templates.cfg的感化。
上面具体引见下templates.cfg文件中每一个参数的寄义:
  1. definecontact{namegeneric-contact;接洽人称号service_notification_period24x7;当办事涌现异常时,发送告诉的时光段,这个时光段"24x7"在timeperiods.cfg文件中界说host_notification_period24x7;当主机涌现异常时,发送告诉的时光段,这个时光段"24x7"在timeperiods.cfg文件中界说service_notification_optionsw,u,c,r;这个界说的是“告诉可以被收回的情形”。w即warn,表现正告状况,u即unknown,表现不明状况;;c即criticle,表现紧迫状况,r即recover,表现恢复状况;;也就是在办事涌现正告状况、未知状况、紧迫状况和从新恢复状况时都发送告诉给应用者。host_notification_optionsd,u,r;界说主机在甚么状况下须要发送告诉给应用者,d即down,表现宕机状况;;u即unreachable,表现弗成达到状况,r即recovery,表现从新恢复状况。service_notification_commandsnotify-service-by-email;办事毛病时,发送告诉的方法,可所以邮件和短信,这里发送的方法是邮件;;个中“notify-service-by-email”在commands.cfg文件中界说。host_notification_commandsnotify-host-by-email;主机毛病时,发送告诉的方法,可所以邮件和短信,这里发送的方法是邮件;;个中“notify-host-by-email”在commands.cfg文件中界说。register0;DONTREGISTERTHISDEFINITION-ITSNOTAREALCONTACT,JUSTATEMPLATE!}definehost{namegeneric-host;主机称号,这里的主机名,并非直接对应到真正机械的主机名;;乃是对应到在主机设置装备摆设文件里所设定的主机名。notifications_enabled1;Hostnotificationsareenabledevent_handler_enabled1;Hosteventhandlerisenabledflap_detection_enabled1;Flapdetectionisenabledfailure_prediction_enabled1;Failurepredictionisenabledprocess_perf_data1;其值可认为0或1,其感化为能否启用Nagios的数据输入功效;;假如将此项赋值为1,那末Nagios就会将搜集的数据写入某个文件中,以备提取。retain_status_information1;Retainstatusinformationacrossprogramrestartsretain_nonstatus_information1;Retainnon-statusinformationacrossprogramrestartsnotification_period24x7;指定“发送告诉”的时光段,也就是可以在甚么时刻发送告诉给应用者。register0;DONTREGISTERTHISDEFINITION-ITSNOTAREALHOST,JUSTATEMPLATE!}definehost{namelinux-server;主机称号usegeneric-host;use表现援用,也就是将主机generic-host的一切属性援用到linux-server中来;;在nagios设置装备摆设中,许多情形下会用到援用。check_period24x7;这里的check_period告知nagios检讨主机的时光段check_interval5;nagios对主机的检讨时光距离,这里是5分钟。retry_interval1;重试检讨时光距离,单元是分钟。max_check_attempts10;nagios对主机的最年夜检讨次数,也就是nagios在检讨发明某主机异常时,其实不立时断定为异常状态;;而是多试几回,由于有能够只是一时收集太拥堵,或是一些其他缘由,让主机遭到了一点影响;;这里的10就是最多试10次的意思。check_commandcheck-host-alive;指定检讨主机状况的敕令,个中“check-host-alive”在commands.cfg文件中界说。notification_period24x7;主机毛病时,发送告诉的时光规模,个中“workhours”在timeperiods.cfg中停止了界说;;上面会陆续讲到。notification_interval10;在主机涌现异常后,毛病一向没有处理,nagios再次对应用者收回告诉的时光。单元是分钟;;假如你认为,一切的事宜只须要一次告诉就够了,可以把这里的选项设为0notification_optionsd,u,r;界说主机在甚么状况下可以发送告诉给应用者,d即down,表现宕机状况;;u即unreachable,表现弗成达到状况;;r即recovery,表现从新恢复状况。contact_groupsts;指定接洽人组,这个“admins”在contacts.cfg文件中界说。register0;DONTREGISTERTHISDEFINITION-ITSNOTAREALHOST,JUSTATEMPLATE!}definehost{namewindows-server;Thenameofthishosttemplateusegeneric-host;Inheritdefaultvaluesfromthegeneric-hosttemplatecheck_period24x7;Bydefault,Windowsserversaremonitoredroundtheclockcheck_interval5;Activelychecktheserverevery5minutesretry_interval1;Schedulehostcheckretriesat1minuteintervalsmax_check_attempts10;Checkeachserver10times(max)check_commandcheck-host-alive;Defaultcommandtocheckifserversare"alive"notification_period24x7;Sendnotificationoutatanytime-dayornightnotification_interval10;Resendnotificationsevery30minutesnotification_optionsd,r;Onlysendnotificationsforspecifichoststatescontact_groupsts;Notificationsgetsenttotheadminsbydefaulthostgroupswindows-servers;HostgroupsthatWindowsserversshouldbeamemberofregister0;DONTREGISTERTHIS-ITSJUSTATEMPLATE}defineservice{namegeneric-service;界说一个办事称号active_checks_enabled1;Activeservicechecksareenabledpassive_checks_enabled1;Passiveservicechecksareenabled/acceptedparallelize_check1;Activeservicechecksshouldbeparallelized;;(disablingthiscanleadtomajorperformanceproblems)obsess_over_service1;Weshouldobsessoverthisservice(ifnecessary)check_freshness0;DefaultistoNOTcheckservicefreshnessnotifications_enabled1;Servicenotificationsareenabledevent_handler_enabled1;Serviceeventhandlerisenabledflap_detection_enabled1;Flapdetectionisenabledfailure_prediction_enabled1;Failurepredictionisenabledprocess_perf_data1;Processperformancedataretain_status_information1;Retainstatusinformationacrossprogramrestartsretain_nonstatus_information1;Retainnon-statusinformationacrossprogramrestartsis_volatile0;Theserviceisnotvolatilecheck_period24x7;这里的check_period告知nagios检讨办事的时光段。max_check_attempts3;nagios对办事的最年夜检讨次数。normal_check_interval5;此选项是用来设置办事检讨时光距离,也就是说,nagios这一次检讨和下一次检讨之间所隔的时光;;这里是5分钟。retry_check_interval2;重试检讨时光距离,单元是分钟。contact_groupsts;指定接洽人组notification_optionsw,u,c,r;这个界说的是“告诉可以被收回的情形”。w即warn,表现正告状况;;u即unknown,表现不明状况;;c即criticle,表现紧迫状况,r即recover,表现恢复状况;;也就是在办事涌现正告状况、未知状况、紧迫状况和从新恢复后都发送告诉给应用者。notification_interval10;Re-notifyaboutserviceproblemseveryhournotification_period24x7;指定“发送告诉”的时光段,也就是可以在甚么时刻发送告诉给应用者。register0;DONTREGISTERTHISDEFINITION-ITSNOTAREALSERVICE,JUSTATEMPLATE!}defineservice{namelocal-service;Thenameofthisservicetemplateusegeneric-service;Inheritdefaultvaluesfromthegeneric-servicedefinitionmax_check_attempts4;Re-checktheserviceupto4timesinordertodetermineitsfinal(hard)statenormal_check_interval5;Checktheserviceevery5minutesundernormalconditionsretry_check_interval1;Re-checktheserviceeveryminuteuntilahardstatecanbedeterminedregister0;DONTREGISTERTHISDEFINITION-ITSNOTAREALSERVICE,JUSTATEMPLATE!}
复制代码


b.resource.cfg文件
resource.cfg是nagios的变量界说文件,文件内容只要一行:
  1. $USER1$=/usr/local/nagios/libexec
复制代码


个中,变量$USER1$指定了装置nagios插件的路径,假如把插件装置在了其它路径,只需在这里停止修正便可。须要留意的是,变量必需先界说,然后能力在其它设置装备摆设文件中停止援用。
c.commands.cfg文件
此文件默许是存在的,无需修正便可应用,固然假如有新的敕令须要参加时,在此文件停止添加便可。
  1. #notify-host-by-email敕令的界说definecommand{command_namenotify-host-by-email#敕令称号,即界说了一个主机异常时发送邮件的敕令。command_line/usr/bin/printf"%b""*****Nagios*****
  2. NotificationType:$NOTIFICATIONTYPE$
  3. Host:$HOSTNAME$
  4. State:$HOSTSTATE$
  5. Address:$HOSTADDRESS$
  6. Info:$HOSTOUTPUT$
  7. Date/Time:$LONGDATETIME$
  8. "|/bin/mail-s"**$NOTIFICATIONTYPE$HostAlert:$HOSTNAME$is$HOSTSTATE$**"$CONTACTEMAIL$#敕令详细的履行方法。}#notify-service-by-email敕令的界说definecommand{command_namenotify-service-by-email#敕令称号,即界说了一个办事异常时发送邮件的敕令command_line/usr/bin/printf"%b""*****Nagios*****
  9. NotificationType:$NOTIFICATIONTYPE$
  10. Service:$SERVICEDESC$
  11. Host:$HOSTALIAS$
  12. Address:$HOSTADDRESS$
  13. State:$SERVICESTATE$
  14. Date/Time:$LONGDATETIME$
  15. AdditionalInfo:
  16. $SERVICEOUTPUT$
  17. "|/bin/mail-s"**$NOTIFICATIONTYPE$ServiceAlert:$HOSTALIAS$/$SERVICEDESC$is$SERVICESTATE$**"$CONTACTEMAIL$}#check-host-alive敕令的界说definecommand{command_namecheck-host-alive#敕令称号,用来检测主机状况。command_line$USER1$/check_ping-H$HOSTADDRESS$-w3000.0,80%-c5000.0,100%-p5#这里的变量$USER1$在resource.cfg文件中停止界说,即$USER1$=/usr/local/nagios/libexec;#那末check_ping的完全路径为/usr/local/nagios/libexec/check_ping;#“-w3000.0,80%”中“-w”解释前面的一对值对应的是“WARNING”状况,“80%”是其临界值。#“-c5000.0,100%”中“-c”解释前面的一对值对应的是“CRITICAL”,“100%”是其临界值。#“-p1”解释每次探测发送一个包。}definecommand{command_namecheck_local_diskcommand_line$USER1$/check_disk-w$ARG1$-c$ARG2$-p$ARG3$#$ARG1$是指在挪用这个敕令的时刻,敕令前面的第一个参数。}definecommand{command_namecheck_local_loadcommand_line$USER1$/check_load-w$ARG1$-c$ARG2$}definecommand{command_namecheck_local_procscommand_line$USER1$/check_procs-w$ARG1$-c$ARG2$-s$ARG3$}definecommand{command_namecheck_local_userscommand_line$USER1$/check_users-w$ARG1$-c$ARG2$}definecommand{command_namecheck_local_swapcommand_line$USER1$/check_swap-w$ARG1$-c$ARG2$}definecommand{command_namecheck_ftpcommand_line$USER1$/check_ftp-H$HOSTADDRESS$$ARG1$}definecommand{command_namecheck_httpcommand_line$USER1$/check_http-I$HOSTADDRESS$$ARG1$}definecommand{command_namecheck_sshcommand_line$USER1$/check_ssh$ARG1$$HOSTADDRESS$}definecommand{command_namecheck_pingcommand_line$USER1$/check_ping-H$HOSTADDRESS$-w$ARG1$-c$ARG2$-p5}definecommand{command_namecheck_ntcommand_line$USER1$/check_nt-H$HOSTADDRESS$-p12489-v$ARG1$$ARG2$}
复制代码


d.hosts.cfg文件
此文件默许不存在,须要手动创立,hosts.cfg重要用来指定被监控的主机地址和相干属性信息,依据试验目的设置装备摆设以下:
  1. UserdaemonGroupdaemon0
复制代码
  1. UserdaemonGroupdaemon1
复制代码


留意:在/usr/local/nagios/etc/objects下默许有localhost.cfg和windows.cfg这两个设置装备摆设文件,localhost.cfg文件是界说监控主机自己的,windows.cfg文件是界说windows主机的,个中包含了对host和相干services的界说。所以在本次试验中,将直接在localhost.cfg中界说监控主机(Nagios-Server),在windows.cfg中界说windows主机(Nagios-Windows)。依据本身的须要修正个中的相干设置装备摆设,具体以下:
localhost.cfg
  1. UserdaemonGroupdaemon2
复制代码


windows.cfg
  1. UserdaemonGroupdaemon3
复制代码


e.services.cfg文件
此文件默许也不存在,须要手动创立,services.cfg文件重要用于界说监控的办事和主机资本,例如监控http办事、ftp办事、主机磁盘空间、主机体系负载等等。Nagios-Server和Nagios-Windows相干办事已在响应的设置装备摆设文件中界说,所以这里只须要界说Nagios-Linux相干办事便可,这里只界说一个检测能否存活的办事来验证设置装备摆设文件的准确性,其他办事的界说将在前面讲到。
  1. UserdaemonGroupdaemon4
复制代码


f.contacts.cfg文件
contacts.cfg是一个界说接洽人和接洽人组的设置装备摆设文件,当监控的主机或许办事涌现毛病,nagios会经由过程指定的告诉方法(邮件或许短信)将信息发给这里指定的接洽人或许应用者。
  1. UserdaemonGroupdaemon5
复制代码
  1. UserdaemonGroupdaemon6
复制代码


g.timeperiods.cfg文件
此文件只需用于界说监控的时光段,上面是一个设置装备摆设好的实例:
  1. UserdaemonGroupdaemon7
复制代码


h.cgi.cfg文件
此文件用来掌握相干cgi剧本,假如想在nagios的web监控界面履行cgi剧本,例如重启nagios过程、封闭nagios告诉、停滞nagios主机检测等,这时候就须要设置装备摆设cgi.cfg文件了。
因为nagios的web监控界面验证用户为david,所以只需在cgi.cfg文件中添加此用户的履行权限就能够了,须要修正的设置装备摆设信息以下:
  1. UserdaemonGroupdaemon8
复制代码


i.nagios.cfg文件
nagios.cfg默许的路径为/usr/local/nagios/etc/nagios.cfg,是nagios的焦点设置装备摆设文件,一切的对象设置装备摆设文件都必需在这个文件中停止界说能力施展其感化,这里只需将对象设置装备摆设文件在Nagios.cfg文件中停止援用便可。
  1. UserdaemonGroupdaemon9
复制代码


6.4验证Nagios设置装备摆设文件的准确性
Nagios在验证设置装备摆设文件方面做的异常到位,只需经由过程一个敕令便可完成:
  1. UsernagiosGroupnagios0
复制代码




Nagios供给的这个验证功效异常有效,在毛病信息中平日会打印失足误的设置装备摆设文件和文件中的哪一行,这使得nagios的设置装备摆设变得异常轻易,报警信息平日是可以疏忽的,由于普通那些只是建议性的。
看到下面这些信息就解释没成绩了,然后启动Nagios办事。
7、Nagios的启动与停滞

7.1启动Nagios
a.经由过程初始化剧本启动nagios
  1. UsernagiosGroupnagios1
复制代码


b.手工方法启动nagios
经由过程nagios敕令的“-d”参数来启动nagios守护过程:
  1. UsernagiosGroupnagios2
复制代码


7.2重启Nagios
当修正了设置装备摆设文件让其失效时,须要重启/重载Nagios办事。
a.经由过程初始化剧本来重启nagios
  1. UsernagiosGroupnagios3
复制代码


b.经由过程web监控页重启nagios
可以经由过程web监控页的"ProcessInfo"->"RestarttheNagiosprocess"来重启nagios

c.手工方法腻滑重启
  1. UsernagiosGroupnagios4
复制代码


7.3停滞Nagios
a.经由过程初始化剧本封闭nagios办事
  1. UsernagiosGroupnagios5
复制代码


b.经由过程web监控页停滞nagios
可以经由过程web监控页的"ProcessInfo"->"ShutdowntheNagiosprocess"来停滞nagios

c.手工方法停滞Nagios
  1. UsernagiosGroupnagios6
复制代码


8、检查初步设置装备摆设情形
8.1启动完成以后,登录NagiosWeb监控页http://192.168.1.108/nagios/检查相干信息。
8.2点击左面的CurrentStatus->Hosts可以看到所界说的三台主机曾经全体UP了。

8.3点击CurrentStatus->Services检查办事监控情形。

看到Nagios-Linux和Nagios-Server的办事状况曾经OK了,然则Nagios-Windows的办事状况为CRITICAL,StatusInformation提醒Connectionrefused。由于Nagios-Windows上还未装置插件,外部办事还没法检查,所以涌现这类情形。将鄙人面详细讲授。
9、应用NRPE监控长途Linux上的“当地信息”
下面曾经对长途Linux主机能否存活做了监控,而断定长途机械能否存活,我们可使用ping对象对其监测。还有一些长途主机办事,例如ftp、ssh、http,都是对外开放的办事,即便不消Nagios,我们也能够试的出来,随意找一台机械看能不克不及拜访这些办事就好了。然则关于像磁盘容量,cpu负载如许的“当地信息”,Nagios只能监测本身地点的主机,而对其他的机械则显得有点力所不及。究竟没获得被控主机的恰当权限是弗成能获得这些信息的。为懂得决这个成绩,nagios有如许一个附加组件--“NRPE”,用它就能够完成对Linux类型主机"当地信息”的监控。
9.1NRPE任务道理

NRPE总共由两部门构成:



  • check_nrpe插件,位于监控主机上
  • NRPEdaemon,运转在长途的Linux主机上(平日就是被监控机)
依照上图,全部的监控进程以下:
当Nagios须要监控某个长途Linux主机的办事或许资本情形时:

  • Nagios会运转check_nrpe这个插件,告知它要检讨甚么;
  • check_nrpe插件会衔接到长途的NRPEdaemon,所用的方法是SSL;
  • NRPEdaemon会运转响应的Nagios插件来履行检讨;
  • NRPEdaemon将检讨的成果前往给check_nrpe插件,插件将其递交给nagios做处置。
留意:NRPEdaemon须要Nagios插件装置在长途的Linux主机上,不然,daemon不克不及做任何的监控。
9.2在被监控机(Nagios-Linux)上
a.增长用户&设定暗码
#useraddnagios
#passwdnagios

b.装置Nagios插件
  1. UsernagiosGroupnagios7
复制代码


这一步完成后会在/usr/local/nagios/下生成三个目次include、libexec和share。


修正目次权限
  1. UsernagiosGroupnagios8
复制代码



c.装置NRPE
  1. UsernagiosGroupnagios9
复制代码



  1. <IfModuledir_module>  DirectoryIndexindex.html</IfModule>0
复制代码



接上去装置NPRE插件,daemon和示例设置装备摆设文件。
c.1装置check_nrpe这个插件
#makeinstall-plugin
监控机须要装置check_nrpe这个插件,被监控机其实不须要,我们在这里装置它只是为了测试目标。
c.2装置deamon
#makeinstall-daemon
c.3装置设置装备摆设文件
#makeinstall-daemon-config

如今再检查nagios目次就会发明有5个目次了

依照装置文档的解释,是将NRPEdeamon作为xinetd下的一个办事运转的。在如许的情形下xinetd就必需要先装置好,不外普通体系曾经默许装置了。
d.装置xinted剧本
#makeinstall-xinetd

可以看到创立了这个文件/etc/xinetd.d/nrpe。
编纂这个剧本:

在only_from后增长监控主机的IP地址。
编纂/etc/services文件,增长NRPE办事

重启xinted办事
#servicexinetdrestart

检查NRPE能否曾经启动

可以看到5666端口曾经在监听了。
e.测试NRPE能否则正常任务
应用下面在被监控机上装置的check_nrpe这个插件测试NRPE能否任务正常。
#/usr/local/nagios/libexec/check_nrpe-Hlocalhost
会前往以后NRPE的版本

也就是在当地用check_nrpe衔接nrpedaemon是正常的。
注:为了前面任务的顺遂停止,留意当地防火墙要翻开5666能让内部的监控机拜访。
f.check_nrpe敕令用法
检查check_nrpe敕令用法
#/usr/local/nagios/libexec/check_nrpeCh

可以看到用法是:
check_nrpeCH被监控的主机-c要履行的监控敕令
留意:-c前面接的监控敕令必需是nrpe.cfg文件中界说的。也就是NRPEdaemon只运转nrpe.cfg中所界说的敕令。
g.检查NRPE的监控敕令
#cd/usr/local/nagios/etc
#catnrpe.cfg|grep-v"^#"|grep-v"^$"
  1. <IfModuledir_module>  DirectoryIndexindex.html</IfModule>1
复制代码


白色部门是敕令名,也就是check_nrpe的-c参数可以接的内容,等号“=”前面是现实履行的插件法式(这与commands.cfg中界说敕令的情势非常类似,只不外是写在了一行)。也就是说check_users就是等号前面/usr/local/nagios/libexec/check_users-w5-c10的简称。
我们可以很轻易晓得下面这5行界说的敕令分离是检测上岸用户数,cpu负载,sda1的容量,僵尸过程,总过程数。各条敕令详细的寄义见插件用法(履行“插件法式名Ch”)。
因为-c前面只能接nrpe.cfg中界说的敕令,也就是说如今我们只能用下面界说的这五条敕令。我们可以在本机试验一下。

9.3在监控主机(Nagios-Server)上
之前曾经将Nagios运转起来了,如今要做的工作是:


  • 装置check_nrpe插件;
  • 在commands.cfg中创立check_nrpe的敕令界说,由于只要在commands.cfg中界说过的敕令能力在services.cfg中应用;
  • 创立对被监控主机的监控项目;
9.3.1装置check_nrpe插件
  1. <IfModuledir_module>  DirectoryIndexindex.html</IfModule>2
复制代码


只运转这一步就好了,由于只须要check_nrpe插件。
在Nagios-Linux上我们曾经装好了nrpe,如今我们测试一下监控机应用check_nrpe与被监控机运转的nrpedaemon之间的通讯。

看到曾经准确前往了NRPE的版本信息,解释一切正常。
9.3.2在commands.cfg中增长对check_nrpe的界说
#vi/usr/local/nagios/etc/objects/commands.cfg
在最初面增长以下内容:

意义以下:
<divclass="cnblogs_code"><divclass="cnblogs_code_toolbar"><spanclass="cnblogs_code_copy">
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-1-16 23:50:40 | 只看该作者

来谈谈:Centos下Nagios的装置与设置装备摆设

随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当).
爱飞 该用户已被删除
板凳
发表于 2015-1-26 11:25:29 | 只看该作者
了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。
透明 该用户已被删除
地板
发表于 2015-2-4 20:49:14 | 只看该作者
Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。
再见西城 该用户已被删除
5#
发表于 2015-2-10 10:24:18 | 只看该作者
要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。
6#
发表于 2015-3-1 11:34:20 | 只看该作者
尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助.
第二个灵魂 该用户已被删除
7#
发表于 2015-3-10 20:53:26 | 只看该作者
了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-17 12:08:18 | 只看该作者
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
老尸 该用户已被删除
9#
发表于 2015-3-24 12:29:41 | 只看该作者
linux鸟哥的私房菜,第三版,基础篇,网上有pdf下的,看它的目录和每章的介绍就行了,这个绝对原创!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-28 18:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表