歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux配置 >> Nagios的安裝配置與應用之一Nagios的安裝

Nagios的安裝配置與應用之一Nagios的安裝

日期:2017/2/27 14:58:13   编辑:Linux配置
Nagios 是一款用於系統和網絡監控的應用程序。它可以在你設定的條件下對主機和服務進行監
控,並根據管理員所設置的報警閥值和報警方式在監控對象報警時和恢復時通知管理員。

下面介紹Nagios的安裝。
在安裝Nagios之前首先要建個LAMP環境,當然你可以不裝MySQL。
LAMP的安裝可以參考之前的博客,也可以按下面步驟進行安裝。
首先下載下面這些軟件:
libmcrypt-2.5.8.tar.gz
apr-1.4.6.tar.gz
libpng-1.5.10.tar.gz
apr-util-1.4.1.tar.gz
libxml2-2.7.2.tar.gz
curl-7.28.0.tar.gz
libxslt-1.1.0.tar.g
freetype-2.4.9.tar.gz
nagios-3.4.3.tar.gz
gd-2.0.35.tar.gz
nagios-plugins-1.4.16.tar.gz
httpd-2.4.2.tar.gz
pcre-8.30.zip
php-5.4.3.tar.gz
zlib-1.2.5.tar.gz
jpegsrc.v8b.tar.gz

安裝GD庫(讓PHP支持GIF,PNG,JPEG)
a.安裝 jpeg8 建立目錄:
# mkdir -p /usr/local/jpeg8
# mkdir -p /usr/local/jpeg8/bin
# mkdir -p /usr/local/jpeg8/lib
# mkdir -p /usr/local/jpeg8/include
# mkdir -p /usr/local/jpeg8/man
# mkdir -p /usr/local/jpeg8/man1
# mkdir -p /usr/local/jpeg8/man/man1
# cd /usr/local/src
# tar -zvxf jpegsrc.v8b.tar.gz
# cd jpeg8
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
# make
# make install

b.libpng包(支持PNG)
# cd /usr/local/src
# tar -zvxf libpng-1.5.10.tar.gz
# cd libpng-1.5.10
# ./configure --prefix=/usr/local/libpng
# make
#make install

c.安裝 freetype
# cd /usr/local/src
# tar -zvxf freetype-2.4.9.tar.gz
# cd freetype-2.4.9
# mkdir -p /usr/local/freetype
# ./configure --prefix=/usr/local/freetype
# make
# make install

d.安裝zlib
# cd /usr/local/src
# tar -zxvf zlib-1.2.3.tar.gz
# cd zlib.1.2.3
# mkdir /usr/local/zlib
# ./configure --prefix=/usr/local/zlib
# make
# make install

e.安裝GD庫
# cd /usr/local/src
# tar -zvxf gd-2.0.35.tar.gz
# mkdir -p /usr/local/gd2
# cd gd/gd-2.0.35.tar.gz
# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg8 --with-zlib-dir=/usr/local/zlib --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype
# make
# make install

e.安裝Curl庫
# cd /usr/local/src
# tar -zxvf curl-7.28.0.tar.gz
# mkdir -p /usr/local/curl
# cd curl-7.28.0
# ./configure --prefix=/usr/local/curl
# make
# make install

安裝php5,php5必須有libxml2支持!
f. 安裝libxml2
# cd /usr/local/src
# tar -zvxf libxml2-2.7.2.tar.gz
# cd libxml2-2.7.2
# mkdir -p /usr/local/libxml2
# ./configure --prefix=/usr/local/libxml2
# make
# make install

g.安裝 libxslt (可選安裝)
# cd /usr/local/src
# tar -zvxf libxslt-1.1.0.tar.g
# mkdir -p /usr/local/libxslt
# cd libxslt-1.1.0
# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
# make
# make install

h.安裝apr
#cd /usr/local/src
#tar -zxvf apr-1.4.6.tar.gz
#cd apr-1.4.6
#./configure --prefix=/usr/local/apr-httpd
#make && make install

i.安裝apr-util
#cd /usr/local/src
#tar zxvf apr-util-1.4.1.tar.gz
#cd apr-util-1.4.1
#./configure --prefix=/usr/local/apr-util-httpd \
>--with-apr=/usr/local/apr-httpd
#make
#make install
安裝apache2
#cd /usr/local/src
#tar -zxvf httpd-2.4.2.tar.gz
#cd httpd-2.4.2
編譯過程如下圖示:



