Nagios 使用说明.ppt_第1页
Nagios 使用说明.ppt_第2页
Nagios 使用说明.ppt_第3页
Nagios 使用说明.ppt_第4页
Nagios 使用说明.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、Nagios,系统网络监控程序,第一章Nagios简介,什么是Nagios Nagios是一个用来监控主机、服务和网络的开放源码软件。它可以监视您指定的主机和服务,当被监视对象发生任何问题或问题被解决时发出提示信 息。它的主要功能有监控网络服务(smtp、pop3、http、nntp、ping等等)、监控主机资源(进程负载、硬盘空间 使用情况等等)、当发现问题或问题解决时通过多种形式发出提示信息(Email、SMS)。,第一章Nagios简介,几款网络监控软件的比较 Nagios 报警功能强大绘图功能很弱,扩展性强,但是要扩展需要修改配置文件,不能在web修改配置。 OpenNMS Java实

2、现,数据库不好用。 Cacti 绘图功能很强,但是只支持snmp,配置自定义的图很麻烦。,第一章Nagios简介,Nagios原理 nagios的功能是监控服务和主机,但是他自身并不包括这部分功能的代码,所有的监控、检测功能都是有插件来完成的。再说报警功能,如果监控系统发现问题不能报警那就没有意义了,所以报警也是nagios很重要的功能之一。但是,同样的,nagios自身也没有报警部分的代码,甚至没有插件,而是交给用户或者其他相关开源项目组去完成。 nagios安装,是指基本平台,也就是nagios软件包的安装。它是监控体系的框架,也是所有监控的基础。 打开nagios官方的文档,会发现nag

3、ios基本上没有什么依赖包,只要求系统是linux或者其他nagios支持的系统。不过如果你没有安装apache(http服务),那么你就没有那么直观的界面来查看监控信息了,所以apache姑且算是一个前提条件。,第一章Nagios简介,Nagios监控原理 Nagios的监控主要为对自己本身的监控和对远程服务器的监控。 对本身的监控是通过Nagios插件来完成的。 对于远程服务器的监控主要分为几大部分: 监控远程系统上的对外开放的服务 ftp,ssh,http这些都是向外开放的服务,即使不用nagios我自己也可以试的出来,随便找一台机器看能不能访问这些服务就行了。对于这些对外开放的服务,也

4、可以用Nagios服务来完成。 监控远程系统上的本地信息 对于磁盘容量,cpu负载,当前登陆用户数量,你如果不登录这台机器原则上是不可能知道的,因为他们是”本地信息”。对于这样的“本地信息”,nagios只能监测自己所在的主机,而对其他的机器则显得有点无能为力。毕竟没得到被控主机的适当权限是不可能得到这些信息的。为了解决这个问题,nagios有这样一个附加组件NRPE。用它就可以完成对linux类型主机“本地信息”的监控。同时,nagios也有这样的一个附加组件 NSClient。用它就可以完成对windows类型主机“本地信息”的监控。,第一章Nagios简介,NRPE原理,第一章Nagio

5、s简介,NRPE总共由两部分组成: check_nrpe 插件,位于在监控主机上。 NRPE daemon,运行在远程的linux主机上(通常就是被监控机) 按照上图,整个的监控过程如下: 当nagios需要监控某个远程linux主机的服务或者资源情况时 1.nagios会运行check_nrpe这个插件,告诉它要检查什么。 2.check_nrpe插件会连接到远程的NRPE daemon,所用的方式是SSL。 3.NRPE daemon会运行相应的nagios插件来执行检查。 4.NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理。 注意:NR

6、PE daemon需要nagios插件安装在远程的linux主机上,否则,daemon不能做任何的监控。 需要在被监控主机上安装nagios插件,NRPE。在监控主机上安装check_nrpe插件。,第一章Nagios简介,Windows监控原理,第一章Nagios简介,NRPE与NSClient的区别: 在nagios的libexec下有check_nt这个插件,它就是用来检查windows机器的服务的,其功能类似于上一章讲的check_nrpe。不过还需要搭配另外一个软件NSClient,它则类似于NRPE。 可以看到,NSClient与nrpe最大的区别就是: 被监控机上安装有nrpe,

