溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CentOS安裝配置nagios(2)

發(fā)布時間:2020-07-28 13:50:10 來源:網(wǎng)絡(luò) 閱讀:584 作者:hujunshao 欄目:移動開發(fā)

  在上一篇中,我們成功安裝了nagios監(jiān)控端,使其能夠正常運(yùn)作,但是還沒有配置,因此還發(fā)揮不出任何作用。

這篇我們就開始配置nagios了,讓它發(fā)揮真正的效用


nagios配置文件在 ~/etc目錄下,主要是以下幾種。


文件名類型備注
nagios.cfg主配置文件需要修改
cgi.cfg腳本控制文件可添加用戶
commands.cfg命令定義文件命令配置文件,基本不需要改
contacts.cfg用戶和用戶組定義文件
配置用戶和組,需要改
timeperiods.cfg時間定義文件定義時間,不需要修改
templates.cfg主機(jī)定義模板文件定義監(jiān)控主機(jī)的類型的模板文件,基本不需改

1.修改主配置文件

  主要修改如下幾項(xiàng)

check_external_commands=1  #允許web界面修改重啟nagios服務(wù)

command_check_interval=10s #命令檢查時間間隔

cfg_file=/usr/local/nagios/etc/objects/101.cfg  #添加要監(jiān)控主機(jī)的配置文件,一個主機(jī)對應(yīng)一個文件。

cfg_file=/usr/local/nagios/etc/objects/235.cfg        # 我習(xí)慣是已最后一個IP為名字命名

。。。。。。。。。

2.檢查腳本控制文件cgi.cfg

use_authentication=1  #啟用用戶驗(yàn)證

authorized_for_system_information=nagiosadmin,test
authorized_for_configuration_information=nagiosadmin,test
authorized_for_system_commands=nagiosadmin,test
authorized_for_all_services=nagiosadmin,test
authorized_for_all_hosts=nagiosadmin,test
authorized_for_all_service_commands=nagiosadmin,test
authorized_for_all_host_commands=nagiosadmin,test

如果要添加更多用戶需要在上面的選項(xiàng)都添加,且用戶都是由 /usr/local/apache/bin/htpasswd c /usr/local/nagios/etc/htpasswd XXX  生成的(XXX為用戶名)。


3.命令配置文件commands.cfg

定義命令的配置文件,如果沒有需要自定義一個特殊的檢查的話,可以跳過不修改。


4.contacts.cfg timeperiods.cfg templates.cfg 為三個模板文件,分別是時間,主機(jī),和用戶的模板。

網(wǎng)上很多大神都自己全部重寫的配置模板,這些全部棄之不用。其實(shí)如果沒有什么特殊需要的話,模板里面的情況足夠應(yīng)對大部分需求。在創(chuàng)建具體監(jiān)控目標(biāo)時,直接引用模板就可以了,省時省力。

三個模板的內(nèi)容大致如下

contacts.cfg

define contact{

       contact_name                    nagiosadmin            ; 聯(lián)系人名稱

       use                             generic-contact        ; 所利用的模板                   alias                           Nagios Admin           ; 別名                           email                          test@tssss.com           ; 郵箱地址

}


define contactgroup{

        contactgroup_name       admins                       ; 組名

        alias                   Nagios Administrators         ; 組的別名

        members                 nagiosadmin                    ; 組的成員

  }



timeperiods.cfg中

define timeperiod{

       timeperiod_name 24x7

       alias           24 Hours A Day, 7 Days A Week

       sunday          00:00-24:00

       monday          00:00-24:00

       tuesday         00:00-24:00

       wednesday       00:00-24:00                   ;定義好的24*7直接引用就能用

       thursday        00:00-24:00

       friday          00:00-24:00

       saturday        00:00-24:00

       }


templates.cfg中模板較多,這里就舉幾個常用的,其它的大多數(shù)選項(xiàng)的大同小異。

define contact{

       name                            generic-contact         ; 模板-聯(lián)系人

service_notification_period     24x7                   ; 服務(wù)出狀況的通知時間段

host_notification_period        24x7                   ; 主機(jī)出狀況通知時間段

service_notification_options    w,u,c,r             ;

host_notification_options       d,u,r              ; 服務(wù)和主機(jī)在那些情況下會有所動作(w-警告,u-未知,c-危險,r-恢復(fù),d-當(dāng)機(jī))

service_notification_commands   notify-service-by-email ;

       host_notification_commands      notify-host-by-email    ; 服務(wù)和主機(jī)采取的動作為發(fā)送郵件(具體定義在commands中)

register                        0      因?yàn)檫@個為模板,所以為0              



define host{

name                            generic-host   ; 模板-全局主機(jī)

notifications_enabled           1              ;

event_handler_enabled           1               ;

flap_detection_enabled          1              ;基本就是開啟各項(xiàng)功能

failure_prediction_enabled      1               ;

       process_perf_data               1               ;

       retain_status_information       1               ;

       retain_nonstatus_information    1               ;  

       notification_period             24x7            ;

       register                        0               ;

       }




