溫馨提示×

溫馨提示×

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

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

圖文實例講解nagios介紹和安裝

發(fā)布時間:2020-06-23 15:40:09 來源:網(wǎng)絡(luò) 閱讀:766 作者:lizheng103 欄目:移動開發(fā)

步驟:1.nagios的介紹

         2.安裝服務(wù)端

          3.安裝客戶端

          4.服務(wù)端添加監(jiān)控的主機(jī)

          5.郵箱預(yù)警


 nagios的介紹


Nagios是一款開源的免費(fèi)網(wǎng)絡(luò)監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機(jī)狀態(tài),交換機(jī)路由器等網(wǎng)絡(luò)設(shè)置,打印機(jī)等。在系統(tǒng)或服務(wù)狀態(tài)異常時發(fā)出郵件或短信報警第一時間通知網(wǎng)站運(yùn)維人員,在狀態(tài)恢復(fù)后發(fā)出正常的郵件或短信通知。


Nagios 可以監(jiān)控的功能有: 1、監(jiān)控網(wǎng)絡(luò)服務(wù)(SMTP、POP3、HTTP、NNTP、PING等); 2、監(jiān)控主機(jī)資源(處理器負(fù)荷、磁盤利用率等);


3、簡單地插件設(shè)計使得用戶可以方便地擴(kuò)展自己服務(wù)的檢測方法;

4、并行服務(wù)檢查機(jī)制;

5、具備定義網(wǎng)絡(luò)分層結(jié)構(gòu)的能力,用"parent"主機(jī)定義來表達(dá)網(wǎng)絡(luò)主機(jī)間的關(guān)系,這種關(guān)系可被用來發(fā)現(xiàn)和明晰主機(jī)宕機(jī)或不可達(dá)狀態(tài);

6、當(dāng)服務(wù)或主機(jī)問題產(chǎn)生與解決時將告警發(fā)送給聯(lián)系人(通過EMail、短信、用戶定義方式);

7、具備定義事件句柄功能,它可以在主機(jī)或服務(wù)的事件發(fā)生時獲取更多問題定位;

8、自動的日志回滾;

9、可以支持并實現(xiàn)對主機(jī)的冗余監(jiān)控;

10、可選的WEB界面用于查看當(dāng)前的網(wǎng)絡(luò)狀態(tài)、通知和故障歷史、日志文件等;


nagios:監(jiān)控服務(wù),只告訴你有哪些服務(wù)不正常




服務(wù)端操作(192.168.0.25)





1.Centos6默認(rèn)的yum源里沒有nagios相關(guān)的rpm包,但是我們可以安裝一個epel的擴(kuò)展源: 


安裝epel源

wget  www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_32.noarch.rpm 


rpm -ivh epel-release-6-8_32.noarch.rpm


圖文實例講解nagios介紹和安裝


yum install -y httpd nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe


圖文實例講解nagios介紹和安裝

2.設(shè)置登錄nagios后臺的用戶和密碼:


htpasswd -c /etc/nagios/passwd nagiosadmin

password:123456

圖文實例講解nagios介紹和安裝

3.查看配置文件

vim /etc/nagios/nagios.cfg


nagios -v /etc/nagios/nagios.cfg 檢測配置文件


Total Warnings: 0

Total Errors:   0

圖文實例講解nagios介紹和安裝


4.啟動服務(wù):service httpd start; service nagios start

圖文實例講解nagios介紹和安裝


5.谷歌瀏覽器訪問: http://192.168.0.25/nagios


圖文實例講解nagios介紹和安裝


services 介紹



圖文實例講解nagios介紹和安裝



 客戶端的操作(192.168.0.5)





1.安裝epel源

wget  www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_32.noarch.rpm 


rpm -ivh epel-release-6-8_32.noarch.rpm


圖文實例講解nagios介紹和安裝


yum install -y httpd nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe


圖文實例講解nagios介紹和安裝

2.修改配置文件


vim /etc/nagios/nrpe.cfg 


找到“allowed_hosts=127.0.0.1” 改為 “allowed_hosts=127.0.0.1,192.168.0.25 后面的ip為服務(wù)端ip;


圖文實例講解nagios介紹和安裝


找到” dont_blame_nrpe=0” 改為  “dont_blame_nrpe=1”


圖文實例講解nagios介紹和安裝


啟動客戶端 /etc/init.d/nrpe start






服務(wù)端操作監(jiān)控中心(192.168.0.25)添加被監(jiān)控主機(jī)(192.168.0.5)





1.新建監(jiān)控的參數(shù)


cd /etc/nagios/conf.d/


vim 192.168.0.5.cfg  (被監(jiān)控的主機(jī))

 

