良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

Ubuntu + Nagios + ndoutils + PNP4Nagios 安装

网上太多,语焉不详的Nagios搭建过程描述,很多照着做根本就不能正确运行。本文的目标是以最方便的方式搭建一个实用的监控服务器,尽最大可能细化每个步骤,给出截图,让您照着本文可以顺利地搭建出监控服务。

Nagios及其插件介绍

Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。让管理人员可以实时掌握服务器和服务的工作状态,并且及时的通知相关人员处理故障和警报。通过插件可以极大的扩展Nagios可以监控的内容。

本文会安装Nagios核心程序,以及两个特别实用的插件:

§ NDOUtils可以把Nagios监控数据保存到MySQL数据库

§ PNP4Nagios可以图形化Nagios监控数据

搭建环境:

§ 操作系统:ubuntu-12.04.3-amd64 server版全新安装

安装Nagios

sudo apt-get update

sudo apt-get install nagios3

此时会同时安装Apache、PHP5、Postfix,所以下面会涉及简单的邮件服务器的配置。

填写邮件服务器域名

填写Nagios管理员密码

确认刚才输入的密码

安装完毕,查看配置文件分布


访问测试

将以下yourip替换为安装Nagios机器的实际IP,用户名为nagiosadmin密码为安装时设定的密码效果如下图所示:

http://yourip/nagios3/


NDOUtils安装配置

sudo apt-get install ndoutils-common

配置MySQL root用户密码


确认root密码


单独配置NDOUtils数据库密码



配置运行NDOUtils

修改:/etc/default/ndoutils

ENABLE_NDOUTILS=1


在/etc/nagios3/nagios.cfg 中相应位置加入:

broker_module=/usr/lib/ndoutils/ndomod-mysql-3x.o config_file=/etc/nagios3/ndomod.cfg


启动NDOUtils

sudo service ndoutils start

sudo service nagios3 restart

此时点击Nagios的WEB页面左侧的Event log时出现下图,则安装成功:



PNP4Nagios安装配置

Nagios开启性能数据记录后,会将检测到的主机和服务数据记录到硬盘文件。PNP4Nagios的处理脚本process_perfdata.pl会在特定时间被调用以处理这些文件以绘制图形。根据process_perfdata.pl被调用的不同时机使得PNP4Nagios有三种配置模式。

PNP4Nagios的三种模式:

§ synchronous模式:Nagios每一次数据检测后都调用process_perfdata.pl进行处理

§ Bulk模式:预先设定一个固定时间间隔,到时就阻塞Nagios,处理完数据后再恢复Nagios的检测进程

§ NPCD的Bulk模式:不阻塞Nagios,直接将Nagios的数据文件移动到其他目录,Nagios可以继续在原位置记录数据。与此同时,NPCD(Nagios Performance C Daemon)可以调用process_perfdata.pl并行处理数据

本次教程配置第三种模式,因为其性能最好。看了三种模式之后,其实配置就是针对两类文件位置。一类是Nagios生成的性能数据文件,另一类是process_perfdata.pl需要处理的数据文件。

首先我们创建好存放性能分析数据的目录,注意要设置权限,因为之前安装Nagios时,默认生成的用户为nagios,所以这里的权限也要和其相同。

§ /data/nagios/目录用于存放Nagios生成的性能数据文件

§ /data/npcd/目录用于存放需要process_perfdata.pl处理的数据目录

sudo mkdir -p /data/nagios/

sudo mkdir -p /data/npcd/

sudo chown -R nagios:nagios /data/nagios/ /data/npcd/

安装PNP4Nagios

sudo apt-get install pnp4nagios

cp   /etc/pnp4nagios/apache.conf  /etc/apache2/sites-enabled/pnp4nagios.conf

service apache2 restart

配置NPCD

修改 /etc/default/npcd

RUN=“yes”


修改/etc/nagios3/nagios.cfg

process_performance_data=1

并且增加以下内容:

#

# service performance data

#

service_perfdata_file=/data/nagios/service-perfdata

service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$

service_perfdata_file_mode=a

service_perfdata_file_processing_interval=15

service_perfdata_file_processing_command=pnp-bulknpcd-service

 

#

# host performance data starting with Nagios 3.0

#

host_perfdata_file=/data/nagios/host-perfdata

host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$

host_perfdata_file_mode=a

host_perfdata_file_processing_interval=15

host_perfdata_file_processing_command=pnp-bulknpcd-host


修改 /etc/pnp4nagios/npcd.cfg 中的 perfdata_spool_dir = /data/npcd/


修改 /etc/nagios3/conf.d/pnp4nagios.cfg 中的两个命令路径:


注意点: nagios.cfg中 service_perfdata_file和host_perfdata_file要和pnp4nagios.cfg中一致 这里涉及到得几个文件(其中对性能文件的存放位置)

§ /etc/nagios3/nagios.cfg --> 对service/host performance data的定义

§ /etc/nagios3/conf.d/pnp4nagios.cfg --> command名称和移动路径

§ /etc/pnp4nagios/npcd.cfg --> perfdata_spool_dir

对/etc/nagios3/conf.d/generic-host_nagios2.cfg增加:

(这里主要要和apache里面pnp4nagios的访问路径对应起来)

 action_url /pnp4nagios/index.php?host=$HOSTNAME$' onmouseover="get_g('$HOSTNAME$','_HOST_')" onmouseout='clear_g()


对/etc/nagios3/conf.d/generic-service_nagios2.cfg增加:

action_url /pnp4nagios/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$' onmouseover="get_g('$HOSTNAME$','$SERVICEDESC$')" onmouseout='clear_g()


启动NPCD、重启Nagios

sudo service npcd start

sudo service nagios3 restart

此时,访问Nagios的WEB页面:


点击host或者service旁边的太阳图标,就可以转到图标页面。


点击太阳图标的时候也许不会出现上图,也许会报错,如下图所示:


此时只需等一两分钟,然后再访问。因为NPCD要数据才能处理,不然NPCD发现在我们设定的目录下/data/npcd/没有数据,到默认目录下发现也没有数据,就会报错,但是报错信息内容确是:无法在默认的目录/var/lib/pnp4nagios/perfdata/下找到数据。

 


留言列表
发表评论
来宾的头像