监控软件Nagios的服务器端在Linux系统上的安装和配置方法

Nagios的基本思想就是nagios server 获取被监控节点(monitored server)的相关信息,通过CGI(Web GUI)或者邮件等方式展示给管理员。信息的获取主要分为主动拿,被动得到,其中主动拿分直接去被监控节点取或者中间数据库节点取。
如果是个个被监控节点直接去取,机器一多,nagios所在的系统CPU可能会扛不住,所以我们系统在测试环境中中使用了被动获取NSCA的方式,以后可能会转到NDOUtils方式,通过数据库实现监控端和被监控端的分离。
NSCA具体工作过程:
1. 数据生成: 被监控端程序定时收集数据并发送到Nagios服务端,Nagios服务端的NSCA进程收到数据,数据放到指定文件(nagios.cfg和nsca.cfg中指定)。
2. 数据处理: Nagios实时处理指定文件,将数据存到queue,同时Nagios会定期检查queue,对数据做最终处理,例如:发送alert邮件,记录日志等。监控系统的最终模式:Nagios + NSCA + Pnp4nagios(bulk&npcd)。NSCA负责收集数据,Nagios把收集的数据按照Pnp4nagios要求的格式写到spool文件,每隔15分钟把文件移动到npcd处理的spool文件夹,npcd调用process_perfdata.pl处理spool文件夹中的文件,最后存到rrd里,在Nagios监控页面加入pnp4nagios的web访问url,就可以查看图形化监控数据了。
接下来说说我们Nagios的安装,
Nagios Server端安装
一台liunx server(CentOS),安装以下安装包 的的对应版本
1. 基本nagios以及Web GUI安装包
代码如下:
安装步骤
2. 图形化性能数据安装包
代码如下:
安装步骤3. Linux 系统监控插件
主动方式:nrpe-*.tar.gz,被动方式:nsca-*.tar.gznsca安装步骤Note: inetd或者xinetd没有使用在我们的系统中
Nagios monitored Clients对于NSCA模式,我们使用了Python脚本+Cron Job(crontab)的方式来定时按格式发送数据到Nagios Server,所以被监控设备上面只要安装了Python就可以了。
现在说说在我们系统中如何是用NSCA方式来获取我们需要的被监控节点的资源使用情况信息。
Nagios Server端的基本配置:
1. nagios web gui 访问配置,系统中使用的是nagios core中推荐的配置方式,通过apache httpd访问nagios web,安装nagios的时候会自动寻找系统中安装的httpd,把nagios的httpd文件放到httpd的conf.d目录下,这样,只要生成一次nagios web访问的密码就可以通过http://localhost/nagios/访问nagios web.
代码如下:
2. 在Nagios中定义要监控的机器和要监控的服务2. 1 在/usr/local/nagios/etc/objects/中定义被监听节点和需要被监听的服务,例如:
代码如下:
<p>define service{ use passive_service,srv-pnp service_description CPU_Status host_name system_1_oam_1 contact_groups system_1_admins,systems_admins }define service{ use passive_service,srv-pnp service_description Memory_Status host_name system_1_oam_1 contact_groups system_1_admins,systems_admins }……</p>
<p># system_1 traffic_1define service{ use passive_service,srv-pnp service_description CPU_Status host_name system_1_traffic_1 contact_groups system_1_admins,systems_admins }
Note:a. passive_service是NSCA需要的配置 b. host-pnp和srv-pnp是pnp4nagios要用的配置2.2 把定义的配置文件添加到/usr/local/nagios/etc/nagios.cfg中
代码如下:
<p>cfg_file=/usr/local/nagios/etc/objects/system_1.cfgcfg_file=/usr/local/nagios/etc/objects/system_2.cfg ……nagios_user=nagiosnagios_group=nagioslock_file=/usr/local/nagios/var/nagios.lockstatus_update_interval=10
3. 对不同的系统添加系统监控管理员
3.1
代码如下:
3.2
代码如下:
4. NSCA配置4.1 NSCA端:如果没有端口冲突之类的问题,/usr/local/nagios/etc/nsca.cfg可以作为默认配置直接使用Note: 当Nagios端有问题的时候,nsca本身可以保存收到的数据,要小心数据量大小的问题,监控机器多的时候,Nagios挂的时间长了点,文件就很容易变的很大4.2 Nagios端:4.2.1 修改/usr/local/nagios/etc/objects/templates.cfg,增加被动检测模版
代码如下:
4. 2.2 修改/usr/local/nagios/etc/commands.cfg,增加命令定义如何处理NSCA发送来的数据
代码如下:
Note: check_dummy很简单,处理Nagios中OK,WARNING,CRITICAL,UNKNOWN
代码如下:
4.2.3 检查/usr/local/nagios/etc/nagios.cfg已经可以处理外部NSCA发送来的数据,默认是没有问题的
代码如下:
5. 查看Nagios GUI中新加的host和service已经存在
6. 添加pnp4nagios bulk+npcd 模式监听系统
6.1 修改/usr/local/nagios/etc/nagios.cfg
代码如下:
6.2 修改/usr/local/nagios/etc/objects/commands.cfg,增加performance文件处理命令
代码如下:
6.3 修改nagios.cfg,设置在nagios web gui中显示pnp4nagios图标的方式第一种方法在templates.cfg里面加入如下,只能在新窗口打开图像数据
代码如下:
<p>define service { name srv-pnp action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ register 0 }
第二种方法可以在鼠标移到pnp4nagios图标的时候就可以开到实时图标,不过效果不是很好,按照说明加入如下:
拷贝status-header.ssi到/usr/local/nagios/share/ssi/目录下面,同时修改templates.cfg,加入如下内容:
代码如下:
Note1: 自动出现的小窗口清晰度不好,我喜欢第一种方式Note2: 这里没有涉及email的配置,记得通知设计的时候小心消息泛滥被投诉。。。
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » 监控软件Nagios的服务器端在Linux系统上的安装和配置方法
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 织梦模板使用说明
- 你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html