7、并且还有插件,最终的监控是由这些插件来进行的。当监控主机将监控请求发给nrpe后,nrpe调用插件来完成监控。 NSClient则不同,被监控机上只安装NSClient,没有任何的插件。当监控主机将监控请求发给NSClient后,NSClient直接完成监控,所有的监控是由NSClient完成的。 这也说明了NSClient的一个很大的问题,不灵活,没有可扩展性。它只能完成自己本身包含的监控操作,不能由一些插件来扩展。好在NSClient已经做的不错了,基本上可以完全满足我们的监控需要。,第二章 Nagios安装和配置,Nagios安装 需要安装的软件: nagios-3.0.2.tar.gz

8、 nagios-plugins-1.4.11.tar.gz nrpe-2.8.1.tar.gz NSClient+-0.2.7.zip 安装Nagios的前提条件: Apache GCC compiler GD development libraries,第二章 Nagios安装和配置,Nagios安装 安装Nagios主程序。 解压,CD到Nagios目录下。 编译,指定安装目录为/usr/local/nagios, ./configure -prefix=/usr/local/nagios make all,会输出信息提示你如何安装。 make install make install-i

9、nit make install-commandmode make install-config 程序验证是否被安装。 切换目录到安装路径(这里是/usr/local/nagios),看是否存在 etc、bin、sbin、share、var这五个目录,如果存在则可以表明程序被正确的安装到系统了。,第二章 Nagios安装和配置,各目录简要说明,第二章 Nagios安装和配置,安装插件 nagios-plugins-1.4.9 解压,cd nagios-plugins-1.4.9 ./configure -prefix=/usr/local/nagios/ make make install 安

10、装后可以在/usr/local/nagios/libexec/目录下看到所有的插件。 apache配置 将apache的运行用户加到nagios组里面。 在apache conf.d目录下安装nagios web配置文件。 make install-webconf 为nagios web接口创建一个nagiosadmin账号,记住你给这个账号的密码。 htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin 重启apache使新设置生效。 service httpd restart,第二章 Nagios安装和配置,Nagios典型

11、配置 Nagios安装完成了,但是还需要配置。 修改nagios的主配置文件nagios.cfg。 修改CGI脚本控制文件cgi.cfg。 定义监控时间段,创建配置文件timeperiods.cfg。 定义联系人,创建配置文件contacts.cfg。,第二章 Nagios安装和配置,nagios.cfg配置文件修改 注释行 #cfg_file=/usr/local/nagios/etc/localhost.cfg2,然后把下面几行的注释去掉: cfg_file=/usr/local/nagios/etc/contactgroups.cfg /联系组配置文件路径 cfg_file=/usr/l

12、ocal/nagios/etc/contacts.cfg /联系人配置文件路径 cfg_file=/usr/local/nagios/etc/hostgroups.cfg /主机组配置文件路径 cfg_file=/usr/local/nagios/etc/hosts.cfg /主机配置文件路径 cfg_file=/usr/local/nagios/etc/services.cfg /服务配置文件路径 cfg_file=/usr/local/nagios/etc/timeperiods.cfg /监视时段配置文件路径 Nagios是主要的配置文件,用于引用这些配置文件,如果没有反注释掉某个配置文

13、件,那么那个配置文件就是无效的。 改check_external_commands=0为check_external_commands=1 .这行的作用是允许在web界面下执行重启nagios、停止主机/服务检查等操作。 把command_check_interval的值从默认的15s改成command_check_interval=60s,这个命令是检查时间的间隔,不要太长也不要太短。,第二章 Nagios安装和配置,cgi.cfg cgi.cfg的作用是控制相关cgi脚本。 设置use_authentication=1,其他配置已经默认配置好了。如url_html_path=/nagios

14、,physical_html_path=/usr/local/nagios/share,main_config_file=/usr/local/nagios/etc/nagios.cfg,第二章 Nagios安装和配置,timeperiods.cfg(时间的配置) define timeperiod timeperiod_name 24x7 /时间段的名称,这个地方不要有空格 alias 24 Hours A Day,7Days A Week sunday 00:00-24:00 monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24

