nagios安裝和配置(1)

Nagios是一款企業級網絡監控系統,它功能之強大,管理之簡單,使得很多大型網絡公司都對它有高度的稱讚,並把它投入到自己的網絡環境,下面是安裝過程,本文是基於turboLinux11環境安裝的,同時分爲監控端和被監控端。

1、安裝前準備

1.1安裝所需環境的軟件

包括Apache 2.x gcc編譯器 gd 庫 和 gd-devel 開發庫,因爲我的系統是完全安裝的,所以就省略了。

yum install http

yum install gcc

yum install gd

yuminstall gd-devel

1.2下載nagios軟件和插件

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz

wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz/download

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz

當然我們也可以登錄nagios官網,下載最新的軟件http://www.nagios.org/download/

 

 2、監控端nagios安裝過程

2.1添加用戶和用戶組

#useradd nagios

#useradd apache (turbolinux 默認有該用戶)

#passwd nagios

 

#groupadd nagcmd   //創建用戶組用於從web接口執行外部命令,並將nagios和Apache用戶添加到這個組裏

#usermod -G nagcmd nagios

#usermod -G nagcmd nagios

 

 2.2編譯和安裝

#tar -zxvf nagios-3.2.1.tar.gz

#cd nagios-3.2.1.tar.gz

 

#./configure --with-command-group=nagcmd

#make all

#make install

#make install-init

#make install-config

#make install-commandmode

#make install-webconf

 

安裝nagios-plugins

#tar -zxvf nagios-plugins-1.4.15.tar.gz

#cd nagios-plugins-1.4.15.tar.gz

#./configure --with-nagios-user=nagios --with-nagios-group=nagcmd --enable-ssl --enable-command-args

 

注意:RedHat可能會出現checking for redhat spopen problem.... 停住

添加 --enable-redhat-pthread-workaround

 

#make all

#make install

ls /usr/local/nagios/libexec
會顯示安裝的插件文件,即所有的插件都安裝在libexec這個目錄下

 

將Nagios加入到服務列表中以使之在系統啓動時自動啓動

#chkconfig --add nagios

#chkconfig nagios on

 

安裝check_nrpe插件

#tar -zxvf nrpe-2.12.tar.gz

#./configure

#make

#make install

 

至此監控服務器上的軟件就安裝完了,我們來看看軟件安裝完後他的結構

# ll /usr/local/nagios/ |awk '{print $8}'

bin              Nagios執行程序所在目錄,nagios文件即爲主程序
etc              Nagios配置文件位置
include       不清楚,哈哈!!!!
libexec        nagios-plugins安裝後放置插件目錄,
sbin            Nagios Cgi文件所在目錄,也就是執行外部命令所需文件所在的目錄
share         Nagios網頁文件所在的目錄
var             Nagios日誌文件,包括歸檔日誌


3、配置WEB接口

方法一:直接在安裝nagios時 make install‐webconf
創建一個nagiosadmin的用戶用於Nagios的WEB接口登錄。記下你所設置的登錄口令,一會兒你會用到它。
htpasswd ‐c /usr/local/nagios/etc/htpasswd.users nagiosadmin
重啓Apache服務以使設置生效。
service httpd restart


方法二:在httpd.conf最後添加如下內容:

 

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
<Directory "/usr/local/nagios/sbin">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd
//用於此目錄訪問身份驗證的文件
Require valid-user
</Directory>
Alias /nagios /usr/local/nagios/share

<Directory "/usr/local/nagios/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd
//用於此目錄訪問身份驗證的文件
Require valid-user
</Directory>

 

添加用戶test

/usr/local/apache2/bin/htpasswd ‐c /usr/local/nagios/etc/htpasswd test
New password: (輸入12345)
Re‐type new password: (再輸入一次密碼)
Adding password for user test
查看認證文件的內容
less /usr/local/nagios/etc/htpasswd
test:OmWGEsBnoGpIc 前半部分是用戶名test,後面是加密後的密碼

 

