您的位置:首页 > 移动开发 > IOS开发

nagios安装

2013-04-03 14:52 176 查看
1、安装前准备

(1)创建nagios用户和用户组
[root@localhost ~]#useradd -s /sbin/nologin nagios
[root@localhost ~]#mkdir /usr/local/nagios
[root@localhost ~]#chown –R nagios.nagios /usr/local/nagios

(2)开启系统sendmail服务
在nagios监控服务器上开启sendmail服务的主要作用是让nagios在检测到故障时可以发送报警邮件,目前几乎所有的linux发行版本都默认自带了sendmail服务,所以,在安装系统时只需开启sendmail服务即可,并且不需要在sendmail上做任何配置。

2、 编译安装Nagios
首先安装如下安装包
[root@localhost ~]# yum –y install httpd gcc glibc glibc‐common gd gd‐devel
下载安装包:wget http://down1.chinaunix.net/distfiles/nagios-3.2.0.tar.gz [root@localhost ~]# tar -zxvf nagios-3.2.0.tar.gz
[root@localhost ~]# cd nagios-3.2.0
[root@localhost nagios-3.2.0]#./configure --prefix=/usr/local/nagios
#指定nagios的安装目录,这里指定nagios安装到/usr/local/nagios目录
[root@localhost nagios-3.2.0]#make all
[root@localhost nagios-3.2.0]#make install
# make install用来安装nagios的主程序,CGI和HTML文件
[root@localhost nagios-3.2.0]# make install-init
#通过make install-init命令可以在/etc/rc.d/init.d目录下创建nagios启动脚本
[root@localhost nagios-3.2.0]# make install-commandmode
#通过make install-commandmode命令来配置目录权限
[root@localhost nagios-3.2.0]# make install-config
#make install-cofig命令用来安装nagios示例配置文件,这里安装的路径是/usr/local/nagios/etc





3、安装Nagios插件
这里下载的版本是nagios-plugins-1.4.16。
注意:插件版本与nagios版本的关联并不大 http://nchc.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz [root@localhost nagios]#tar –zxvf nagios-plugins-1.4.16.tar.gz
[root@localhost nagios]#cd nagios-plugins-1.4.16
[root@localhost nagios-plugins-1.4.16]#./configure --prefix=/usr/local/nagios
[root@localhost nagios-plugins-1.4.16]# make

----------------------------------------------------------------------------------

Make nagios插件报错

