关于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错误。
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/2556.html