溫馨提示×

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

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

nagios之監(jiān)控策略

發(fā)布時(shí)間:2020-06-03 18:23:59 來(lái)源:網(wǎng)絡(luò) 閱讀:503 作者:freehat08 欄目:移動(dòng)開發(fā)

 

3 Nagios 之監(jiān)控策略

 

一 在Nagios配置文件templates.cfg 定義監(jiān)控主機(jī)模板和監(jiān)控service 模板,這樣在定義監(jiān)控對(duì)象時(shí)直接繼承模板中的監(jiān)控策略,而不需要在每定義一個(gè)監(jiān)控對(duì)象時(shí),而重新需要

 定義監(jiān)控策略
 
 #vim usr/local/nagios/etc/object/templates.cfg 在其尾部添加如下內(nèi)容

1 定義主機(jī)模板

        define host {
             #模板名稱
             name                            etnet  
             #該模板的父模板
             use                             generic-host 
             #最大嘗試次數(shù)
             max_check_attempts              3
             #正常檢測(cè)的時(shí)間間隔
             normal_check_interval           3
             #當(dāng)檢測(cè)到監(jiān)控對(duì)象不在線時(shí),嘗試檢測(cè)的次數(shù)
             retry_check_interval            1
             #監(jiān)測(cè)的時(shí)間段7X24
             check_period                    24x7
             #報(bào)警的時(shí)間段
             notification_period             24x7
             #報(bào)警的時(shí)間間隔,如果是短信報(bào)警的換,意思就是說(shuō)多長(zhǎng)時(shí)間用短信通知系統(tǒng)管理員一次
             notification_interval           60
              #當(dāng)監(jiān)控對(duì)象出現(xiàn)什么樣的狀態(tài)時(shí)發(fā)短信通知您
             notification_options            d,r,u,f
              #監(jiān)測(cè)命令
             check_command                   check-host-alive
              #聯(lián)系人
             contact_groups                 admins
             register                        0
            }
              注:
                  Notification_options   d ,r,u,f
                   d 代表當(dāng)監(jiān)控對(duì)象出現(xiàn)down 是發(fā)送通知
                   r 當(dāng)監(jiān)控對(duì)象recoveries 時(shí)發(fā)送通知
                   f 當(dāng)主機(jī)啟動(dòng)或者停機(jī)時(shí)發(fā)送通知
                   u 當(dāng)有unreachable 狀態(tài)時(shí)發(fā)送通知
      例如
           定義主機(jī)
           #定義主機(jī)組
  define hostgroup{
  
             hostgroup_name       mysql
             alias                   mysql-group
             #該組的成員
              members                 linux141,linux134
            }
        define host {
           #繼承etnet模板
           use   etnet
           host_name    linux141
           alias         mysql41
           address         192.168.3.141
         }

2 定義service 模板

             ###define service###
  define service {
             # 定義service的名稱
             name                            tomcat
             use                             generic-service
             max_check_attempts              2
             normal_check_interval           1
             retry_check_interval            1
             check_period                    24x7
             notification_period             24x7
             notification_interval           60
             notification_options            w,u,c,f
             contact_groups                 admins
             register                        0
            }
      
       注: notification_options  w,u,c,f 
            C 代表critival 狀態(tài)時(shí)發(fā)送通知
           同主機(jī)模板中代表的含義是相同的
    
       例如
              define hostgroup{
        hostgroup_name         Memcached
        alias                  Memcache
        members                Memcache137
             }
 define  host {
         use             etnet
         host_name       Memcache137
         alias            linux137
         address         192.168.3.137
         }
 define  service{
         use                       tomcat
         host_name                 Memcache137
         service_description       CPU Load
         check_command       check_nrpe!check_load
         }
      注:一般情況先定義監(jiān)控service 時(shí),是離不開定義host的

二 為防止nagios服務(wù)器出現(xiàn)down ,實(shí)現(xiàn)的nagios的高可用性,即是nagios的失效性監(jiān)控,當(dāng)nagios master 出現(xiàn)down,nagios slave 能夠主動(dòng)接替nagios master

 1 要在nagios  Master 的服務(wù)器的nrpe 主配置文件定義一下,命令,以便遠(yuǎn)程能夠執(zhí)行進(jìn)行對(duì)nagios的健康監(jiān)測(cè)
   [check_nagios]=/usr/local/nagios/libexec/ check_nagios -e 5 -F /usr/local/nagios/var/status.log -C /usr/local/nagios/bin/nagios
2  在nagios Slave 服務(wù)器上創(chuàng)建腳本如下
    #cat  /usr/local/nagios/libexec/check_nagios_service  
   #!/bin/bash
   AWK=/bin/awk
  CUT=/bin/cut
  SED=/bin/sed
  GREP=/bin/grep
  ##
  ##set monitor nagios status log
  echo "`/bin/date  +%Y-%m-%d-%H:%M:%S` The nagios Master status  is $STATUS">>$NAGIOS_DIR/var/monitor.log
    NAGIOS=($( grep "SLAVE" /usr/local/nagios/etc/nagios.cfg  | grep -v '^#' | awk -F/ '{print $NF}'))
    case $STATUS in
     OK)
          if [ "$NAGIOS" = "SLAVE" ]
             then
             $SED  -i '/SLAVE$/d' $NAGIOS_DIR/etc/nagios.cfg
             /sbin/service  nagios restart >>/dev/null 2>&1
             else
               exit 0
          fi
      ;;
    CRITICAL)
   if [ "$NAGIOS" != "SLAVE" ]
     then
   echo -e "#monitor  nagios service ,and take the places of nagios,SLAVE">>$NAGIOS_DIR/etc/nagios.cfg
   echo "cfg_dir=/usr/local/nagios/etc/objects/SLAVE">>$NAGIOS_DIR/etc/nagios.cfg
  fi
   #nagios restart
    /sbin/service  nagios restart  >>/dev/null 2>&1
     ;;
  refused)
   exit 1
 esac

3 在nagios slave 上的服務(wù)器上添加工作任務(wù),當(dāng)然這可以根據(jù)自己的要求來(lái)對(duì)nagios Master的 健康監(jiān)測(cè)的時(shí)間間隔

  #crontab  -e
  #*/1 * * * *    /usr/local/nagios/libexec/check_nagios_service

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

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

AI