15、:00 thursday 00:00-24:00 friday 00:00-24:00 saturday 00:00-24:00 define timeperiod timeperiod_name workhours alias Normal Work Hours monday 09:00-17:00 tuesday 09:00-17:00 wednesday 09:00-17:00 thursday 09:00-17:00 friday 09:00-17:00 ,第二章 Nagios安装和配置,define timeperiod name us-holidays timeperiod_nam

16、e us-holidays alias U.S. Holidays january 1 00:00-00:00 ; New Years monday -1 may 00:00-00:00 ; Memorial Day (last Monday in May) july 4 00:00-00:00 ; Independence Day monday 1 september 00:00-00:00 ; Labor Day (first Monday in September) thursday -1 november 00:00-00:00 ; Thanksgiving (last Thursda

17、y in November) december 25 00:00-00:00 ; Christmas define timeperiod timeperiod_name 24x7_sans_holidays alias 24x7 Sans Holidays use us-holidays ; Get holiday exceptions from other timeperiod sunday 00:00-24:00 monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday

18、00:00-24:00 saturday 00:00-24:00 ,第二章 Nagios安装和配置,contacts.cfg配置 define contact contact_name gerard.chen /联系人的名称,这个地方不要有空格 alias nagios admin service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,u,r service_notification_comma

19、nds notify-by-email host_notification_commands host-notify-by-email email define contactgroup contactgroup_name sagroup /联系人组的名称,同样不能空格 alias Nagios Administrators /别名 members gerard.chen /组的成员,来自于上面定义的contacts.cfg,/如果有多个联系人则以逗号相隔 ,第二章 Nagios安装和配置,创建了一个名为gerard.chen的联系人,下面列出其中重要的几个选项做说明: service_not

20、ification_period 24x7服务出了状况通知的时间段,这个时间段就是上面在timeperiods.cfg中定义的。 host_notification_period 24x7主机出了状况通知的时间段,这个时间段就是上面在timeperiods.cfg中定义的。 service_notification_options w,u,c,r当服务出现w报警(warning),u未知(unkown),c严重(critical),或者r从异常情况恢复正常,在这四种情况下通知联系人。 host_notification_options d,u,r当主机出现d当机(down),u返回不可达(un

21、reachable),r从异常情况恢复正常,在这3种情况下通知联系人。 service_notification_commands notify-by-email服务出问题通知采用的命令notify-by-email,这个命令是在commands.cfg中定义的,作用是给联系人发邮件。 host-notify-by-email同上,主机出问题时采用的也是发邮件的方式通知联系人。 email 。很明显,联系的人email地址。 alias是联系人别名。 按照上面的方式简单的复制修改就可以创建多个联系人了。,第二章 Nagios安装和配置,定义被监控主机。 系统本身自带了localhost.cfg

22、,windows.cfg,printer.cfg,switch.cfg,以及所有的模板配置templates.cfg。 具体的定义:利用了继承关系 define host use linux-server ; Name of host template to use ; This host definition will inherit all variables that are defined ; in (or inherited by) the linux-server host template definition. host_name localhost alias localho

23、st address 模板定义: define host name generic-host ; The name of this host template notifications_enabled 1 ; Host notifications are enabled event_handler_enabled 1 ; Host event handler is enabled flap_detection_enabled 1 ; Flap detection is enabled failure_prediction_enabled 1 ; Failure predi

24、ction is enabled process_perf_data 1 ; Process performance data retain_status_information 1 ; Retain status information across program restarts retain_nonstatus_information 1 ; Retain non-status information across program restarts notification_period 24x7 ; Send host notifications at any time regist

25、er 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE! ,第二章 Nagios安装和配置,Service模板定义: define service name generic-service ; The name of this service template active_checks_enabled 1 ; Active service checks are enabled passive_checks_enabled 1 ; Passive service checks are enabled

26、/accepted parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems) obsess_over_service 1 ; We should obsess over this service (if necessary) check_freshness 0 ; Default is to NOT check service freshness notifications_enabled 1 ; Servi