4、啓動nagios

驗證Nagios的樣例配置文件
/usr/local/nagios/bin/nagios ‐v /usr/local/nagios/etc/nagios.cfg
如果沒有報錯,可以啓動Nagios服務

方法一:因爲前面我們已經將nagios添加到系統服務器裏,所以可以直接啓動

#service nagios start

方法二:手動輸入命令啓動

#/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

 

5、更改SELinux設置

SELinux(安全增強型Linux)同步發行與安裝後將默認使用強制模式。這會在你嘗試聯入Nagios的CGI時導致一個"內部服務錯誤"消息。
如果是SELinux處於強制安全模式時需要做
getenforce
令SELinux處於容許模式
setenforce 0
如果要永久性更變它,需要更改/etc/selinux/config裏的設置並重啓系統。
不關閉SELinux或是永久性變更它的方法是讓CGI模塊在SELinux下指定強制目標模式:
chcon ‐R ‐t httpd_sys_content_t /usr/local/nagios/sbin/
chcon ‐R ‐t httpd_sys_content_t /usr/local/nagios/share/

 

6、測試

登錄 http://localhost/nagios/ 輸入用戶名和密碼就可以正常登錄了

 

7、被監控機器上安裝軟件

在被監控主機上
增加用戶
useradd nagios
設置密碼
passwd nagios
2安裝nagios插件
tar ‐zxvf nagios‐plugins‐***.tar.gz
cd nagios‐plugins‐***
./configure
make
make install
chown nagios.nagios /usr/local/nagios
chown ‐R nagios.nagios /usr/local/nagios/libexec
安裝nrpe (監控機也安裝)
tar ‐zxvf nrpe‐***.tar.gz
cd nrpe‐2.1.2
./configure --enable-ssl  --enable-command-args
make all
make install‐plugin
make install‐daemon
make install‐daemon‐config
/usr/local/nagios/libexec/check_nrpe ‐H localhost
會返回當前NRPE的版本
# /usr/local/nagios/libexec/check_nrpe ‐H localhost
NRPE v2.1.2
也就是在本地用check_nrpe連接nrpe daemon是正常的
注:爲了後面工作的順利進行,注意本地防火牆要打開5666能讓外部的監控機訪問

同時修改nrpe配置文件,添加監控端ip,允許監控端訪問

allowed_hosts=127.0.0.1,192.168.99.2


/usr/local/nagios/libexec/check_nrpe –h查看這個命令的用法
可以看到用法是check_nrpe –H 被監控的主機 ‐c要執行的監控命令
注意:‐c後面接的監控命令必須是nrpe.cfg文件中定義的.也就是NRPE daemon只運行nrpe.cfg中所定義的命令
在監控與被監控機上啓動NRPE:

方法一:手動輸入命令啓動
/usr/local/nagios/bin/nrpe ‐c /usr/local/nagios/etc/nrpe.cfg ‐d

方法二:將服務添加到xinetd (前提是服務器安裝了xinetd服務)

在安裝nrpe的時候最後將啓動添加到xinetd

#make install-xinetd

vi /etc/xinetd.d/nrpe

# default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe
{
        flags           = REUSE
        socket_type     = stream
        port            = 5666
        wait            = no
        user            = nagios
        group           = nagios
        server          = /usr/local/nagios/bin/nrpe
        server_args     = -c /usr/local/nagios/etc/nrpe.cfg --inetd
        log_on_failure  += USERID
        disable         = no
        only_from       = 127.0.0.1 192.168.99.2(添加監控端ip,允許監控端訪問)
}

 

vi /etc/service

添加如下:

nrpe            5666/tcp                        #nrpe Daemon

啓動:

#service xinetd restart

查看nrpe是否啓動監聽端口

#netstat -an|grep 5666

tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN

在監控服務器上查看被監控機器是否訪問nrpe

# /usr/local/nagios/libexec/check_nrpe ‐H 192.168.99.3
NRPE v2.1.2

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章