Linux下Nagios的安装与配置

“Nagios是企业普遍使用的最具影响力的网络信息监视系统之一,它可以动态监视指定的网络状态,并在状态异常时发出警告音或邮件报警通知运维人员。监控的类型和警报定时器是完全可定制的。\r\n\r\nNagios的另一强大功能是它能

Nagios是企业普遍使用的最具影响力的网络信息监视系统之一,它可以动态监视指定的网络状态,并在状态异常时发出警告音或邮件报警通知运维人员。监控的类型和警报定时器是完全可定制的。

Nagios的另一强大功能是它能同时监测主机和服务。例如,它可以同时监测到IP地址和TCP/UDP端口号。为进一步阐述此功能,我们假定有台需要监测的web服务器,Nagios可运用在服务器上基于IP/服务器名运行ping命令的方法检测服务器是否在线,同时当服务器的RTT(往返时延)增加时,Nagios会随时告警。另外,Nagios还能检测TCP的80端口(web服务器)是否可达,比如可能出现服务器在线但Apache/IIS没有响应的情况。

而基于Nagios的第三方监测工具如Centreon, FAN , op5 Monitor 在界面设计,自动化运行和技术支持方面在独立的Nagios引擎基础上提供了相应的补充。

本段教程将展示Linux下Nagios的安装与配置.

Debian或Ubuntu下Nagios的安装

使用yum命令来安装,建立repoforge库之后运行如下yum命令:

“`
[root@mrtg ~]# yum install nagios nagios-plugins

“`

监测需求

明确Nagios配置文件的地址至关重要,以下路径指明了Debian系统下Nagios的配置文件地址。

“`
/etc/nagios-plugins 实现监测功能的专有脚本存放地址
/etc/nagios3 添加主机、服务,定义检测和定时器的配置文件
/usr/lib/nagios/plugins 用于监测的可执行文件

“`

接下来的步骤相互关联,由此开始定义主机,主机组及向主机组添加服务操作。

添加主机模板

我们对同一类型的主机定义了对应的模板,这里使用安装文件作举例说明。

首先,为Linux设备定义主机模板。

“`
root@mrtg:~# cd /etc/nagios3/conf.d
root@mrtg:/etc/nagios3/conf.d/# cp generic-host_nagios2.cfg linux-server.cfg

“`

如下编辑linux-server.cfg。需要修改部分已经标出。

“`
root@mrtg:/etc/nagios3/conf.d/# vim linux-server.cfg

“`

“`
define host{
name linux-server ; 名称,需修改
notificationsenabled 1
event
handlerenabled 1
flap
detectionenabled 1
failure
predictionenabled 1
process
perfdata 1
retain
statusinformation 1
retain
nonstatusinformation 1
check
command example-host-check ; 检查所用脚本,需修改
checkinterval 3 ; 连续检查的间隔,需修改
max
checkattempts 3 ; 产生邮件告警前的自检次数,需修改
notification
interval 0
notificationperiod 24×7
notification
options d,u,r
contact_groups admins ; 邮件将要发送至的组,需修改
register0
}

“`

接下来,为Cisco设备定义主机模板。

“`
root@mrtg:/etc/nagios3/conf.d/# cp linux-server.cfg cisco-device.cfg

“`

如下修改cisco-device.cfg。需要修改部分已经标出。

“`
root@mrtg:/etc/nagios3/conf.d/# vim cisco-device.cfg

“`

“`
define host{
name cisco-device ;名称,需修改
notificationsenabled 1
event
handlerenabled 1
flap
detectionenabled 1
failure
predictionenabled 1
process
perfdata 1
retain
statusinformation 1
retain
nonstatusinformation 1
check
command example-host-check ; 检查时使用的脚本,需修改
checkinterval 3 ; 连续检查间隔,需修改
max
checkattempts 3 ; 产生邮件告警前的自检次数,需修改
notification
interval 0
notificationperiod 24×7
notification
options d,u,r
contact_groups admins ; 邮件将要发至的组,需修改
register 0
}

“`

添加主机

现在已定义主机模板,就可以添加需要监测的主机。以默认的文件作例子展示如下内容。

“`
root@mrtg:/etc/nagios3/conf.d/# cp localhost_nagios2.cfg example.cfg
root@mrtg:/etc/nagios3/conf.d/# vim example.cfg

“`

“`

Host 1

define host{
use linux-server ; 使用的主机模板名
host_name our-server ; nagios使用的主机名
alias our-server
address 172.17.1.23 ; 主机的IP地址
}

Host 2

define host{
use cisco-device ; 使用的主机模板名
host_name our-router ; nagios使用的主机名
alias our-router
address 172.17.1.1 ; 主机的IP地址
}

“`

主机组定义

当有多个主机时,为方便管理,建议将相似的主机组成一组。

“`
root@mrtg:/etc/nagios3/conf.d/# vim hostgroups_nagios2.cfg

“`

“`
define hostgroup {
hostgroup_name linux-server ; 主机组名
alias Linux Servers
members our-server ; 组员列表
}

define hostgroup {
hostgroup_name cisco-device ; 主机组名
alias Cisco Devices
members our-server ; comma separated list of members
}

“`

定义服务

首先,定义一个服务example-host-check:当往返时延达到100ms预警值并且有20%包丢失时发出警告,而紧急告警设置为5000ms且包丢失比率为100%,只执行一个IPv4的ping请求检测。

“`
root@mrtg:~# vim /etc/nagios-plugins/config/ping.cfg

“`

“`
define command{
commandname example-host-check
command
line /usr/lib/nagios/plugins/check_ping -H ‘$HOSTADDRESS$’ -w 100,20% -c 5000,100% -p 1 -4
}

“`

然后,将命令关联至主机组。

“`
root@mrtg:/etc/nagios3/conf.d/# vim services_nagios2.cfg

“`

“`
define service {
hostgroupname linux-server
service
description Linux Servers
checkcommand example-host-check
use generic-service
notification
interval 0 ; 初始化设置为0
}

define service {
hostgroupname cisco-device
service
description Cisco Devices
checkcommand example-host-check
use generic-service
notification
interval 0 ; 初始化设置为0
}

“`

联系人定义

进行如下定义将发送邮件需要的地址添加至Nagios。

“`
root@mrtg:/etc/nagios3/conf.d/# vim contacts.cfg

“`

“`
define contact{
contactname root
alias Root
service
notificationperiod 24×7
host
notificationperiod 24×7
service
notificationoptions w,u,c,r
host
notificationoptions d,r
service
notificationcommands notify-service-by-email
host
notification_commands notify-host-by-email
email root@localhost, sentinel@example.tst
}

“`

最后,试运行初始化检测是否有配置错误。如果没有错误,Nagios开始安全运行。

“`
root@mrtg:~# nagios -v /etc/nagios3/nagios.cfg
root@mrtg:~# service nagios3 restart

“`

CentOS/RHEL上的Nagios配置

via: http://xmodulo.com/2013/12/install-configure-nagios-linux.html

译者:icybreaker 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

主题测试文章,只做测试使用。发布者:eason,转转请注明出处:https://aicodev.cn/2014/01/03/linux%e4%b8%8bnagios%e7%9a%84%e5%ae%89%e8%a3%85%e4%b8%8e%e9%85%8d%e7%bd%ae/

Like (0)
eason的头像eason
Previous 2014年1月3日
Next 2014年9月11日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信