1、Linux下Nagios的安装与配置Nagios是企业普遍使用的最具影响力的网络信息监视系统之一,它可以动态监视指定的网络状态,并在状态异常时发出警告音或邮件报警通知运维人员。监控的类型和警报定时器是完全可定制的。Nagios的另一强大功能是它能同时监测主机和服务。例如,它可以同时监测到IP地址和TCP/UDP端口号。为进一步阐述此功能,我们假定有台需要监测的web服务器,Nagios可运用在服务器上基于IP/服务器名运行ping命令的方法检测服务器是否在线,同时当服务器的RTT(往返时延)增加时,Nagios会随时告警。另外,Nagios还能检测TCP的80端口(web服务器)是否可达,比如
2、可能出现服务器在线但Apache/IIS没有响应的情况。而基于Nagios的第三方监测工具如Centreon, FAN , op5 Monitor 在界面设计,自动化运行和技术支持方面在独立的Nagios引擎基础上提供了相应的补充。本段教程将展示Linux下Nagios的安装与配置.Debian或Ubuntu下Nagios的安装Debian系统用户使用apt-get命令就可安装Nagios:rootmrtg:# apt-get install nagios3 Nagios安装过程中可以设置邮件服务器,安装后也可以进行自定义设置。提示:为使Nagios可正常发送邮件通知,需正确配置SMTP。可以
3、看到Nagios支持多种邮件传送方式。最常见的莫过于服务器(Internet Site)直接向接收者发送邮件,另一种常见的形式是用智能主机或中继服务器,将邮件传送至中继邮件服务器,然后它负责将邮件传送给接收者。进行下一步操作时服务器的域名需要包含进去。最后,设置一下Nagios管理员nagiosadmin的密码,用户可以之后自行修改密码。CentOS或RHEL下Nagios的安装使用yum命令来安装,建立repoforge库之后运行如下yum命令:rootmrtg # yum install nagios nagios-plugins监测需求本段教程中,我们希望完成以下监测内容:1 每三分钟监
4、测一次所有Linux服务器。2 每三分钟监测一次所有思科路由器。3 所有的邮件告警集中发送至sentinelexample.tst。4 发出告警前Nagios都将进行3次验证以确保问题确有发生。5 当设备的往返时延超过100ms并且/或包丢失量超过20%将发出邮件告警。余下的教程将指导您如何在Linux系统中配置Nagios。Ubuntu下Nagios的配置明确Nagios配置文件的地址至关重要,以下路径指明了Debian系统下Nagios的配置文件地址。/etc/nagios-plugins 实现监测功能的专有脚本存放地址/etc/nagios3 添加主机、服务,定义检测和定时器的配置文件/
5、usr/lib/nagios/plugins 用于监测的可执行文件接下来的步骤相互关联,由此开始定义主机,主机组及向主机组添加服务操作。添加主机模板我们对同一类型的主机定义了对应的模板,这里使用安装文件作举例说明。首先,为Linux设备定义主机模板。rootmrtg:# cd /etc/nagios3/conf.drootmrtg:/etc/nagios3/conf.d/# cp generic-host_nagios2.cfg linux-server.cfg 如下编辑linux-server.cfg。需要修改部分已经标出。rootmrtg:/etc/nagios3/conf.d/# vim
6、 linux-server.cfg define hostname linux-server ; 名称,需修改notifications_enabled 1 event_handler_enabled 1 flap_detection_enabled 1 failure_prediction_enabled 1 process_perf_data 1 retain_status_information 1 retain_nonstatus_information 1 check_command example-host-check ; 检查所用脚本,需修改check_interval 3 ;
7、连续检查的间隔,需修改max_check_attempts 3 ; 产生邮件告警前的自检次数,需修改notification_interval 0notification_period 24x7notification_options d,u,rcontact_groups admins ; 邮件将要发送至的组,需修改register0接下来,为Cisco设备定义主机模板。rootmrtg:/etc/nagios3/conf.d/# cp linux-server.cfg cisco-device.cfg 如下修改cisco-device.cfg。需要修改部分已经标出。rootmrtg:/et
8、c/nagios3/conf.d/# vim cisco-device.cfg define hostname cisco-device ;名称,需修改notifications_enabled 1 event_handler_enabled 1 flap_detection_enabled 1 failure_prediction_enabled 1 process_perf_data 1 retain_status_information 1 retain_nonstatus_information 1 check_command example-host-check ; 检查时使用的脚本
9、,需修改check_interval 3 ; 连续检查间隔,需修改max_check_attempts 3 ; 产生邮件告警前的自检次数,需修改notification_interval 0notification_period 24x7 notification_options d,u,rcontact_groups admins ; 邮件将要发至的组,需修改register 0 添加主机现在已定义主机模板,就可以添加需要监测的主机。以默认的文件作例子展示如下内容。rootmrtg:/etc/nagios3/conf.d/# cp localhost_nagios2.cfg example.
10、cfgrootmrtg:/etc/nagios3/conf.d/# vim example.cfg # Host 1define hostuse linux-server ; 使用的主机模板名host_name our-server ; nagios使用的主机名alias our-serveraddress 172.17.1.23 ; 主机的IP地址# Host 2define hostuse cisco-device ; 使用的主机模板名host_name our-router ; nagios使用的主机名alias our-routeraddress 172.17.1.1 ; 主机的IP地
11、址主机组定义当有多个主机时,为方便管理,建议将相似的主机组成一组。rootmrtg:/etc/nagios3/conf.d/# vim hostgroups_nagios2.cfg define hostgroup hostgroup_name linux-server ; 主机组名alias Linux Serversmembers our-server ; 组员列表define hostgroup hostgroup_name cisco-device ; 主机组名alias Cisco Devicesmembers our-server ; comma separated list of
12、 members定义服务首先,定义一个服务example-host-check:当往返时延达到100ms预警值并且有20%包丢失时发出警告,而紧急告警设置为5000ms且包丢失比率为100%,只执行一个IPv4的ping请求检测。rootmrtg:# vim /etc/nagios-plugins/config/ping.cfg define command command_name example-host-check command_line /usr/lib/nagios/plugins/check_ping -H $HOSTADDRESS$ -w 100,20% -c 5000,100
13、% -p 1 -4然后,将命令关联至主机组。rootmrtg:/etc/nagios3/conf.d/# vim services_nagios2.cfg define service hostgroup_name linux-serverservice_description Linux Serverscheck_command example-host-checkuse generic-servicenotification_interval 0 ; 初始化设置为0define service hostgroup_name cisco-deviceservice_description C
14、isco Devicescheck_command example-host-checkuse generic-servicenotification_interval 0 ; 初始化设置为0联系人定义进行如下定义将发送邮件需要的地址添加至Nagios。rootmrtg:/etc/nagios3/conf.d/# vim contacts.cfg define contactcontact_name rootalias Rootservice_notification_period 24x7host_notification_period 24x7service_notification_options w,u,c,rhost_notification_options d,rservice_notification_commands notify-service-by-emailhost_notification_commands notify-host-by-emailemail rootlocalhost, sentinelexample.tst最后,试运行初始化检测是否有配置错误。如果没有错误,Nagios开始安全运行。rootmrtg:#nagios v /etc/nagios3/nagios.cfgrootmrtg:# service nagios3 restart
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1