Nagios服务器端安装部署详解(1)

来源:互联网 发布:kof98um出招优化 编辑:程序博客网 时间:2024/06/08 04:54

下载地址如下: http://sourceforge.net/projects/nagios/files/

具体详细下载地址:http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.6.tar.gz

1 开始下载:
 wget http://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.0.6/nagios-4.0.6.tar.gz/download?use_mirror=jaist
如下图所示,下载free版本的。

安装前准备工作,安装一些lib包

[root@cache-2 root]# yum -y install httpd gcc glibc glibc-common

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


2 进行selinux设置,或者关闭selinux

 查看SELinux状态:

 (1)/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态

         SELinux status:                 enabled

 (2)getenforce                 ##也可以用这个命令检查

 关闭SELinux:

 (3)临时关闭(不用重启机器):

         setenforce 0                  ##设置SELinux 成为permissive模式

                              ##setenforce 1 设置SELinux 成为enforcing模式

 (4)修改配置文件需要重启机器:

         修改/etc/selinux/config 文件

         将SELINUX=enforcing改为SELINUX=disabled

         重启机器即可


3 开始准备nagios安装环境

  (1) 添加nagios运行所需要的用户和组:

  groupadd nagcmd

         useradd -m nagios

         usermod -a -G nagcmd nagios

        

把apache加入到nagcmd组,以便于在通过web Interface操作nagios时能够具有足够的权限:

# usermod -a -G nagcmd apache


4 编译安装准备

./configure --with-command-group=nagios --prefix=/opt/app/nagios --enable-embedded-perl --with-httpd-conf=/usr/local/apache2/conf

[root@cache-2 nagios-4.0.6]# ./configure --with-command-group=nagios  --prefix=/opt/app/nagios --enable-embedded-perl  --with-httpd-conf=/usr/local/apache2/confchecking for a BSD-compatible install... /usr/bin/install -cchecking build system type... x86_64-unknown-linux-gnuchecking host system type... x86_64-unknown-linux-gnuchecking for gcc... gccchecking for C compiler default output file name... a.outchecking whether the C compiler works... yeschecking whether we are cross compiling... no............................. HTML URL:  http://localhost/nagios/                  CGI URL:  http://localhost/nagios/cgi-bin/ Traceroute (used by WAP):  /bin/tracerouteReview the options above for accuracy.  If they look okay,type 'make all' to compile the main program and CGIs.


5 开始make安装
5.1 make all

[root@cache-2 nagios-4.0.6]#  make all

cd ./base && makemake[1]: Entering directory `/root/nagios-4.0.6/base'gcc -Wall -I.. -g -O2 -DHAVE_CONFIG_H -DNSCORE -c -o nagios.o nagios.cgcc -Wall -I.. -g -O2 -DHAVE_CONFIG_H -DNSCORE   -c -o broker.o broker.cgcc -Wall -I.. -g -O2 -DHAVE_CONFIG_H -DNSCORE   -c -o nebmods.o nebmods.........................For more information on obtaining support for Nagios, visit:       http://support.nagios.com*************************************************************Enjoy.


5.2 make install
[root@cache-2 nagios-4.0.6]# make install
cd ./base && make installmake[1]: Entering directory `/root/nagios-4.0.6/base'make install-basicmake[2]: Entering directory `/root/nagios-4.0.6/base'.....................................................make[2]: Entering directory `/root/nagios-4.0.6/cgi'for file in *.cgi; do \/usr/bin/strip /usr/local/nagios/sbin/$file; \done



5.3 make install-config
[root@cache-2 nagios-4.0.6]# make install-config/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc/objects/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/nagios.cfg /usr/local/nagios/etc/nagios.cfg..................................................../usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/printer.cfg /usr/local/nagios/etc/objects/printer.cfg/usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/switch.cfg /usr/local/nagios/etc/objects/switch.cfg*** Config files installed ***


5.4 make install-commandmode

[root@cache-2 nagios-4.0.6]# make install-commandmode/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/var/rwchmod g+s /usr/local/nagios/var/rw*** External command directory configured ***Remember, these are *SAMPLE* config files.  You'll need to readthe documentation for more information on how to actually defineservices, hosts, etc. to fit your particular needs.


5.5 make install-init

[root@cache-2 nagios-4.0.6]# make install-init/usr/bin/install -c -m 755 -d -o root -g root /etc/rc.d/init.d/usr/bin/install -c -m 755 -o root -g root daemon-init /etc/rc.d/init.d/nagios*** Init script installed ***


[root@cache-2 nagios-4.0.6]#

加到启动项里面去:

# chkconfig --add nagios

# chkconfig --level 35 nagios on

# chkconfig --list nagios


检查主机配置文件是否正确:

/var/www/nagios/bin/nagios -v /var/www/nagios/etc/nagios.cfg


5.6 Check安装是否正确:

5.6.1说明:

切换目录到安装路径(这里是/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.6.2 check
 cd /usr/local/nagios
ll

[root@cache-2 nagios-4.0.6]# cd /usr/local/nagios[root@cache-2 nagios]# ll总用量 24drwxrwxr-x.  2 nagios nagios 4096 5月   5 15:31 bindrwxrwxr-x.  3 nagios nagios 4096 5月   5 15:32 etcdrwxrwxr-x.  2 nagios nagios 4096 5月   5 15:31 libexecdrwxrwxr-x.  2 nagios nagios 4096 5月   5 15:31 sbindrwxrwxr-x. 10 nagios nagios 4096 5月   5 15:31 sharedrwxrwxr-x.  5 nagios nagios 4096 5月   5 15:32 var


5.7 安装nagios插件
wget http://nagios-plugins.org/download/nagios-plugins-2.0.tar.gz

[root@cache-2 ~]# wget http://nagios-plugins.org/download/nagios-plugins-2.0.tar.gz--2014-05-05 15:52:52--  http://nagios-plugins.org/download/nagios-plugins-2.0.tar.gz正在解析主机 nagios-plugins.org... 72.14.186.43正在连接 nagios-plugins.org|72.14.186.43|:80... 已连接。已发出 HTTP 请求,正在等待回应... 200 OK............................................2014-05-05 15:53:00 (373 KB/s) - 已保存 “nagios-plugins-2.0.tar.gz” [2501847/2501847])[root@cache-2 ~]# tar -xvf nagios-plugins-2.0.tar.gz[root@cache-2 ~]# cd nagios-plugins-2.0[root@cache-2 ~]#./configure --with-nagios-user=nagios --with-nagios-group=nagios  --prefix=/usr/local/nagios --with-mysql[root@cache-2 ~]# make && make install



5.8 安装配置apache和php
(1)安装apache
下载 wget http://archive.apache.org/dist/httpd/httpd-2.4.7.tar.gz
[root@cache-2 ~]# wget http://archive.apache.org/dist/httpd/httpd-2.4.7.tar.gz--2014-05-05 16:15:48--  http://archive.apache.org/dist/httpd/httpd-2.4.7.tar.gz正在解析主机 archive.apache.org... 192.87.106.229, 140.211.11.131, 2001:610:1:80bc:192:87:106:229正在连接 archive.apache.org|192.87.106.229|:80... 已连接。已发出 HTTP 请求,正在等待回应... 200 OK长度:6747087 (6.4M) [application/x-gzip]正在保存至: “httpd-2.4.7.tar.gz” 1% [=>                                                ..............................................................2014-05-05 16:16:01 (574 KB/s) - 已保存 “httpd-2.4.7.tar.gz” [6747087/6747087])


开始安装:
 tar -xvf httpd-2.4.7.tar.gz
 cd httpd-2.4.7
 ./configure --prefix=/usr/local/apache2
make && make install

[root@cache-2 ~]# tar -xvf httpd-2.4.7.tar.gz[root@cache-2 ~]# cd httpd-2.4.7[root@cache-2 httpd-2.4.7]# ./configure --prefix=/usr/local/apache2checking for chosen layout... Apachechecking for working mkdir -p... yeschecking for grep that handles long lines and -e... /bin/grepchecking for egrep... /bin/grep -Echecking build system type... x86_64-unknown-linux-gnuchecking host system type... x86_64-unknown-linux-gnuchecking target system type... x86_64-unknown-linux-gnuconfigure: configure: Configuring Apache Portable Runtime library...configure: checking for APR... noconfigure: error: APR not found.  Please read the documentation.Google之后,发现可能是gcc版本太低了,可能是apache版本太高,换低点的2.2.23版本吧。wget http://archive.apache.org/dist/httpd/httpd-2.2.23.tar.gztar -xvf  httpd-2.2.23.tar.gzcd httpd-2.2.23./configure --prefix=/usr/local/apache2make && make install

(2) 安装php版本

wget http://cn2.php.net/distributions/php-5.4.26.tar.gz

tar -xvf php-5.4.26.tar.gz

cd php-5.4.26

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

有报错信息:

Configuring extensions

checking size of long... (cached) 8

checking size of int... (cached) 4

checking for int32_t... yes

checking for uint32_t... yes

checking for sys/types.h... (cached) yes

checking for inttypes.h... (cached) yes

checking for stdint.h... (cached) yes

checking for string.h... (cached) yes

checking for stdlib.h... (cached) yes

checking for strtoll... yes

checking for atoll... yes

checking for strftime... (cached) yes

checking which regex library to use... php

checking whether to enable LIBXML support... yes

checking libxml2 install dir... no

checking for xml2-config path...

configure: error: xml2-config not found. Please check your libxml2 installation.

 

需要重新安装lib包

yum install libxml2 –y

yum install libxml2-devel –y

 

之后继续make,成功了:

Make && make install

[activating module `php5' in /usr/local/apache2/conf/httpd.conf]

Installing PHP CLI binary:        /usr/local/php/bin/

Installing PHP CLI man page:      /usr/local/php/php/man/man1/

Installing PHP CGI binary:        /usr/local/php/bin/

Installing PHP CGI man page:      /usr/local/php/php/man/man1/

Installing build environment:     /usr/local/php/lib/php/build/

Installing header files:          /usr/local/php/include/php/

Installing helper programs:       /usr/local/php/bin/

  program: phpize

  program: php-config

Installing man pages:             /usr/local/php/php/man/man1/

  page: phpize.1

  page: php-config.1

Installing PEAR environment:      /usr/local/php/lib/php/

[PEAR] Archive_Tar    - installed: 1.3.11

[PEAR] Console_Getopt - installed: 1.3.1

warning: pear/PEAR requires package "pear/Structures_Graph" (recommended version 1.0.4)

warning: pear/PEAR requires package "pear/XML_Util" (recommended version 1.2.1)

[PEAR] PEAR           - installed: 1.9.4

Wrote PEAR system config file at: /usr/local/php/etc/pear.conf

You may want to add: /usr/local/php/lib/php to your php.ini include_path

[PEAR] Structures_Graph- installed: 1.0.4

[PEAR] XML_Util       - installed: 1.2.1

/root/php/php-5.4.26/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin

ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar

Installing PDO headers:          /usr/local/php/include/php/ext/pdo/


(3) 配置apache

Apache的配置文件在 /usr/local/apache2/conf/httpd.conf ,vim打开

User daemon

Group daemon

修改成:

User nagios

Group nagios


<IfModule dir_module>

  DirectoryIndex index.html

</IfModule>

修改成:

<IfModule dir_module>

  DirectoryIndex index.html index.php

    AddType application/x-httpd-php .php

</IfModule>

 

为了安全起见: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>


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

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

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

[root@cache-2 php-5.4.26]#  /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd david

New password:

Re-type new password:

Adding password for user david

查看认证文件的内容:

[root@cache-2 php-5.4.26]#  cat /usr/local/nagios/etc/htpasswd

david:$apr1$Pf9XIJjd$m5hR2vw70MlqwrChgN7zc/

[root@cache-2 php-5.4.26]#

 

启动apache服务:

/usr/local/apache2/bin/apachectl start


[root@cache-2 php-5.4.26]# /usr/local/apache2/bin/apachectl start

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

(98)Address already in use: make_sock: could not bind to address [::]:80

(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80

no listening sockets available, shutting down

Unable to open logs

修改ServerName以及Port

vi /usr/local/apache2/conf/httpd.conf

ServerName 改成 10.xx.3.x1

Listen 80 改成 Listen 81

http://10.xx.3.x1:81/nagios/,可以打开了,如下所示:




14 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 婴儿便便之后肛门就红怎么办 50天的宝宝三天不拉大便怎么办 两个月宝宝不拉屎只放屁怎么办 两个月大宝宝两天没拉屎怎么办 两个月宝宝三天没拉大便怎么办 5个月宝宝3天没拉大便怎么办 4个月宝宝3天没拉大便怎么办 20个月的宝宝大便干燥怎么办 20个月宝宝大便间隔三天怎么办 两个多月的宝宝四天没大便怎么办 两个多月的宝宝几天没大便怎么办 2个月3天没大便怎么办 两个月大的宝宝发烧40度怎么办 两个月大的宝宝感冒了怎么办 四个月宝宝拉水样大便要怎么办 六个月的宝宝咳嗽有痰怎么办 未满月的宝宝大便脓状怎么办 五个月的宝宝总是吃手怎么办 小孩子学数字怎么也学不会怎么办 小孩学数字老是学不会该怎么办 只买了大人票忘买儿童的了怎么办 铝合金滑动门没轨道安纱门怎么办 移门衣柜门与柜体有冶缝隙怎么办 推拉门关门时撞门框声音大怎么办 两岁宝宝夏天不盖被子怎么办 家里有好多会爬的小黑虫怎么办 刚贴的壁纸怎么发霉了怎么办 晚上睡觉一熄灯有许多小虫子怎么办 一岁宝宝夏天爱哭不爱吃饭怎么办 合肥房子卖了户口没地方迁怎么办 忌作灶的日子新房装橱柜了怎么办 刮水泥浆的墙面刮不住腻子怎么办 小学二年级孩子偷钱 老师怎么办 发现自己读初中的儿子偷钱怎么办? 做错事了得不到亲人的原谅怎么办? 窗口 窗套与墙缝隙大怎么办 中班小孩还不会认1到10怎么办 母猫奶头被小猫咬伤了怎么办 口红不小心弄到衣服上怎么办 脖子后背疼的睡不着觉应该怎么办 君子兰用高锰酸钾泡浓度高了怎么办