2011年(33)
分类: LINUX
2011-10-07 17:59:49
Nagios是一套强大的监控工具,可以实现对各种系统、网络设备的监控,并且可以将发送故障报告到你的邮件,手机等方式,Nagios可以说是现在很流行的一款开源监控软件,本文将讲述最新版Nagios的安装过程,客户端配置稍后在另一篇文章里讲。
本文提供pdf版下载,见页面尾部。
系统:Centos5.6 x386
软件:nagios-3.3.1 nagios-plugins-1.4.15
一、 安装必须软件nagios是监控是通过web来管理的,因此我们需要安装web程序,这里需要安装apache、php、gd,使用yum直接安装
#yum install apache
#yum install php
#yum install gd gd-devel
设置apache自启动
#chkconfig httpd on
二、 添加nagios相关账号首先我们需要添加运行nagios的账号nagios和从web接口来执行外部命令的组nagcmd,并将nagios和apache加入nagcmd组
#useradd nagios
#passwd nagios
#groupadd nagcmd
#usermod –G nagcmd nagios
#usermod –G nagcmd apache
三、 安装nagios
下载nagios主程序和插件,可以从官方下载nagios和nagios-plugins
()
这里我们使用最新版的nagios-3.3.1 和nagios-plugins-1.4.15
安装nagios,假设下载目录为/opt/soft,安装目录为/usr/local/nagios
#cd /opt/soft
#tar zxvf nagios-3.3.1.tar.gz
#cd nagios
#./configure –prefix=/usr/local/nagios –with-nagios-user=nagios –with-nagios-group=nagios –with-command-group=nagcmd
#make all
以下几步为安装二进制脚本,初始化脚本,配置文件样例,设置运行目录权限及配置apache参数
#make install
#make install-init
#make install-config
#make install-commandmode
#make install-webconf
接下来还需要设置登录nagios的用户密码
#htpasswd –c /usr/local/nagios/etc/ptpasswd.users nagiosadmin
然后重启apache服务
#service httpd restart
将nagios加入服务列表并设置开机自启动
#chkconfig –add nagios
#chkconfig nagios on
四、 安装nagios-pluginsnagios-plugins是nagios的插件包,提供给nagios很多可用的插件,用于检测各种系统,服务,设备等,他们都存放在libexec目录内
安装nagios-plugins,假设下载目录为/opt/soft,安装目录为/usr/local/nagios
#cd /opt/soft
#tar zxvf nagios-plugins-1.4.15.tar.gz
#cd nagios-plugins-1.4.15
#./configure –prefix=/usr/local/nagios –with-nagios-user=nagios –with-nagios-group=nagios
#make
#make install
五、 启动nagios
首先测试nagios配置文件是否正确。
#/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
如果没有报错就可以启动服务了。
但是在启动服务器之前,请确认http端口80和nagios端口5666已经在防火墙列表中对外开放。
#service httpd start
#service nagios start
这时我们通过就可以访问到nagios的控制台了,输入用户名和密码就会来到这样的一个界面,说明已经安装成功。
六、 补充
很多人在安装之后,点开nagios都会出现这样的一个提示(即是在selinux关闭的情况下):
It appears as though you do not have permission to view information for any of the services you requested...
网上有很多人说是修改cgi.cfg的use_authentication参数,将默认的1改为0,但是改这个之后在服务操作的界面,在想调整服务检测的时候就会出现这样的一个提示:
Sorry Dave, I can't let you do that...
网上的答案是你必须将cgi.cfg的use_authentication参数改为1,这似乎是个矛盾的问题,这里给出一种解决方案。
其实并不需要降低cgi的安全性,你只需要把你的nagios管理员账户添加到cgi.cfg文件就可以了,比如我的nagios管理用户是linuxpad,就需要在cgi.cfg文件中修改如下几项:
将每项的nagiosadmin更改为linuxpad即可,多用户用”,”分割。
authorized_for_system_information=nagiosadmin
authorized_for_configuration_information=nagiosadmin authorized_for_system_commands=nagiosadmin
authorized_for_all_services=nagiosadmin
authorized_for_all_hosts=nagiosadmin
authorized_for_all_service_commands=nagiosadmin
authorized_for_all_host_commands=nagiosadmin