27、ce notifications are enabled event_handler_enabled 1 ; Service event handler is enabled flap_detection_enabled 1 ; Flap detection is enabled failure_prediction_enabled 1 ; Failure prediction is enabled process_perf_data 1 ; Process performance data retain_status_information 1 ; Retain status informa

28、tion across program restarts retain_nonstatus_information 1 ; Retain non-status information across program restarts is_volatile 0 ; The service is not volatile check_period 24x7 ; The service can be checked at any time of the day max_check_attempts 3 ; Re-check the service up to 3 times in order to

29、determine its final (hard) state normal_check_interval 10 ; Check the service every 10 minutes under normal conditions retry_check_interval 2 ; Re-check the service every two minutes until a hard state can be determined contact_groups admins ; Notifications get sent out to everyone in the admins gro

30、up notification_options w,u,c,r ; Send notifications about warning, unknown, critical, and recovery events notification_interval 60 ; Re-notify about service problems every hour notification_period 24x7 ; Notifications can be sent out at any time register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT

31、A REAL SERVICE, JUST A TEMPLATE! ,第二章 Nagios安装和配置,具体Service的定义 define service use generic-service ; Name of service template to use host_name nagios-server service_description apache is_volatile 0 check_period 24x7 max_check_attempts 1 normal_check_interval 1 retry_check_interval 1 contact_groups ad

32、mins/联系人组 notification_options w,u,c,r/需要通知的选项 notification_interval 960 notification_period 24x7 /timeperiods.cfg定义 check_command check_http!100.0,20%!500.0,60% /所用的命令,是commands.cfg中定义的 ,第二章 Nagios安装和配置,max_check_attempts 这个值代表最大的检查次数,讲的更白话一点,也就是nagios利用上面的命令来检测这个服务。当检查时发现该服务异常时,因为有可能只是一时网络太拥挤,或是一些

33、风吹草动,让service受了点影响,所以不要马上把service判断为情况危急,而是多试几次,这里如果定义为5,那就是至少试5次的意思。 normal_check_interval 顾名思义,这里是用来设时间的问题,也就是说,如果这里定义为3,那这一次检查和下一次检查之间,所隔的时间为3分钟。默认没有写单位的话就是以分钟为单位,当然也可以以秒为单位,比如30s。 retry_check_interval 当状态发生改变,从OK的状态变化到不OK的状态的时候,nagios提供给我们一个改变监控频率的功能。这一个频率的改变可以是变快或者变慢,你可以自由的设定,这是一个很好的弹性,帮助我们可以更准

34、确的判断问题的发生。但是这一个选项是在retry发生之时才会生效。就好像我们上面所说的,当第一次不OK的状态发生时,此时过度的soft状态,nagios会开始用max_check_attempts里所设的值开始为retry的次数倒数,此时监控的频率也会发生改变,改变成这一个值里所设定的。当retry的次数到达了max_check_attempts-1时,如果状态还是不OK,那nagios就会将这个不OK的状态过度到hard状态。并且恢复监控的频率为我们在check_interval里所设的频率。,第二章 Nagios安装和配置,配置完所有测试后,Nagios运行之前需要检测下: /usr/lo

35、cal/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 如果没有问题,就可以启动nagios服务。,第二章 Nagios安装和配置,Nagios插件 nagios本身并没有监控的功能,所有的监控是由插件完成的,插件将监控的结果返回给nagios,nagios分析这些结果,以web的方式展现给我们,同时提供相应的报警功能(这个报警的功能也是由插件完成的)。所有的这些插件是一些实现特定功能的可执行程序,默认安装的路径是/usr/local/nagios/libexec。这些程序都是可以独立执行的,使用方法可以通过”命令名 h”来查看。我们

36、在定义某个监控项目时,所用的监控命令都是来自commands.cfg的,而commands.cfg中定义的监控命令就是使用的这些插件。 例如./check_disk -w 10% -c 5% / 命令的含义是检查 像commands.cfg有个定义: define command command_name check-host-alive command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 1 command_name check-host-alive:这句话的意思是定义的命令名是check-host-alive,也就是我们在services.cfg中使用的名称,执行的操作是:$USER1$

温馨提示

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

评论

0/150

提交评论