nagios+pnp4nagios安装

本文详细介绍如何在CentOS系统上安装配置Nagios监控系统及其插件,包括必要的软件包安装、用户组设置、Web接口配置、SELinux设置调整等内容,并进一步介绍了PnP4Nagios的安装配置流程,实现性能数据的图表化展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备软件包

在做安装之前确认要对该机器拥有root权限。

确认你安装好的Centos系统上已经安装如下软件包再继续。

  1. Apache
  2. GCC编译器
  3. GD库与开发库

可以用yum命令来安装这些软件包,键入命令:


yum install httpd 
yum install gcc
yum install glibc glibc-common
yum install gd gd-devel

4.4.3. 操作过程

1)建立一个帐号

切换为root用户

su -l

创建一个名为nagios的帐号并给定登录口令


/usr/sbin/useradd nagios 
passwd nagios

创建一个用户组名为nagcmd用于从Web接口执行外部命令。将nagios用户和apache用户都加到这个组中。


/usr/sbin/groupadd nagcmd 
/usr/sbin/usermod -G nagcmd nagios 
/usr/sbin/usermod -G nagcmd apache

2)下载Nagios和插件程序包

建立一个目录用以存储下载文件


mkdir ~/downloads 
cd ~/downloads

下载Nagios和Nagios插件的软件包(访问http://www.nagios.org/download/站点以获得最新版本)

3)编译与安装Nagios

展开Nagios源程序包


cd nagios-3.2.3

运行Nagios配置脚本并使用先前开设的用户及用户组:


./configure --with-command-group=nagcmd

编译Nagios程序包源码

make all

安装二进制运行程序、初始化脚本、配置文件样本并设置运行目录权限

make install 
make install-init
make install-config 
make install-commandmode

现在还不能启动Nagios-还有一些要做的...

4)客户化配置

样例配置文件默认安装在这个目录下/usr/local/nagios/etc,这些样例文件可以配置Nagios使之正常运行,只需要做一个简单的修改...

用你擅长的编辑器软件来编辑这个/usr/local/nagios/etc/objects/contacts.cfg配置文件,更改email地址nagiosadmin的联系人定义信息中的EMail信息为你的EMail信息以接收报警内容。


vi /usr/local/nagios/etc/objects/contacts.cfg

5)配置WEB接口

安装Nagios的WEB配置文件到Apache的conf.d目录下


make install-webconf

创建一个nagiosadmin的用户用于Nagios的WEB接口登录。记下你所设置的登录口令,一会儿你会用到它。


htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

重启Apache服务以使设置生效。


service httpd restart

启动httpd ,使httpd 服务开机时启动
# chkconfig httpd on

6)编译并安装Nagios插件

展开Nagios插件的源程序包


cd nagios-plugins-1.4.15

编译并安装插件


./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install

7)启动Nagios

把Nagios加入到服务列表中以使之在系统启动时自动启动


chkconfig --add nagios
chkconfig nagios on

验证Nagios的样例配置文件


/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

如果没有报错,可以启动Nagios服务

service nagios start

8)更改SELinux设置

Fedora与SELinux(安全增强型Linux)同步发行与安装后将默认使用强制模式。这会在你尝试联入Nagios的CGI时导致一个"内部服务错误"消息。

如果是SELinux处于强制安全模式时需要做


getenforce

令SELinux处于容许模式


setenforce 0

如果要永久性更变它,需要更改/etc/selinux/config里的设置并重启系统。

不关闭SELinux或是永久性变更它的方法是让CGI模块在SELinux下指定强制目标模式:


chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ 
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

更多有关Nagios的CGI模块增加目标策略的强制权限方式见NagiosCommunity.org的维基百科http://www.nagioscommunity.org/wiki

9)登录WEB接口

你现在可以从WEB方式来接入Nagios的WEB接口了,你需要在提示下输入你的用户名(nagiosadmin)和口令,你刚刚设置的,这里用系统默认安装的浏览器,用下面这个超链接

http://localhost/nagios/
------------------------------------------------------------------------------
演示 系统Centos5.5 
  安装 pnp4nagios 前先安装 rrdtools ,不安装 rrdtools  安装 pnp4nagios 的时候会提示找不到 rrdtools
安装rrdtool,rrdtool 不能直接通过 yum 安装,可以加入 Dag RPM Repository以便让 yum 能找到rrdtool
wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm 
yum install rrdtool 
安装出来的就是1.4.4版本

 下载地址:http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/

# tar -zxvf pnp4nagios-0.6.16.tar.gz

# ./configure --prefix=/usr/local/pnp4nagios-0.6.16 --with-rrdtool=/usr/bin/rrdtool

# make all

# make install

# make install-webconf

# make install-config

# make install-init

 

         因为pnp4nagios 需要php5.2或以上的版本,所以要先删除系统自带的5.1