define host{

       name                            linux-server    ; 模板-LINUX服務(wù)器

use                             generic-host    ; 借用全局模板

check_period                    24x7            ; 檢查的時間段

check_interval                  5               ; 檢查時間間隔 (分鐘)

retry_interval                  1               ; 重試的檢查間隔(分鐘)

 max_check_attempts              10              ; 最大檢查次數(shù)

check_command                   check-host-alive ; 指定檢查命令

notification_period             24x7           ; 故障時發(fā)送的時間范圍

                                                       ;

notification_interval           120            ; 故障沒解決再次發(fā)出通知的間隔時間

notification_options            d,u,r          ; 指定狀態(tài)下才發(fā)送

contact_groups                  admins         ; 發(fā)送的組

register                        0              ;

還有個windows-server和generic-service等,與上面linux-server大同小異,就不列了。




上面這些模板在引用是可以省很大力氣的,基本可以應(yīng)對大部分情況。



準(zhǔn)備工作做了那么多,現(xiàn)在終于突入最后一個階段。建立對應(yīng)的服務(wù)器監(jiān)視配置文件

例如現(xiàn)在有一臺IP為192.168.1.121的linux服務(wù)器

在~/etc/object/目錄下創(chuàng)建一個文件121.cfg

然后在其中填入如下內(nèi)容



define host{

       host_name                       121_agent_master   /主機(jī)名,起個認(rèn)得的就行

       use                             linux-server      /引用的模板為linux-server

       address                         192.168.1.121    /主機(jī)的地址

}


define service{

       host_name                       121_agent_master    /引用上面的資料

       name                            121-service        / 服務(wù)名,用來引用  

       use                             generic-service     / 引用服務(wù)模板


}


define service{

       use                             121-service          /  引用上面的配置

       service_description             ping       /顯示在nagios上的服務(wù)名,最好通俗易懂

       check_command                   check_ping!20000.0,80%!30000.0,100%!10!30

}    / 第3排就是具體的命令了 ,具體寫法可以參照commands.cfg中的說明,這條命令是測試ping的。


define service{

       use                             121-service

       service_description             http 80

       check_command                   check_tcp!80!3!8!20

}               這組是測試80端口的存活



5.部署nrpe

在被監(jiān)控機(jī)上要安裝配置nrpe才能和監(jiān)控端形成互動,這樣監(jiān)控才能真正的形成。


首先在監(jiān)控機(jī)上。。安裝NRPE組件

tar xzf nrpe-2.8.1.tar.gz
cd nrpe-2.8.1
./configure --prefix=/usr/local/nagios
make all
make install-plugin


然后在配置文件command.cfg中添加如下字段

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


這樣在添加監(jiān)控時,就可以使用nrpe這個項(xiàng)目了



然后在被監(jiān)控端上


1)添加用戶

useradd nagios

2)安裝nagios-plugins

tar zxvf  nagios-plugins-1.4.15.tar.gz

cd nagios-plugins-1.4.15

./configure –prefix=/usr/local/nagios

    make &  make install

chown nagios.nagios /usr/local/nagios/
chown -R nagios.nagios /usr/local/nagios/libexec/



3) 安裝nrpe

 tar zxvf nrpe-2.8.1.tar.gz

  cd nrpe-2.8.1

 ./configure –prefix=/usr/local/nagios

make all
make install-plugin
make install-daemon
make install-daemon-config



4)修改配置文件/usr/local/nagios/etc/nrpe.cfg

主要修改以下兩項(xiàng)

server_address=192.168.1.121

allowed_hosts=127.0.0.1,192.168.1.100  (后面為監(jiān)控端的IP)


6.啟動nrpe服務(wù)并檢驗(yàn)其配置

1)以獨(dú)立守護(hù)進(jìn)程啟動nrpe服務(wù)

/usr/local/nagios/bin/nrpe –c /usr/local/nagios/etc/nrpe.cfg –d

2)成功的話可以看到5666端口的監(jiān)聽

netstat -an |grep "5666"



7.啟動nagios來監(jiān)控這臺主機(jī)

1)首先檢查配置是否有錯誤,基本上錯誤都能找的很準(zhǔn)確


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


直到看到以下內(nèi)容就沒問題了

Total Warnings: 0
Total Errors:   0
Things look okay - No serious problems were detected during the pre-flight check


2) 后臺啟動nagios


/usr/local/nagios/bin/nagios   /usr/local/nagios/etc/nagios.cfg  &


3) 打開瀏覽器 輸入 http:192.168.1.100/nagios 就能訪問了  用戶名是nagiosadmin(具體是在上一篇設(shè)置過的)。進(jìn)入后點(diǎn)擊host 即可看到監(jiān)控的主機(jī)  應(yīng)該有2臺 一臺為121 一臺為localhost


這樣簡單的nagios監(jiān)控就完成了。當(dāng)然nagios的能力不止這些,依靠插件能夠監(jiān)控更多的東西。

當(dāng)然 ,是我有空下期再寫了。





向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI