应用场景:测试环境以及运行时环境都需要实时监控程序来监控系统(Linux Redhat)的健康状态,监控需求主要集中在:CPU,Memory,Disk IO,Network使用情况 。
Nagios的基本思想就是nagios server 获取被监控节点(monitored server)的相关信息,通过CGI(Web GUI)或者邮件等方式展示给管理员。
以前我有介绍过如何通过jmeter+jmeter-plugins来监控系统资源使用情况,有了Nagios之后我们就放弃了使用jmeter,因为Nagios使用更完善。
先来看看Nagios addons里面提供的监控unlx/linux的方法(摘自http://nagios.sourceforge.net/docs/3_0/addons.html)
信息的获取主要分为主动拿,被动得到,其中主动拿分直接去被监控节点取或者中间数据库节点取。
如果是个个被监控节点直接去取,机器一多,nagios所在的系统CPU可能会扛不住,所以我们系统在测试环境中中使用了被动获取NSCA的方式,以后可能会转到NDOUtils方式,通过数据库实现监控端和被监控端的分离。
Nagios中数据的显示不是非常友好,不过它有一个非常牛逼的插件pnp4nagios,pnp4nagios可以把数据用图形很好的显示出来,Pnp4nagios有几种模式,目前比较流行的是bulk+npcd模式,synchronized模式是有数据就绘图(The synchronous mode will work very good up to about 1.000 services in a 5 minute interval),bulk模式是集中时间点绘图(71 lines were processed in 0.06 seconds. This will be the data volume of about 2000 services und processing using a 10 second interval. It means we blocked nagios for exactly 0.06 seconds.)。Bulk+npcd使用单独的npcd进程处理数据绘图,不会影响Nagios正常功能。
监控系统的最终模式:Nagios + NSCA + Pnp4nagios(bulk&npcd)。
NSCA负责收集数据,Nagios把收集的数据按照Pnp4nagios要求的格式写到spool文件,每隔15分钟把文件移动到npcd处理的spool文件夹,npcd调用process_perfdata.pl处理spool文件夹中的文件,最后存到rrd里,在Nagios监控页面加入pnp4nagios的web访问url,就可以查看图形化监控数据了。
s
接下来说说我们Nagios的安装,
Nagios Server
一台liunx server(CentOS),安装以下安装包 的的对应版本
1. 基本nagios以及Web GUI安装包
httpd-*.tar.gz,php-*.tar.gz, nagios-*.tar.gz, nagios-plugins-*.tar.gz
2. 图形化性能数据安装包pnp4nagios-*.tar.gz
3. Linux 系统监控插件
主动方式:nrpe-*.tar.gz,被动方式:nsca-*.tar.gz
nsca安装步骤
Note: inetd或者xinetd没有使用在我们的系统中
Nagios monitored Clients
对于NSCA模式,我们使用了Python脚本+Cron Job(crontab)的方式来定时按格式发送数据到Nagios Server,所以被监控设备上面只要安装了Python就可以了。
第二篇: Nagios Server端配置
第三篇: Nagios monitored Client配置和脚本实现
Nagios监控Linux系统资源使用情况 -- Nagios介绍篇
原文地址:http://blog.csdn.net/cloud_ll/article/details/34951187