#make
#make install
啟動Apache服務器,並查端口是否開啟,啟動Apache服務器的命令行如下:
#/usr/local/apache2/bin/apachectl start
查看端口命令行如下:
#netstat -tnl|grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LIST
測試安裝結果,打開浏覽器,在地址欄中輸入URL為:http://your IP
如果浏覽器中出現It works!則表明Apache服務器可以使用。
每種服務器軟件都有必要制成開機時自動啟動,Apache服務器開機自動啟動,只要在“/etc/rc.d/rc.local”文件,加上Apache服務器的啟動命令即可。可以直接打開“/etc/rc.d/rc.local”文件,在最後一行寫入Apache啟動命令,也可以用echo命令追加進去,如下命令行示:
#echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local
啟動apache過程中,如果出現如下圖所示的錯誤:


修改/usr/local/apache2/conf/httpd.conf

找到#ServerName www.example.com:80在其下面添加一條
ServerName yourIP:80即可!

安裝PHP
# cd /usr/local/src
# tar -zvxf php-5.4.3.tar.gz
# mkdir -p /usr/local/php
# cd php-5.4.3
#./configure --prefix=/usr/local/php \
>--with-config-file-path=/usr/local/php \
>--with-apxs2=/usr/local/apache2/bin/apxs \
>--with-gd=/usr/local/gd2 \
>--with-jpeg-dir=/usr/local/jpeg8 \
>--with-zlib-dir=/usr/local/zlib \
>--with-png-dir=/usr/local/libpng \
>-with-freetype-dir=/usr/local/freetype -\
>--with-curl=/usr/local/curl \
>--with-xsl=/usr/local/libxslt \
>--enable-trace-vars \
>--enable-mbstring=all \
>--enable-soap
#make
#make install
安裝完成後,需要建立PHP配置文件。在使用configure命令安裝配置時使用“--with-config-file-path=/usr/local/php/etc/”選項,指定了配置文件的位置。將源碼包下面的php.ini-development 文件復制到/usr/local/php/etc/中,並改名為php.ini即可。如下示:
#cp php.ini-development /usr/local/php/php.ini
安裝PHP的過程中可能會出現如下錯誤
make: *** [ext/gd/gd.lo] error

解決方法:
vi <gd_dir>/include/gd_io.h

gdIOCtx結構中增加void *data;

格式如下

typedef struct gdIOCtx

