安装环境: RHEL 5i386
Nagios版本:2.9-stable
与其说Nagios 是一个服务器监控系统,不如说nagios是一个服务和主机的监控平台。
为什么这么说呢?Nagios的设计者并没有把nagios设计成万能的巨人,而是把nagios设计成监控王国之中的国王,或者说是“监控之神”。
nagios的功能是监控服务和主机,但是他自身并不包括这部分功能的代码,所有的监控、检测功能都是有插件来完成的。再说报警功能,如果监控系统发现问题不能报警那就没有意义了,所以报警也是nagios很重要的功能之一。但是,同样的,nagios自身也没有报警部分的代码,甚至没有插件,而是交给用户或者其他相关开源项目组去完成。类似这样细致的工作,被nagios的开发人员称为dirty work(脏活)。其实脏活不脏,只是太细致了,对于nagios——一个负责监控工作的老板来说,细致的工作必然是交给他的员工去搞定啦。
所以我这里说的nagios安装,是指基本平台,也就是nagios软件包的安装。它是监控体系的框架,也是所有监控的基础。
打开nagios官方的文档,会发现nagios基本上没有什么依赖包,只要求系统是linux或者其他nagios支持的系统。不过如果你没有安装apache(http服务),那么你就没有那么直观的界面来了解信息了,所以apache姑且算是一个前提条件。关于apache的安装,网上有很多,照着安装就是了。安装之后要检查一下是否可以正常工作。
Ok,准备工作搞定。让我们开启nagios之旅!
首先到官方网站(http://www.nagios.org/download/)去下载最新的nagios软件包,本文中使用的是nagios-2.9.tar.gz 。顺便把官方文档也下载下来,以备不时之需。
其实nagios的安装是很简单的,sery兄称其为“难够死”,也只是因为配置上稍显麻烦。所以如果下决心要搞定nagios,那么你需要的最重要的能力,不是技术,而是毅力。呵呵,玩笑话就不多说了,让我们开始安装软件包:
1、 nagios用户
adduser nagios
mkdir /usr/local/nagios
chown nagios.nagios /usr/local/nagios
2、 nagios 组
grep "^User" /etc/httpd/conf/httpd.conf #确定apache的用户,默认是apache /usr/sbin/groupadd nagcmd
/usr/sbin/usermod -G nagcmd apache #apache的用户名
/usr/sbin/usermod -G nagcmd nagios
3、 解压
tar xzf nagios-version.tar.gz
4、 编译
./configure --prefix=prefix --with-nagios-user=someuser --with-nagios-group=somegroup --with-command-group=cmdgroup
#变量prefix 为安装目录,例如/usr/local/nagios
#变量someuser 为nagios的用户,例如nagios
#变量somegruop 为nagios属于的组,例如nagios
#变量cmdgroup 为nagios命令行属组,例如nagcmd
5、 安装
make all
make install
make install-config
make install-init
6、 检查
ls /usr/local/nagios/
bin etc sbin share var #看到这5个目录就ok了
7、 生成http用户验证文件,用户名为nagios
/usr/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios
8、 将nagios的信息加到apache中,打开/etc/httpd/conf/httpd.conf文件,在文件最后添加如下代码:
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>
9、 重启apache
/etc/init.d/httpd restart
经过上述9个步骤,如果没有出问题的话,你的nagios页面将神奇的出现,赶快去验收成果吧!
http://IP/nagios