Rootop 服务器运维与web架构

linux监控工具nagios之安装篇

| 暂无评论

关于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

作者:Venus

服务器运维与性能优化

发表回复