1.系统:CentOS 5.4 x64_x86

2.安装前准备:(关闭防火墙)

1).安装好apache,php,php-gd库。

#yum install httpd php php-gd

2).下载Nagios3.5.0,Nagios-plugins1.4.16,nrpe2.14,nsclient++

# http://www.nagios.org/download/

#Nagios3.5.0,Nagios-plugins1.4.16,nrpe2.14安装在监控服务器上。

# 去http://www.nagios.org/download/addons/下载nrpe和nsclient++插件。

# nrpe2.12安装在Linux/Unix被监控端。

# nsclient++安装在Windows被监控端。

创建用户和用户组

# useradd -s /sbin/nologin nagios

# mkdir /usr/local/nagios

# chown -R nagios.nagios /usr/local/nagios

编译安装Nagios

# tar zxvf nagios-3.5.0.tar.gz

# cd nagios

#./configure --prefix=/usr/local/nagios

#指定Nagios的安装目录,这里指定将Nagios安装在/usr/local/nagios目录下

# make all# make install

# 使用make install来安装主程序,CGI和HTML文件

# make install-init

# 使用make install-init在/etc/rc.d/init.d目录下创建Nagios启动脚本

# make install-commandmode

# 使用make install-commandmode来配置目录权限

# make install-config

# 使用make install-cofig来安装示例配置文件,安装的路径是/usr/local/nagios/etc

# make install-webconf

#使用make install-webconf来安装apache的配置文件

nagios目录功能的简要说明:

bin Nagios执行程序所在目录,nagios文件即为主程序

etc Nagios配置文件位置

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

Share Nagios网页文件所在的目录

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

var/archives 日志归档目录

var/rw 用来存放外部命令文件

设置开机启动

# chkconfig --add nagios

# chkconfig nagios on

# chkconfig nagios --list

nagios 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

安装Nagios插件

# tar zxvf nagios-plugins-1.4.16.tar.gz

# cd nagios-plugins-1.4.16

#./configure --prefix=/usr/local/nagios

# make

# make install

配置Apache

(1) 首先在Apache配置文件/etc/httpd/conf/http.conf中修改Apache进程的启动用户为Nagios,即找到:

User apache 修改为: User nagios

Group apache 修改为: Group nagios

(2) 然后服务器支持首页index.php:

DirectoryIndex index.html index.html.var修改为:DirectoryIndex index.html index.php

(3)添加:AddType application/x-httpd-php .php

(4)打开 AddHandler cgi-script .cgi (取消#注释)

Nagios的web验证

Nagios为了安全一般要求必须经过授权才可以访问Web监控界面,因此需要增减验证配置。

Nagios在编译make install-webconf时在/etc/httpd/conf.d下添加了nagios.conf配置文件。如果没有的话需要修改apache主配置文件添加如下内容:

ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"

<Directory "/usr/local/nagios/sbin">

Options ExecCGI

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthType Basic

AuthUserFile /usr/local/nagios/etc/htpasswd.users

Require valid-user

</Directory>

Alias /nagios "/usr/local/nagios/share"

<Directory "/usr/local/nagios/share">

Options None

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthType Basic

AuthUserFile /usr/local/nagios/etc/htpasswd.users

Require valid-user

</Directory>

创建Apache目录验证服务

# htpasswd -c /usr/local/nagios/etc/htpasswd.users qfly

New password: (输入密码)

Re-type new password: (再输入一次)

Adding password for user qfly

重启服务验证:

# service httpd restart

# service nagios restart