一、名詞定義與必要packages:

      (1) Server為Monitoring Host
           - $ yum install -y httpd php gcc glibc glibc-common \
                gd gd-devel openssl openssl-devel

           - nagios-3.4.1.tar.gz (Nagios Core)
           - nagios-plugins-1.4.15.tar.gz (Nagios plugins)
           - nrpe-2.13.tar.gz (NRPE)

      (2) Client為Remote Host
           - $ yum install -y httpd php gcc glibc glibc-common \
                gd gd-devel openssl openssl-devel xinetd

           - nagios-plugins-1.4.15.tar.gz (Nagios plugins)
           - nrpe-2.13.tar.gz (NRPE)

 

 

二、重要設定、目錄結構與注意事項:

(1) Server目錄結構與設定:

- 安裝完nagios後,目錄會落在 /usr/local/nagios

- nagios自己的偵測工具目錄落在 /usr/local/nagios/libexec
  如:/usr/local/nagios/libexec/check_disk -w 20% -c 10% /
       (觀看自己Root space下的空間,若剩餘20%空間就發"WARNING"
        若剩餘10%空間就發"CRITICAL") 

- 要監控哪些機器的設定檔皆位在 /usr/local/nagios/etc/objects
   (localhost.cfg 裡有範例檔,可以參考它來設定)

- 定義nagios自己設定檔要使用的commands,
  請在此檔案修改:/usr/local/nagios/etc/objects/commands.cfg

(2) Client目錄結構與設定:

- 安裝完nagios-plugins後,目錄也是落在 /usr/local/nagios

- nagios自己的偵測工具目錄也是落在 /usr/local/nagios/libexec

- Client端主要的NRPE設定檔位於:/usr/local/nagios/etc/nrpe.cfg
   如:command[check_root_space]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
   (定義Client端的NRPE本機端的指令,用在cfg檔裡"check_command"。
    此例子指令名稱為"check_root_space",
    指令功用為"/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /")

 

 

三、cfg檔設定實例

用途與說明:我們要使用Server去撈出Client的Root space(/),那就要藉由Server端的Nagios去跟Client端的NRPE要Client資訊(Root space)。

step 1. (Server)

$ vim /usr/local/nagios/etc/nagios.cfg

--------------------------------加入-----------------------------------
cfg_file=/usr/local/nagios/etc/objects/samplehost.cfg
------------------------------------------------------------------------
此samplehost.cfg的設定我們會在step 4說明

※若要指定目錄,可以使用cfg_dir


step 2. (Client)

$ vim /usr/local/nagios/etc/nrpe.cfg

--------------------------------加入-----------------------------------
command[check_root_space]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
------------------------------------------------------------------------
此"check_root_space"指令定義,我們會在step 4的"check command"使用

 

step 3. (Server)

$ vim /usr/local/nagios/etc/objects/commands.cfg

--------------------------------加入-----------------------------------
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

------------------------------------------------------------------------
此"check_nrpe"指令定義,我們會在step 4的"check command"使用

 

step 4. (Server)

$ vim /usr/local/nagios/etc/objects/samplehost.cfg

--------------------------------加入-----------------------------------
define hostgroup {
hostgroup_name myGroup1
alias Linux Servers
members sampleHost
}
 
define host {
use linux-server
host_name sampleHost
alias sampleHost
address 192.168.1.2
hostgroups MyGroup1
}

define service {
use generic-service
host_name sampleHost
service_description Root Partition
check_command check_nrpe!check_root_space
}
------------------------------------------------------------------------

 

 

四、除錯

可以使用以下指令來確認我們的設定檔(cfg)有沒有寫錯:

$ /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

 

若沒有問題,我們再重新啟動nagios

$ service nagios restart

 

 

參考資料來源:http://library.nagios.com/library/products/nagioscore/manuals/

dreamtails 發表在 痞客邦 PIXNET 留言(0) 人氣()