{

int (*getC) (struct gdIOCtx *);

int (*getBuf) (struct gdIOCtx *, void *, int);

void (*putC) (struct gdIOCtx *, int);

int (*putBuf) (struct gdIOCtx *, const void *, int);

/* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */

int (*seek) (struct gdIOCtx *, const int);

long (*tell) (struct gdIOCtx *);

我的GD安裝在/usr/local/gd2目錄下,所以是#vi /usr/local/gd2/include/gd_io.h
然後重新編譯安裝即可。
整合Apache與PHP,上面編譯之前,我們使用configure命令安裝配置時,使用--with-apxs2=/usr/local/apache2/bin/apxs選項以使Apache 2將PHP作為功能模塊使用。但我們還要修改Apahce配置文件,添加PHP的支持,告訴Apache將哪些後綴作為PHP解析。例如,讓Apache把.php或.phtml後綴名解析為PHP.使用vi打開Apache的配置文件/etc/httpd/httpd.conf,找到AddType application/x-gzip .gz .tgz指令選項,並在其下方添加一條指令AddType application/x-httpd-php .php .phtml。也可以將任何後綴的文件解析為PHP,只要在添加的語句中加入並用空格分開,這裡以多添加一個.phtml來示例,如下示:
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .phtml
修改完成後必須重啟Apache服務器,才能重新加載配置文件使修改生效。
修改完成後必須重啟Apache服務器,才能重新加載配置文件使修改生效。
#/usr/local/apache2/bin/apachectl stop
#/usr/local/apache242/bin/apachectl start

安裝Nagios
#創建帳號
[root@Nagios src]# useradd nagios
[root@Nagios src]# passwd nagios
#創建一個用戶組名為 nagcmd 用於從 Web 接口執行外部命令。
[root@Nagios src]# groupadd nagcmd
#添加 nagios 和 apache 用戶到該組
[root@Nagios src]# usermod -a -G nagcmd nagios
[root@Nagios src]# usermod -a -G nagcmd daemon
#daemon為運行apache的帳戶
[root@Nagios src]# tar zxvf nagios-3.4.3.tar.gz
[root@Nagios src]# cd nagios-3.4.3
[root@Nagios nagios-3.4.3]# ./configure --with-command-group=nagcmd \
>--with-nagios-user=nagios \
>--with-nagios-group=nagios \
>–with-gd-lib=/usr/local/gd2/lib/ \
>–with-gd-inc=/usr/local/gd2/include/
[root@Nagios nagios-3.4.3]# make all
# 使用make install來安裝主程序,CGI和HTML文件
[root@Nagios nagios-3.4.3]# make install
# 使用make install-init在/etc/rc.d/init.d安裝啟動腳本
[root@Nagios nagios-3.4.3]# make install-init
# 使用make install-commandmode來配置目錄權限
[root@Nagios nagios-3.4.3]# make install-commandmode
# 使用make install-cofig來安裝示例配置文件,安裝的路徑是/usr/local/nagios/etc.
[root@Nagios nagios-3.4.3]# make install-config
#生成 apache 配置文件
[root@Nagios nagios-3.2.3]# make install-webconf
這一步其實就是將Nagios源碼包中sample-config/目錄下httpd.conf中的內容,追加到/usr/local/apache2/conf/httpd.conf中,用上面的方法有時候追加不進去,建議用下面手動的方法
[root@Nagios nagios]# cat sample-config/httpd.conf >> /usr/local/apache2/conf/httpd.conf

#為 apache 創建一個登陸用戶,注意用戶名是 nagiosadmin,該用戶名是在 cgi.cfg 設置的默認用
戶名,關於 CGI 權限的設置。
注意:第一次添加用戶用-c 選項,以後再添加千萬別在用這個選項了,會覆蓋以前的所有用戶。
[root@Nagios nagios-3.4.3]# Linux/1727.html' target='_blank'>htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

添加開機自動啟動
為了讓 Nagios 和 Apache 可以開機自動啟動,我們把 Nagios 和 Apache 添加到啟動管理程序中。
[root@Nagios ~]# chkconfig --add nagios
[root@Nagios ~]# chkconfig --level 35 nagios on

安裝 Nagios插件nagios-plugins
在啟動 Nagios 之前,我們還需要安裝的是 Nagios 的 Plugins,這個包裡面包含了很多 Nagios
用來執行檢測的命令和腳本,是 Nagios 必須的軟件包。
[root@Nagios ~]# cd /usr/local/src
[root@Nagios src]# tar zxvf nagios-plugins-1.4.16.tar.gz
[root@Nagios src]# cd nagios-plugins-1.4.16
[root@Nagios nagios-plugins-1.4.16]# ./configure --prefix=/usr/local/nagios
--with-nagios-user=nagios --with-nagios-group=nagios
[root@Nagios nagios-plugins-1.4.16]# make && make install

啟動Nagios
如果在安裝過程中,沒有出現錯誤,我們就可以正常啟動 Nagios 和 Apache 了,如果出現了錯
誤,請根據錯誤提示,檢測安裝,一般錯誤時由於依賴的庫文件沒有安裝。
[root@Nagios ~]# /etc/init.d/nagios start
Starting nagios: done.
接著可以使用 http://Nagios 服務器 IP/nagios/
並輸入你設置的賬號 nagiosadmin 和密碼登陸 Nagios,Nagios 會默認添加本機的監控.如下圖所示:


在登陸的過程中,可能會報You don’t have permission to access /nagios/ on this server的錯誤,谷歌和百度了一下,結果好多說是PHP未裝,yum -install php 即可解決問題,其實真正的解決方法如下所示:

首先當然是到/usr/local/nagios/var下查看nagios.log了,內容裡面應該有錯誤的日志會顯示php頁面無法被apache解析

解決方法:
在apache的配置文件httpd.conf修改

<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
修改成 <IfModule dir_module> DirectoryIndex index.php index.html
</IfModule>即可。
有的PHP版本裡可能還需加入
LoadModule php5_module modules/libphp5.so AddType application/x-httpd-php .php .phtml AddType applicatoin/x-httpd-php-source .phps 最後兩行,我們前面已經加過,第一行php5.4的版本不需要加。 至此,Nagios的安裝工作就完成了!

Copyright © Linux教程網 All Rights Reserved