准备软件包
在做安装之前确认要对该机器拥有root权限。
确认你安装好的Centos系统上已经安装如下软件包再继续。
- Apache
- GCC编译器
- GD库与开发库
可以用yum命令来安装这些软件包,键入命令:
yum install httpd
yum install gcc
yum install glibc glibc-common
yum install gd gd-devel
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
# 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
# yum erase php php-cli php-common php-ldap
yum install -y php53 php53-devel php53-mysql php53-gd php53-snmp php53-pdo
# 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 Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies |
service httpd restart
install.php
而我就没那么幸运,出现 PHP
# rm /usr/local/pnp4nagios-0.6.16/share/install.php
# vim /usr/local/nagios/etc/objects/templates.cfg
因为我nagios
|
我nagios
|
# vim /usr/local/nagios/etc/nagios.cfg
process_performance_data=0
#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
拷贝并修改Synchronous mode相应的命令行到nagios的command.cfg
# vim /usr/local/nagios/etc/objects/commands.cfg
define command { } define command { } |
具体产生的图,存放的位置
[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
-rw-r--r-- 1 nagios nagios
-rw-r--r-- 1 nagios nagios
bin | Nagios |
etc | Nagios |
sbin | Nagios cgi文件所在目录,也就是执行外部命令所需要文件所在的目录 |
share | Nagios |
var | Nagios |
var/archive | 存放存档日志的空目录 |
var/rw | 为外部命令保留的空目录 |
| |
htpasswd.users | Nagios |
nagios.cfg | Nagios |
contacts.cfg | 定义联系人和联系人组 |
cgi.cfg | 和cgi |
resource.cfg | 资源配置文件,包含很少的参数设置 |
command.cfg | 命令配置文件,只有在这里定义过的才能在nagios中调用 |
templates.cfg | 模板文件,内含各种模板 |
timeperiods.cfg | 时间配置文件,定义时间段 |