2014-05-08
发表者 Venus
暂无评论
关于nagios的介绍不做过多的描述,下面开始安装过程。
nagios的官方网站:http://www.nagios.org
目前最新版为4.0.6,这里我不用最新版本,采用nagios-3.5.1。
下载地址:http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.5.1.tar.gz
nagios插件下载地址:http://nagios-plugins.org/download/nagios-plugins-2.0.tar.gz
nagios汉化插件下载地址:http://nchc.dl.sourceforge.net/project/nagios-cn/sourcecode/zh_CN%203.2.3/nagios-cn-3.2.3.tar.bz2
nagios需要web服务器和php支持,所以安装Apache(或nginx)+php,mysql到用不上顺便装上留作其它测试用。
安装:
[root@centos-6.5-x64 ~]#useradd -s /sbin/nologin nagios
[root@centos-6.5-x64 ~]#yum install -y gcc gcc-c++ gd gd-devel openssl openssl-devel zlib zlib-devel httpd php php-mysql php-gd php-mbstring mysql mysql-server sendmail
[root@centos-6.5-x64 ~]#tar zxvf nagios-3.5.1.tar.gz
[root@centos-6.5-x64 ~]#cd nagios
[root@centos-6.5-x64 nagios]#./configure --prefix=/usr/local/nagios --with-gd-lib=/usr/lib --with-gd-inc=/usr/include/
[root@centos-6.5-x64 nagios]#make all
[root@centos-6.5-x64 nagios]#make install
[root@centos-6.5-x64 nagios]#make install-init #在/etc/rc.d/init.d目录下创建nagios启动脚本就可以通过service nagios start···管理
[root@centos-6.5-x64 nagios]#make install-commandmode #自动设置相关目录的权限
[root@centos-6.5-x64 nagios]#make install-config #安装nagios配置文件模板
安装nagios插件:
[root@centos-6.5-x64 ~]#tar zxvf nagios-plugins-2.0.tar.gz
[root@centos-6.5-x64 ~]#cd nagios-plugins-2.0
[root@centos-6.5-x64 nagios-plugins-2.0]#./configure --prefix=/usr/local/nagios/
[root@centos-6.5-x64 nagios-plugins-2.0]#make all
[root@centos-6.5-x64 nagios-plugins-2.0]#make install
插件被安装到/usr/local/nagios/libexec/下
安装中文插件:
对于像我这样渣渣英语的同学来说安装个汉化插件不错。
[root@centos-6.5-x64 ~]#tar jxvf nagios-cn-3.2.3.tar.bz2
[root@centos-6.5-x64 ~]#cd nagios-cn-3.2.3
[root@centos-6.5-x64 nagios-cn-3.2.3]#./configure
[root@centos-6.5-x64 nagios-cn-3.2.3]#make all
[root@centos-6.5-x64 nagios-cn-3.2.3]#make install
配置apache:
[root@centos-6.5-x64 ~]#vi /etc/httpd/conf/httpd.conf
User nagios #运行apache的用户、组改为nagios
Group nagios
DirectoryIndex index.php index.html index.html.var
直接跳到最后一行追加:
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd #指定密码文件
Require valid-user
</Directory>
ServerName localhost
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
因为nagios没有自带用户认证功能,所以通过apache来实现访问授权。
[root@centos-6.5-x64 ~]#htpasswd -c /usr/local/nagios/etc/htpasswd root #添加授权用户root,名字可自己定义。
New password:
Re-type new password:
Adding password for user root
[root@centos-6.5-x64 ~]#service nagios start
[root@centos-6.5-x64 ~]#service httpd start
现在可以访问nagios了。
http://192.168.1.53/nagios/


安装完成。
PS:
安装完成后访问出现的几个错误。
报错1:
错误: 无法正确地读出配置文件中的对象数据!
[root@localhost ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #检查配置文件
我执行后提示我Line 1043 (UNKNOWN VARIABLE) 1043行有错误。
#service_check_timeout_state=c #根据检查配置文件命令提示此行错误,屏蔽。
错误2:
The requested URL /nagios/cgi-bin/statusmap.cgi was not found on this server.
到/usr/local/nagios/sbin确认确实没有此文件。
这个错误是最开始安装时没有安装gd和gd-devel包,导致没有statusmap.cgi程序。不过上面我们已经安装了gd和gd-devel所以不会出现,留作提示大家注意下。
[root@localhost sbin]# yum install gd gd-devel 重新编译nagios
./configure --prefix=/usr/local/nagios --with-gd-lib=/usr/lib --with-gd-inc=/usr/include
编译nagios时通过此参数得到statusmap.cgi文件,否则登陆nagios后,点击拓扑图会提示404错误。