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

nagios安装学习一

2015-11-24 00:57 567 查看
1、基础支持套件:

rpm -qa gcc glibc glibc-common gd gd-devel xinetd openssl-devel

[root@node1 ~]# rpm -qa gcc glibc glibc-common gd gd-devel xinetd openssl-devel

glibc-common-2.12-1.132.el6.x86_64

glibc-2.12-1.132.el6.x86_64

yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel

2 创建nagios用户和用户组

useradd -s /sbin/nologin nagios

mkdir /usr/local/nagios

chown -R nagios.nagios /usr/local/nagios

查看nagios 目录的权限

[root@node1 ~]# ll -d /usr/local/nagios/

drwxr-xr-x 2 nagios nagios 4096 Nov 23 06:34 /usr/local/nagios/

3 编译安装Nagios

wget http://sourceforge.net/projects/nagios-cn/files/sourcecode/zh_CN%203.2.3/nagios-cn-3.2.3.tar.bz2/download
tar zxvf nagios-3.4.3.tar.gz

cd nagios

./configure --prefix=/usr/local/nagios

make all

make install

make install-init

make install-commandmode

make install-config

chkconfig --add nagios

chkconfig --level 35 nagios on

chkconfig --list nagios

4 验证程序是否被正确安装

切换目录到安装路径(这里是/usr/local/nagios),看是否存在etc、bin、sbin、share、var 这五个目录,如果存在则可以表明程序被正确的安装到系统了。Nagios 各个目录用途说明如下:

bin Nagios 可执行程序所在目录

etc Nagios 配置文件所在目录

sbin Nagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录

share Nagios网页文件所在的目录

libexec Nagios 外部插件所在目录

var Nagios 日志文件、lock 等文件所在的目录

var/archives Nagios 日志自动归档目录

var/rw 用来存放外部命令文件的目录

5 安装Nagios 插件

wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
tar zxvf nagios-plugins-1.4.16.tar.gz

cd nagios-plugins-1.4.16

./configure --prefix=/usr/local/nagios

make && make install

6 安装与配置Apache和Php

Apache 和Php 不是安装nagios 所必须的,但是nagios提供了web监控界面,通过web监控界面可以清晰的看到被监控主机、资源的运行状态,因此,安装一个web服务是很必要的。

需要注意的是,nagios在nagios3.1.x版本以后,配置web监控界面时需要php的支持。这里我们下载的nagios版本为nagios-3.4.3,因此在编译安装完成apache后,还需要编译php模块,这里选取的php版本为php5.4.10。

a. 安装Apache

rchive.apache.org/dist/httpd/httpd-2.2.23.tar.gz

tar zxvf httpd-2.2.23.tar.gz

cd httpd-2.2.23

./configure --prefix=/usr/local/apache2 --with-included-apr

make && make install

若出现错误:

则在编译时入加 --with-included-apr 即可解决。

b. 安装Php

wget http://museum.php.net/php5/php-5.4.10.tar.gz
tar zxvf php-5.4.10.tar.gz

cd php-5.4.10

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs

遇到这个报错configure: error: xml2-config not found. Please check your libxml2 installatio

需要yum install libxml2*

make && make install

c. 配置apache

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

找到:

User daemon

Group daemon

修改为

User nagios

Group nagios

然后找到

<IfModule dir_module>

  DirectoryIndex index.html

</IfModule>

修改为

<IfModule dir_module>

  DirectoryIndex index.html index.php

</IfModule>

接着增加如下内容:

AddType application/x-httpd-php.php

AddType application/x-httpd-php-source.phps

为了安全起见,一般情况下要让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>

d. 创建apache目录验证文件

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

/usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd wolf

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

e. 查看认证文件的内容

# cat /usr/local/nagios/etc/htpasswd

f. 启动apache 服务

# /usr/local/apache2/bin/apachectl start

报错1:

AddType requires at least two arguments, a mime type followed by one or more file extensions

安装完apache服务器后,启动不了

打开http.conf 进行检查发现了这么一行:

在网上一查说应该在AddType application/x-httpd-php .php加一个空格,果然凑效

到这里nagios 的安装也就基本完成了,你可以通过web来访问了

报错2:

httpd: apr_sockaddr_info_get() failed for shiwei

httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

原因:这个问题应该是没有在 /etc/httpd/conf/httpd.conf 中设定 ServerName。所以apache会用主机上的名称来取代,首先会去找 /etc/hosts 中有没有主机的定义。

解决办法:

(1)可以设定httpd.conf文件中的 ServerName,如下:ServerName localhost:80

(2)在 /etc/hosts 中填入自己的主机名称 bogon,如下:127.0.0.1 shiwei (用户名称)

下面就可以通过http://192.168.0.203/nagios访问
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: