Nagios之安裝篇

系統環境說明:
    基於Centos 5.8_x86_64最小化安裝
    Nagios版本爲當前最新:3.4.1
    Nagios-plugins版本爲當前最新:1.4.16
    pnp4nagios版本爲當前最新:0.6.19
    無特別說明依賴軟件包均爲yum安裝,由於整個文檔的都是在安裝過程中作爲筆記完成的,更傾向於用來在部署時複製粘貼完成繁瑣的操作,所以沒有附圖片說明也沒有詳細的具體操作步驟說明,但是都是通過本人的多次安裝測試整理出來的,有問題歡迎一起討論。


一、編譯安裝nagios

1、解決依賴關係
httpd
php
gcc
gd
gd-devel
glibc
glibc-common

2、創建nagios運行需要的組和用戶
groupadd nagcmd
useradd -G nagcmd nagios

把apache用戶加入nagcmd組,以便於通過web訪問時有足夠權限
usermod -a -G nagcmd apache

3、編譯安裝nagios
tar zxf nagios-3.4.1.tar.gz
cd nagios
./configure --prefix=/usr/local/nagios --with-command-group=nagcmd --with-nagios-user=nagios --with-nagios-group=nagios
make all
make install
make install-init
make install-commandmode
make install-config
make install-webconf

4、創建用於控制訪問nagios的用戶
htpasswd -c /usr/loca/nagios/etc/htpasswd.users nagiosadmin

5、重啓apache服務
service httpd restart

二、編譯安裝nagios-plugins

1、依賴關係,新版本的nagios-plugins-1.4.16必須指定--with-openssl
openssl-devel

2、編譯安裝
tar zxf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl=/usr/bin/openssl
make
make install

三、配置並啓動nagios

1、把nagios加入服務管理,並設置開機自啓動
chkconfig --add nagios
chkconfig nagios on

2、配置selinux,如果啓用的話默認會拒絕nagios的cgi等運行
setenforce 0
也可通過修改/etc/sysconfig/selinux,使永久生效

3、檢查主配置文件語法
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

4、啓動nagios
service nagios start

四、配置nrpe


tar xf nrpe-2.13.tar.gz
cd nrpe-2.13
./configure  
make all
make install-plugin

五、被監控端配置:


1、安裝前的工作
建立nagios用戶
useradd nagios

解決依賴關係
yum install openssl-devel

2、編譯安裝nagios-plugins
tar zxf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl=/usr/bin/openssl
make
make install

3、編譯安裝nrpe

tar xf nrpe-2.13.tar.gz
cd nrpe-2.13
./configure  
make all
make install-plugin
make install-daemon
make install-daemon-config

4、配置nrpe
vim /usr/local/nagios/etc/nrpe.cfg  ==>  修改如下行爲監控端IP地址

allowed_hosts=192.168.56.201

啓動nrpe服務
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
 
netstat -tnlp   ==>  看到監聽5666端口

添加nrpe到服務管理列表並設置開機啓動
vim /etc/init.d/nrpe    ==>  添加如下內容

#!/bin/bash
# chkconfig: 2345 88 12
# description: NRPE DAEMON
NRPE=/usr/local/nagios/bin/nrpe
NRPECONF=/usr/local/nagios/etc/nrpe.cfg
case "$1" in
        start)
                echo -n "Starting NRPE daemon..."
                $NRPE -c $NRPECONF -d
                echo " done."
                ;;
        stop)
                echo -n "Stopping NRPE daemon..."
                pkill -u nagios nrpe
                echo " done."
        ;;
        restart)
                $0 stop
                sleep 2
                $0 start
                ;;
        *)
                echo "Usage: $0 start|stop|restart"
                ;;
        esac
exit 0

chmod +x /etc/init.d/nrpe
chkconfig --add nrpe
chkconfig nrpe on

六、配置pnp4nagios支持圖表顯示

1、解決依賴關係
rrdtool
php-gd

2、編譯安裝pnp4nagios
tar zxvf pnp4nagios-0.6.19.tar.gz
cd pnp4nagios-0.6.19
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make all
make install
make install-webconf
make install-config
make install-init

3、配置pnp4nagios
cd /usr/local/pnp4nagios/etc/
mv misccommands.cfg-sample misccommands.cfg
mv rra.cfg-sample rra.cfg
mv nagios.cfg-sample nagios.cfg
cd pages/
mv web_traffic.cfg-sample web_traffic.cfg
cd ../check_commands/
mv check_all_local_disks.cfg-sample check_all_local_disks.cfg
mv check_nrpe.cfg-sample check_nrpe.cfg
mv check_nwstat.cfg-sample check_nwstat.cfg
service npcd start
chkconfig npcd on

4、配置nagios數據輸出
vim /usr/local/nagios/etc/nagios.cfg    ==>

process_performance_data=1     #默認爲0,修改爲1
host_perfdata_command=process-host-perfdata     #註釋開頭#號
service_perfdata_command=process-service-perfdata     #註釋開頭#號
 
5、修改commands.cfg
vim /usr/local/nagios/etc/objects/commands.cfg    ==>   修改原有的命令定義,爲如下

# 'process-host-perfdata' command definition
define command{
        command_name    process-host-perfdata
        command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
        }
# 'process-service-perfdata' command definition
define command{
        command_name    process-service-perfdata
        command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl
        }

6、在模版中添加pnp圖表
vim /usr/local/nagios/etc/objects/templates.cfg    ==>   添加如下內容

define host {
name          host-pnp
action_url    /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
register   0
}
define service {
name         service-pnp
action_url   /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
register   0
}

7、在對應的host定義和service定義中使用剛剛定義的兩個模版,並重啓nagios和httpd。

注意:在通過web訪問時點擊圖表會提示讓刪除/usr/local/pnp4nagios/share/install.php文件,手動刪除即可。

七、對象相關概念解釋(部分摘自nagios官網)

關於對象的解釋
1、主機:主機是監控邏輯中的核心對象之一,其重要屬性有:
    ==>主機通常是網絡中的物理設備(如服務器、路由器、交換機、打印機等)
    ==>主機有某種形式的地址(如IP或MAC)
    ==>主機有一個或多個綁定的服務
    ==>主機與其他的主機可以有父/子節點的關係
2、主機組:主機組可以是一臺或者多臺主機的組合,利用主機組可以把處於不同區域主機分成不同的組以便於查看,也可用利用它來定義運行這相同服務的多臺主機
3、服務:服務也是監控邏輯中的核心對象之一,其可以定義的屬性有:
    ==>主機的屬性(如CPU負載、磁盤利用率、啓動時間、內存使用等)
    ==>主機提供的服務(如HTTP、MYSQL、SSH等)
    ==>其他與主機相關的信息(如DNS記錄等)
4、服務組:與主機組類似,可以是一個或者多個服務的組合。
5、聯繫人:聯繫人是當監控的某個主機或服務發生故障是發送通知的對象,其可以定義的屬性有:
    ==>接收通知的時間段(如7x24、工作日等)
    ==>在何中情況下接收通知(如主機狀態爲down、服務狀態爲warnning等)
    ==>接收通知的方式(如發送email、發送飛信等)
6、聯繫人組:一個或多個聯繫人的集合
7、時間週期:定義主機或服務的被監控的時間段、聯繫人可接收通知的時間
8、命令:命令定義了Nagios用哪個程序、腳本等,它在執行後必須可完成:
    ==>主機或服務的檢測
    ==>對聯繫人的通知
    ==>事件處理
    ==>其他...
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章