添加內(nèi)容


define host{

        use                     linux-server            ; Name of host template to use

                                                        ; This host definition will inherit all variables that are defined

                                                        ; in (or inherited by) the linux-server host template definition.

        host_name               192.168.0.5

        alias                   0.5

        address                 192.168.0.5

        }


define service{

        use                     generic-service

        host_name               192.168.0.5

        service_description     check_ping

        check_command           check_ping!100.0,20%!200.0,50%

        max_check_attempts 5

        normal_check_interval 1

}


define service{

        use                     generic-service

        host_name               192.168.0.5

        service_description     check_ssh

        check_command           check_ssh

        max_check_attempts      5

        normal_check_interval 1

}


define service{

        use                     generic-service

        host_name               192.168.0.5

        service_description     check_http

        check_command           check_http

        max_check_attempts      5

        normal_check_interval 1

}


圖文實例講解nagios介紹和安裝



 配置文件的簡單說明

我們定義的配置文件中一共監(jiān)控了三個service:ssh, ping, http 這三個項目是使用本地的nagios工具去連接遠(yuǎn)程機(jī)器,也就是說即使客戶端沒有安裝nagios-plugins以及nrpe也是可以監(jiān)控到的。其他的一些service諸如負(fù)載、磁盤使用等是需要服務(wù)端通過nrpe去連接到遠(yuǎn)程主機(jī)獲得信息,所以需要遠(yuǎn)程主機(jī)安裝nrpe服務(wù)以及相應(yīng)的執(zhí)行腳本(nagios-plugins)
max_check_attempts 5  #當(dāng)nagios檢測到問題時,一共嘗試檢測5次都有問題才會告警,如果該數(shù)值為1,那么檢測到問題立即告警
normal_check_interval 1#重新檢測的時間間隔,單位是分鐘,默認(rèn)是3分鐘

notification_interval           60 #在服務(wù)出現(xiàn)異常后,故障一直沒有解決,nagios再次對使用者發(fā)出通知的時間。單位是分鐘。如果你認(rèn)為,所有的事件只需要一次通知就夠了,可以把這里的選項設(shè)為0。


2.檢測是否有錯


nagios -v /etc/nagios/nagios.cfg


圖文實例講解nagios介紹和安裝


3.重啟服務(wù)


service nagios restart


打開瀏覽器查看nagios的Hosts 和services


圖文實例講解nagios介紹和安裝

圖文實例講解nagios介紹和安裝


nagios 中check_http 拒絕連接 錯誤解決辦法 


圖文實例講解nagios介紹和安裝


客戶端啟動服務(wù)即可


/etc/init.d/nginx start




添加服務(wù)




服務(wù)端操作


1.修改配置文件


vim /etc/nagios/objects/commands.cfg


增加:define command{
        command_name    check_nrpe
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

        }


如何查看check_load文件


客戶端打開配置文件  vi /etc/nagios/nrpe.cfg


圖文實例講解nagios介紹和安裝


沒有hda1 把/dev/hda1修改為/dev/sda1


圖文實例講解nagios介紹和安裝


在添加一行 


圖文實例講解nagios介紹和安裝




2.服務(wù)端繼續(xù)編輯


vim /etc/nagios/conf.d/192.168.0.5.cfg 


增加如下內(nèi)容:


define service{

        use     generic-service

        host_name       192.168.0.5

        service_description     check_load

        check_command           check_nrpe!check_load

        max_check_attempts 5

        normal_check_interval 1

}



define service{

        use     generic-service

        host_name       192.168.0.5

        service_description     check_disk_sda1


圖文實例講解nagios介紹和安裝


3.服務(wù)端重新啟動服務(wù)


service nagios restart





客戶端編輯


check_nrpe!check_load :這里的check_nrpe就是在commands.cfg剛剛定義的,check_load是遠(yuǎn)程主機(jī)上的一個檢測腳本
在遠(yuǎn)程主機(jī)上vim /etc/nagios/nrpe.cfg 搜索check_load,這行就是在服務(wù)端上要執(zhí)行的腳本了,我們可以手動執(zhí)行這個腳本
把check_hda1更改一下:/dev/hda1 改為 /dev/sda1

再加一行command[check_hda2]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda2

#主服務(wù)器上的 service_description     check_disk_hda2            

#改為  service_description     check_disk_sda2


客戶端上重啟一下nrpe服務(wù): service nrpe restart

服務(wù)端也重啟一下nagios服務(wù): service nagios restart

  

服務(wù)端查看日志

tail /var/log/nagios/nagios.log





配置圖形顯示 pnp4nagios


(1)安裝
yum install pnp4nagios rrdtool 

(2)配置主配置文件

vim /etc/nagios/nagios.cfg  //修改如下配置


process_performance_data=1    

host_perfdata_command=process-host-perfdata

service_perfdata_command=process-service-perfdata 

enable_environment_macros=1     


(3)修改commands.cfg


vim /etc/nagios/objects/commands.cfg 

//注釋掉原有對process-host-perfdata和process-service-perfdata,重新定義



define command {  

       command_name    process-service-perfdata  

       command_line    /usr/bin/perl /usr/libexec/pnp4nagios/process_perfdata.pl  

}  


define command {  

       command_name    process-host-perfdata  

       command_line    /usr/bin/perl /usr/libexec/pnp4nagios/process_perfdata.pl -d HOSTPERFDATA  

}



  (4)修改配置文件templates.cfg


vim /etc/nagios/objects/templates.cfg


define host {  
        name       hosts-pnp  
        register   0  
        action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_  
        process_perf_data               1  
}  
define service {  
        name       srv-pnp  
        register   0  
        action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ 
        process_perf_data               1  

}  



(5)修改host和service配置


vim /etc/nagios/conf.d/192.168.0.25.cfg 



把 “define host{
        use                     linux-server” 
改為:
define host{
        use                     linux-server,hosts-pnp

修改對應(yīng)的service,比如

define service{
        use     generic-service
        host_name       192.168.0.25
        service_description     check_disk_hda1
        check_command           check_nrpe!check_hda1
        max_check_attempts 5
        normal_check_interval 1
}
改為:
define service{
        use     generic-service,srv-pnp
        host_name       192.168.0.25
        service_description     check_disk_sda1
        check_command           check_nrpe!check_hda1
        max_check_attempts 5
        normal_check_interval 1
}


define service{
        use     generic-service
        host_name       192.168.0.19
        service_description     check_disk_sda2
        check_command           check_nrpe!check_hda1
        max_check_attempts 5
        normal_check_interval 1
}
改為:
define service{
        use     generic-service,srv-pnp
        host_name       192.168.0.19
        service_description     check_disk_sda2
        check_command           check_nrpe!check_hda1
        max_check_attempts 5
        normal_check_interval 1

}


(6) 重啟和啟動各個服務(wù):
service nagios restart
service httpd restart

service npcd start



(7) 訪問測試
兩種訪問方法:
ip/nagios/

ip/pnp4nagios/




配置郵件告警



1.修改參數(shù)


vim /etc/nagios/objects/contacts.cfg 


先定義組和用戶


添加一些內(nèi)容



define contactgroup{

        contactgroup_name       admins

        alias                   Nagios Administrators

        members                 nagiosadmin

        }

#group的作用是用來區(qū)分不同的用戶


define contact{

        contact_name               123

        use                             generic-contact

        alias                          lz

        email              lizheng103@163.com

        }


define contact{

        contact_name               456

        use                             generic-contact

        alias                            aaa

        email              lizheng520mj@163.com

        }


define contactgroup{           #定義的組名,里面包含的用戶

        contactgroup_name           common

        alias                                  common

        members                          123,456

        }

想要哪個服務(wù)報警,就需要添加一行代碼

 打開

vim /etc/nagios/conf.d/192.168.0.19.cfg


如果需要給load做警告, 需要告警的服務(wù)里面加上contactgroup

define service{

        use     generic-service

        host_name       192.168.0.19

        service_description     check_load

        check_command           check_nrpe!check_load

        max_check_attempts 5

        normal_check_interval 1

        contact_groups        common   #需要添加的代碼

        notification_period  24*7

        notification_options c,r

}

10.  幾個重要參數(shù)說明
notifications_enabled : 是否開啟提醒功能。1為開啟,0為禁用。一般,這個選項會在主配置文件(nagios.cfg)中定義,效果相同。
notification_interval: 之前剛介紹過,表示重復(fù)發(fā)送提醒信息的最短間隔時間。默認(rèn)間隔時間是60分鐘。如果這個值設(shè)置為0,將不會發(fā)送重復(fù)提醒。
notification_period: 發(fā)送提醒的時間段。非常重要的主機(jī)(服務(wù))我定義為24×7,一般的主機(jī)(服務(wù))就定義為上班時間。如果不在定義的時間段內(nèi),無論什么問題發(fā)生,都不會發(fā)送提醒。

notification_options: 這個參數(shù)定義了發(fā)送提醒包括的情況:d = 狀態(tài)為DOWN, u = 狀態(tài)為UNREACHABLE , r = 狀態(tài)恢復(fù)為OK ,  f = flapping。,n=不發(fā)送提醒。












向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)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI