nagios監控linux主機及服務信息

                         Nagios監控linux等多方應用
1、Nagios簡介
一、Nagios是一款遵循GPLv2的開源網絡監控軟件,可用來監控指定的多種系統的主機、服務,並可在它們的工做狀態發生變化時通知管理員。它的特性包括:
1)監控網絡服務(HTTP、POP三、SMTP、PING、MySQL等)
2)監控主機資源(磁盤空間利用率、內存利用率、CPU負載等)
3)簡潔的插件設計接口,使得用戶能夠輕鬆開發所需的檢測腳本
4)並行服務模式
5)輕鬆描述網絡結構,而且可以區辨「宕機」和「主機不可達」
6)經過郵件或用戶自定義的方式將主機或服務的工做狀態變化狀況通知給管理員
7)自動日誌滾動
8)支持以冗餘方式進行主機監控
9)能夠經過web方式直觀的查看當前網絡狀態、通知和問題歷史、日誌文件等等,此組件爲可選
二、Nagios 工做原理
Nagios一般由一個主程序(Nagios)、一個插件程序(Nagios-plugins)和四個可選的ADDON(NRPE、NSCA、NSClient++和NDOUtils)組成。Nagios的監控工做都是經過插件實現的,所以,Nagios和Nagios-plugins是服務器端工做所必須的組件。而四個ADDON中,NRPE用來在監控的遠程Linux/Unix主機上執行腳本插件以實現對這些主機資源的監控;NSCA用來讓被監控的遠程Linux/Unix主機主動將監控信息發送給Nagios服務器(這在冗餘監控模式中特別要用到);NSClient++是用來監控Windows主機時安裝在Windows主機上的組件;而NDOUtils則用來將Nagios的配置信息和各event產生的數據存入數據庫,以實現這些數據的快速檢索和處理。
三、監控的基本流程:
    當Nagios須要監控某個遠程工做站linux主機的服務或者資源狀況時:
    1).nagios運行check_nrpe插件,咱們要在nagios配置文件中告訴它要檢查什麼.
    2).check_nrpe插件會經過SSL鏈接到遠程的NRPE daemon.
    3).NRPE daemon會運行相應的nagios插件來執行檢查本地資源或服務.
    4).NRPE daemon將檢查的結果返回給check_nrpe插件,插件將其遞交給nagios作處理.
 注意:NRPE daemon須要nagios插件安裝在遠程被監控linux主機上,不然,daemon不能作任何的監控.別外由於它們間的通訊是加密的SSL,因此在編譯安裝時都要加上選項, ./configure --enable-ssl --with-ssl-lib=/lib/,不然也會出錯.
最後讓nagios整合到cacti上,是處理後的信息圖形化顯示
----------------------------------------------------------------------------------------------------------
實驗環境配置
   一、 環境搭建
   Server: nagios  nagios-plugins  nrpe
   工做站:nagios-plugins  nrpe
檢查一下包的安裝狀況
# rpm -q httpd gcc glibc glibc-common gd gd-devel
#yum -y httpd gcc glibc glibc-common gd gd-devel
-----------------------------------------------------
在server 端配置
 一、安裝nagios
 #tar zxvf  tar zxvf nagios-3.2.1.tar.gz
 #cd  nagios-3.2.1
#./configure --prefix=/usr/local/nagios --with-command-group=nagcmd --with-gd-lib=/usr/lib --with-gd-inc=/usr/include
#make all
#make install
#make install-init
#make install-config
#make install-commandmode
#make install-webconf  //能夠自動安裝在httpd.conf中的配置,生成nagios.conf;
二、安裝nagios-plugins
#tar zxvf  nagios-plugins-1.4.15.tar.gz
#cd nagios-plugins-1.4.15
#./configure --with-nagios-user=nagios --with-nagios-group=nagios
 #make
 #make install
 
三、安裝nrpe
#tar zxvf nagios-nrpe_2.8.1.orig.tar.gz
#cd nrpe-2.8.1
#./configure  --enable-ssl  --with-ssl-lib=/lib/
#rpm -qa | grep ssl           保證:可以抓到 前兩個
openssl-0.9.8e-12.el5
openssl-devel-0.9.8e-12.el5
openssl-perl-0.9.8e-12.el5
#make all
#make install-plugin
四、vim 編輯commands.cfg文件定義nrpe對的使用
#vim /usr/local/nagios/etc/objects/commands.cfg
//添加以下幾行使支持check_nrep
#check_nrep
define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }
五、配置監控對象(工做站及其服務等)
#vim /usr/local/nagios/etc/nagios.cfg
//在losthost.cfg下添加
cfg_file=/usr/local/nagios/etc/objects/linux.cfg
六、新建linux.cfg設置要監控的內容
#vim /usr/local/nagios/etc/object/linux.cfg
define host{
           use             linux-server
          host_name        mylinux         //須要修改工做站的主機名
          alias           mylinux
          address        192.168.0.44      //工做站主機IP
               }
define service{
        use                      generic-service
        host_name                 mylinux
        service_description       check-swap         //對下面操做的描述
        check_command        check_nrpe!check_swap   //執行檢測交換分區命令,監控swap
               }
define service{
        use                      generic-service
        host_name                 mylinux
        service_description      check-load
       check_command         check_nrpe!check_load    //監控負載
               }
define service{
        use                      generic-service
        host_name                 mylinux
       service_description       check-disk
       check_command        check_nrpe!check_had1    //監控硬盤
              }
define service{
        use                     generic-service
        host_name                mylinux
       service_description     check-users
       check_command       check_nrpe!check_users          //監控用戶(使用)狀況
               }
define service{
        use                    generic-service
        host_name          mylinux
        service_description  otal_procs
        check_command     check_nrpe!check_total_procs        //監控進程
                }
//對以上的linux.cfg文件編輯若是有錯,將會致使nagios沒法啓動;
//修改工做站主機的主機名爲mylinux,保證可以#ping mylinux 通訊正常,能夠選擇
#echo "192.168.0.44   mylinux "  >>  /etc/hosts 
#echo"192.168.0.15   nagios "    >>  /etc/hosts
//在服務器端
#echo"192.168.0.15    nagios " >>   /etc/hosts
#echo "192.168.0.44   mylinux "  >>  /etc/hosts 
七、準備啓動nagios服務
 #setenforce 0  保證selinux處於關閉狀態
 #service iptables stop  或者開放80,5666端口(http/nrep)
 #chkconfig --add nagios    //添加nagios服務到系統服務隊列  
 #chkconfig nagios on       //開機自動啓動服務
 #/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
//檢查nagios的配置文件的正確性
//若是上面有錯誤,請檢查系統服務時間是否同步,新建的linux.cfg是否有語法錯誤!
//在commands.cfg是否添加對nrep使用等
//保證上述命令爭取執行
// 參考:

//Total Warnings: 0
//Total Errors:   0
#service nagios start
三、配置工做站上的nagios-plugin/nrpe等
一、安裝nagios-plugin
#useradd nagios
#passwd nagios
#tar -zxvf nagios-plugins-1.4.15.tar.gz 
#cd nagios-plugins-1.4.15
#./configure --with-nagios-user=nagios --with-nagios-group=nagios 
#make
#make install
 二、改變目錄權限使nagios用戶可以訪問
#chown –R  nagios.nagios /usr/local/nagios
三、安裝nrpe服務使之可以通訊
#tar zxvf nagios-nrpe_2.8.1.orig.tar.gz
#cd nagios-nrpe_2.8.1
#./configure --enable-ssl --with-ssl-lib=/usr/lib/
#make all
#make install-plugin
#make install-daemon
#make install-daemon-config
四、配置nrpe信息
#vim /usr/local/nagios/etc/nrpe.cfg
 allowed_host=192.168.0.15,127.0.0.1   //容許192.168.0.15服務器端對其監控
#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d
//檢測nrep配置文件的正確性
#netstat -an | grep 5666    //是否監聽5666用於nrpe通訊的端口
//在服務端執行檢測工做站nrpe信息
#/usr/local/nagios/libexec/check_nrpe -H 192.168.0.44
NRPE v2.8.1
//在工做站執行檢測本身的nrpe信息
#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
NRPE v2.8.1
五、配置工做站上的被檢測上網信息
#vim/usr/local/nagios/etc/nrpe.cfg
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
六、總結若是沒有什麼錯誤則能夠監控linux客戶機的Disk,swap,users,memory
圖片參考:
 
相關文章
相關標籤/搜索