check_http.c: In function ‘process_arguments’:
check_http.c:312: 错误:‘ssl_version’ 未声明 (在此函数内第一次使用)
check_http.c:312: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
check_http.c:312: 错误:所在的函数内只报告一次。)
make[2]: *** [check_http.o] 错误 1
make[2]: Leaving directory `/root/rpm/nagios-plugins-1.4.16/plugins'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/root/rpm/nagios-plugins-1.4.16'
make: *** [all] 错误 2

解决:yum -y install openssl* openssl-devel

----------------------------------------------------------------------------------
[root@localhost nagios-plugins-1.4.16]# make install
安装完成,在/usr/local/nagios下的libexec目录下,生成很多可执行文件,这些正是nagios所需要的插件。

4、安装Nagios中文化插件

中文插件下载地址: http://sourceforge.net/projects/nagios-cn/files/ 下载对应nagios版本的中文插件,然后开始安装:
[root@localhost ~]#tar xvjf nagios-cn-3.2.0.tar.bz2
[root@localhost nagios-cn-3.2.0]#cd nagios-cn-3.2.0
[root@localhost nagios-cn-3.2.0]#./configure
[root@localhost nagios-cn-3.2.0]#make all
[root@localhost nagios-cn-3.2.0]#make install

5、安装与配置apache和php
apache和php不是安装nagios所必须的,但是nagios提供了web监控界面,通过web监控界面可以清晰的看到被监控主机、资源的运行状态,因此,安装一个web服务是很必要的。
需要注意的是,nagios在nagios3.1.x版本以后,配置web监控界面时需要php的支持。这里我们下载的nagios版本为nagios-3.2.0,因此在编译安装完成apache后,还需要编译php模块,这里选取的php版本为php5.3.2。
(1)安装apache与php
首先安装apache,步骤如下:
[root@nagiosserver ~]# tar zxvf httpd-2.0.63.tar.gz
[root@nagiosserver ~]#cd httpd-2.0.63
[root@nagiosserver ~]#./configure --prefix=/usr/local/apache2
[root@nagiosserver ~]#make
[root@nagiosserver ~]#make install
接着安装php,步骤如下:
[root@nagiosserver ~]# tar zxvf php-5.3.2.tar.gz
[root@nagiosserver ~]#cd php-5.3.2
[root@nagiosserver ~]#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs
---------------------------------------------------------------------------------

安装php时的报错

checking libxml2 install dir... no
checking for xml2-config path...
configure: error: xml2-config not found. Please check your libxml2 installation.

检查是否安装了libxm包

[root@XKWB3403 php-5.3.8]# rpm -qa |grep libxml2
libxml2-2.6.26-2.1.12
libxml2-python-2.6.26-2.1.12

重新安装libxml2和libxml2-devel包

yum install libxml2
yum install libxml2-devel -y

安装完之后查找xml2-config文件是否存在

[root@XKWB3403 php-5.3.8]# find / -name "xml2-config"
/usr/bin/xml2-config

如果存在的话重新安装php
---------------------------------------------------------------------------------
[root@nagiosserver ~]#make
[root@nagiosserver ~]#make install
从安装步骤可知,apache安装路径为/usr/local/apache2,而php安装路径为/usr/local/php。

(2)配置apache

找到apache配置文件/usr/local/apache2/conf/httpd.conf

找到:

User nobody

Group #-1

修改为

User nagios

Group nagios

然后找到

DirectoryIndex index.html index.html.var

修改为

DirectoryIndex index.html index.php

接着增加如下内容:

AddType application/x-httpd-php .php

为了安全其间,一般情况下要让nagios的web监控界面必须经过授权才能访问,这需要增加验证配置,即在httpd.conf文件最后添加如下信息:

#setting for nagios

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>

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>

(3)创建apache目录验证文件

在上面的配置中,指定了目录验证文件htpasswd,下面要创建这个文件:

[root@localhost nagios]#/usr/local/apache2/bin/htpasswd \

>-c /usr/local/nagios/etc/htpasswd ixdba

New password: (输入密码)

Re-type new password: (再输入一次密码)

Adding password for user ixdba

这样就在/usr/local/nagios/etc目录下创建了一个htpasswd验证文件,当通过http://ip/nagios/访问时就需要输入用户名和密码了。

最后,启动服务:

[root@ nagiosserver ~]#/usr/local/apache2/bin/apachectl start

为了开机时自动启动服务,可以做如下操作:
touch /etc/rc.d/init.d/apache

vi /etc/rc.d/init.d/apache
chown -R root /etc/rc.d/init.d/apache
chmod 700 /etc/rc.d/init.d/apache
ln -s /etc/rc.d/init.d/apache /etc/rc.d/rc3.d/S60apache #S 是start的简写、代表启动、K是kill的简写、代表关闭。60数字 代表启动的顺序。
apache的内容:
#!/bin/bash
#Start httpd service
/usr/local/apache/bin/apachectl start
至此 apache服务就可以在运行级别3下 随机自动启动了。(可以结合chkconfig 对启动服务进行相应的调整)

6.验证Nagios配置文件的正确性
nagios在验证配置文件方面做的非常到位,只需通过一个命令即可完成:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios提供的这个验证功能非常有用,在错误信息中通常会打印出错误的配置文件以及文件中的哪一行,这使得nagios的配置变得非常容易,报警信息通常是可以忽略的,因为一般那些只是建议性的。

2、 启动与停止nagios

(1)启动nagios
通过初始化脚本启动nagios
/etc/init.d/nagios start
或者
Service nagios start
手工方式启动nagios
通过nagios命令的“-d”参数来启动nagios守护进程:
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
(2)关闭nagios
通过初始化脚本关闭nagios服务
/etc/init.d/nagios stop
或者
Service nagios stop
通过kill方式关闭nagios
kill <nagios_pid>
(3)重启nagios
通过初始化脚本来重启nagios
/etc/rc.d/init.d/nagios reload
/etc/rc.d/init.d/nagios restart
通过web监控页重启nagios





手工方式平滑重启
kill -HUP <nagios_pid>
####################常见错误###########################

1、监控界面乱码
修改/usr/local/apache2/conf/httpd.conf
最后添加AddDefaultCharset utf-8

2、拓扑图乱码

如果使用中文做为主机名,则在拓扑图显示时须加入中文字体设置。

在cgi.cfg文件最后几行:

ttf_file=/usr/X11R6/lib/X11/fonts/truetype/FZSongTi.ttf

这个是Suse企业版的字体设置,请自行查找系统字体文件所在位置并指向它,如果

你的拓扑图里显示不出字,就是这个设置不对。

编辑/usr/local/nagios/etc/cgi.cfg配置文件,加入
# add fonts setting for topo image

ttf_file=/usr/share/fonts/chinese/TrueType/ukai.ttf
# service httpd restart

# service nagios restart
分别重启httpd和nagios服务,拓扑图中的中文乱码解决

3、重启nagios总有提示

service nagios restart

Running configuration check…done.
Stopping nagios: done.
Starting nagios:This account is currently not available.
done.
这个报错看起来有点碍眼,但实际上nagios是启动正常的。如果要去掉这个信息提示需要把/etc/passwd里的/sbin/nologin修改成/bin/bash

4、无法配置主机组

CGI的认证功能没有开启编辑文件 /usr/local/nagios/etc/cgi.cfg

将 use_authentication 值设成1 (0/1 关闭/开启)
use_authentication=1
并重启 nagios
service nagios restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nagios安装