呆着没事研究研究 ,之前也用过MRTG PRTG cactiEZ 等网络监控系统。但是都感觉美中不足。
见天研究了一下Nagios 初步达到需要的效果 。废话少说了 ,先说说搭建过程吧 。
首先我采用的是 RHEL-server-5.3 系统作为平台 。之前看到有些大虾写的安装记录里需要手动安装什么 apache GCC GD 。其实完全没有必要手动安装 。一来安装起来相对比较麻烦 。二来一会设置NAgios的时候 GCC GD 的目录就会很容易出错 。所以我采用了系统自带的添加和删除软件包工具进行安装 。 只要选择 “万维网服务” 和“开发工具” 两项就可以了 。默认Nagios需要的所有系统支持组建就都安装好了 。
至于nagios 的软件包 ,更是简单的了 。我们可以先从官网上下载下来 ,然后通过SSH 传输到服务器上 ,也可以在服务器上下载 。这取决你的选择 。
如果你在服务器上下载的话应该这样做 :
#mkdir ~/downloads
#cd ~/downloads
#wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0rc1.tar.gz
#wgethttp://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
下载的时候我们可以做这些工作 :
创建一个名为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 apach
下载后我们就进行编译安装。
展开Nagios源程序包
#cd ~/downloads
#tar xzf nagios-3.0rc1.tar.gz
#cd nagios-3.0rc1
运行Nagios配置脚本并使用先前开设的用户及用户组:
#./configure --with-command-group=nagcmd
编译Nagios程序包源码
#make all
安装二进制运行程序、初始化脚本、配置文件样本并设置运行目录权限
#make install
#make install-init
#make install-config
#make install-commandmode
现在还不能启动Nagios-还有一些要做的...
配置Nagios使之正常运行,只需要做一个简单的修改...
用你擅长的编辑器软件来编辑这个
/usr/local/nagios/etc/objects/contacts.cfg配置文件,更改email地址
nagiosadmin的联系人定义信息中的EMail信息为你的EMail信息以接收报警内容。
vi /usr/local/nagios/etc/objects/contacts.cfg
安装Nagios的WEB配置文件到Apache的conf.d目录下
make install-webconf
创建一个nagiosadmin的用户用于Nagios的WEB接口登录。记下你所设置的登录
口令,一会儿你会用到它。
htpasswd -c /usr/local/nagios/etc/htpasswd nagiosadmin(没特殊情况下一定要用这个用户nagiosadmin 过会会为你省很多的时间).
展开Nagios插件的源程序包
cd ~/downloads
tar xzf nagios-plugins-1.4.11.tar.gz
cd nagios-plugins-1.4.11
编译并安装插件
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
验证Nagios的样例配置文件
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
nagios 的安装工作完成了 接下来我们要配置一下apache服务了 。因为之前我们装好了apache 所以你可以先启动一下apache的服务 (#server httpd start ),然后在本地看看http://localhost能不能显示apache的默认页面 。如能显示说明apache服务能够正常运行 ,如果不能显示 ,不要着急可以查看一下配置文件 。简单的排查一下错误 。大多数的情况下都能够正常显示 。
我们需要做的是在apache配置文件的最后加入一些代码 :
#vi/etc/httpd/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 "NagiosAccess"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd
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 "NagiosAccess"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
OK 基本的搭建和调试完成了 ,你要手动启动一下 nagios 和 apache 的系统服务 (server httpd start )(server nagios start ).
然后你就可以通过浏览器输入:http://localhost/nagios/ 这是会要认证用户和密码 。也就是之前我们建立的 nagiosadmin 账户 。
登录进去你就可以看到Nagios 的页面了 。
配置远远还灭有完成 。需要自己去研究了 。不过可以下载一个nagiosql的软件来协助我们做一些nagios 的配置工作 。