# yum erase php php-cli php-common php-ldap

         再安装5.2或以上的版本

yum install -y php53 php53-devel php53-mysql php53-gd php53-snmp php53-pdo


 

#  rpm -qa |grep php

php53-pdo-5.3.3-1.el5_7.3

php53-gd-5.3.3-1.el5_7.3

php53-mysql-5.3.3-1.el5_7.3

php53-devel-5.3.3-1.el5_7.3

php53-common-5.3.3-1.el5_7.3

php53-5.3.3-1.el5_7.3

php53-snmp-5.3.3-1.el5_7.3

php53-cli-5.3.3-1.el5_7.3

 

# php -v

PHP 5.3.3 (cli) (built: Nov  2 2011 23:35:50) 

Copyright (c) 1997-2010 The PHP Group

Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

 安装出来的就是 php5.3

service httpd restart

 

         安装完成后打开http://ip/pnp4nagios/index.php会看到pnp4nagios 环境测试结果,如果按以上方法来安装,全部都会pass ,最后有一行绿色低的英文

    Your environment passed all requirements. Remove or rename the install.php file now.

而我就没那么幸运,出现 PHP  JSON extension not avaliable,解决见我另外一篇文章:

 http://blog.sina.com.cn/s/blog_5edf89770100u29r.html  (装的php5.3基本不会出现此错误)

# rm /usr/local/pnp4nagios-0.6.16/share/install.php       #删除install.php文件

 

         修改nagios 的模板文件,在对应的主机和服务定义字段里加入以下内容,

# vim /usr/local/nagios/etc/objects/templates.cfg

因为我nagios 中主机的name linux-server ,所以我在name linux-server 中加入

        action_url /pnp4nagios/index.php?host=$HOSTNAME$

        process_perf_data               1

nagios 中服务的的name generic-service ,所以我在name generic-service 中加入

        action_url /pnp4nagios/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$

        process_perf_data               1

 

         修改nagios 配置文件

# vim /usr/local/nagios/etc/nagios.cfg

process_performance_data=0 改为 process_performance_data=1

#host_perfdata_command=process-host-perfdata

#service_perfdata_command=process-service-perfdata

前面的两个注释去掉

 

# cd /usr/local/pnp4nagios-0.6.6/etc

# cp process_perfdata.cfg-sample process_perfdata.cfg

# cp npcd.cfg-sample npcd.cfg

# cp rra.cfg-sample rra.cfg

 

         如果pnp4nagios 不能正常显示,请按以下方法修改一下

         打开/usr/local/pnp4nagios-0.6.16/etc/misccommands.cfg-sample

拷贝并修改Synchronous mode相应的命令行到nagioscommand.cfg 内部,把command原来定义的process-service-perfdataprocess-host-perfdata注释掉

# vim /usr/local/nagios/etc/objects/commands.cfg

define command {

       command_name    process-service-perfdata

       command_line    /usr/bin/perl /usr/local/pnp4nagios-0.6.16/libexec/process_perfdata.pl

}

 

define command {

       command_name    process-host-perfdata

       command_line    /usr/bin/perl /usr/local/pnp4nagios-0.6.16/libexec/process_perfdata.pl

}

 

 

 

         保存退出后重启nagios  httpd ,再重新打开nagios 页面,会发现所有的service  hosts 旁边多了一个小太阳的图标,这说明定义正确了. 

具体产生的图,存放的位置
[root@monitor]# pwd
/usr/local/pnp4nagios/var/perfdata/localhost
[root@monitor]# ll
total 1916
-rw-r--r-- 1 nagios nagios 1151284 Apr 15 11:36check_load.rrd
-rw-r--r-- 1 nagios nagios  12873 Apr 15 11:36 check_load.xml
-rw-r--r-- 1 nagios nagios  768012 Apr 15 11:37PING.rrd
-rw-r--r-- 1 nagios nagios  12175 Apr 15 11:37 PING.xml   

 

         下面记录了部份的关于nagios 的配置文件和文件夹的说明 ,给大家参考一下

 

bin

Nagios 执行程序

etc

Nagios 配置文件

sbin

Nagios cgi文件所在目录,也就是执行外部命令所需要文件所在的目录

share

Nagios 网页文件所在的目录

var

Nagios 日志文件、spid等文件所在的目录

var/archive

存放存档日志的空目录

var/rw

为外部命令保留的空目录

 

 

htpasswd.users

Nagios 用户名和密码

nagios.cfg

Nagios 主配置文件

contacts.cfg

定义联系人和联系人组

cgi.cfg

cgi 相关的设置

resource.cfg

资源配置文件,包含很少的参数设置

command.cfg

命令配置文件,只有在这里定义过的才能在nagios中调用

templates.cfg

模板文件,内含各种模板

timeperiods.cfg

时间配置文件,定义时间段


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值