zabbix添加自定義item、觸發器、圖形,並執行遠端命令

#前言:
     粗一看挺複雜的,其實照着步驟作一下,很是簡單!linux

#意圖:
      agentd端監控的服務down掉時,試圖將其重啓。vim

#環境:
  
     一、VMware12 、 CentOS 7.1 、 zabbix 2.4.6
     二、zabbix server ip :10.10.100.104
     三、zabbix agentd ip:10.10.100.105
     四、server端和agentd端分別關閉selinux和firewalld:bash

          4.一、vim /etc/selinux/conf
                   selinux=disabled
          4.二、service firewalld stop 
                   chkconfig firewalld off
          4.三、rebootapp

#流程:ide

一、操做在:agentd端函數

      #自定義監控腳本測試

   [root@localhost libexec]# cat httpd_service.sh
   #!/bin/bash
   proc=$(netstat -lnutp | grep httpd | grep -v grep | gawk '{print $7}' | gawk 'BEGIN {FS="/"}{print $1}' | wc -l) #獲取httpd proces信息
   if [ "$proc" = "" ] 
   then
       echo 0 #若是沒有httpd proces信息,echo 0
   else
       echo $proc #若是有httpd proces信息,echo 統計的行數
   fi

      備註:若是你的腳本只返回一個固定值,那麼不會有圖形產生。3d


      #zabbix_agentd.conf配置代理

      vim /usr/local/zabbix/etc/zabbix_agentd.confrest

   UnsafeUserParameters=1  #容許使用自定義item
   UserParameter=httpd_monitor,/usr/local/zabbix/libexec/httpd_service.sh  #UserParameter=item名稱,腳本路徑
   AllowRoot=1  #測試時使用root帳號的話,還要容許使用root
   Server=10.10.100.104 #server端ip
   EnableRemoteCommands=1 #容許執行遠程命令
   LogFile=/tmp/zabbix_agentd.log #日誌路徑

   警告:
   要在「組態》動做」中使用遠程命令,「ServerActive項」 必定不能開啓,我就在這裏栽了跟頭。

 

二、操做在:server端

     #添加自定義item、觸發器、圖形步驟:

     一、添加主機
        組態 》 主機 》 建立主機 》 填寫「主機名稱」、「可見名稱」,使用存在的羣組從右邊「其餘羣組」中選擇,不然在「新的羣組」中填寫,ip地址填寫 zabbix_agentd所在主機的ip地址。

wKiom1ZPL7-zgzJOAAOQLCNYi1s687.jpg

 

     二、添加應用集
        組態 》 主機 》 在主機列表中,找到你所添加的「主機」,點擊「應用集」 》 建立應用集,填寫應用集「名稱」 》 添加

wKioL1ZPMOOx0eMIAAHteqeF5hw652.jpg 
     三、添加項目
        組態 》 主機 》 在主機列表中,找到你所添加的「主機」,點擊「項目」 》 建立監控項,「名稱」自定義輸入,「鍵值」手動填寫(你在 zabbix_agentd.conf 》 UserParameter 中所定義item名稱)》 應用集,選擇第二步所建立的「應用集」 》 添加

wKioL1ZPMTfxloWsAAEMnKFJoUw519.jpg

 

     四、添加觸發器
        組態 》 主機 》 在主機列表中,找到你所添加的「主機」,點擊「觸發器」》
        4.1 「名稱」自定義輸入,「表達式」點擊「添加」 》 「項目」點擊「選擇」 》 選擇第三步所建立的「項目」 》 「功能」,根據實際須要選擇表達式  ,我這裏選擇的是「最末(最近)T值是N」,「N」輸入0 》 插入
        4.2 「嚴重性」選擇分類「災難」 》 添加

wKiom1ZPMZnwNJOZAAD6HHThwJA101.jpg

wKiom1ZPMavwp5SFAAKZnvdeWXU685.jpg

 

        備註:
            一、課添加多個觸發器,選擇不一樣的「嚴重性」,告訴你發生什麼級別的「problem」
            二、表達式說明,{主機:項目.函數}=值(函數爲系統定義)

 

     五、建立圖形
        組態 》 主機 》 在主機列表中,找到你所添加的「主機」,點擊「圖形」》 建立圖形,「名稱」自定義輸入,「項目」 》 添加 》 選擇第三步所建立的

       「項目」》 添加       

wKiom1ZPMhTSh2qwAAM3kE19pq0796.jpg

 

     至此,自定義item、觸發器、圖形添加完畢。

 

三、操做在:server端

      #配置動做

      一、組態 》 動做 》 建立動做 》

              1.1 動做,填寫「名稱」便可

wKiom1ZPMpWjmmH9AAIj1nQ45HQ798.jpg

 

             1.2 條件,計算方式,選擇「與」(看實際須要)》 新的觸發條件,主機 = xxx (選擇上面步驟所建立的主機) 》 添加

wKioL1ZPM2yCo8FIAAI7WisYr9o164.jpg

 

              1.3 操做,「新的」 》 「階段」(從...到,執行多少次,步驟持續時間),操做類型選擇「遠端命令」
                   1.3.1 目標清單,「新的」目標選擇「主機」,(選擇上面步驟所建立的主機)  》 添加

              1.4 類型,「自定義腳本」,執行在「zabbix代理」
              1.5 命令,看須要,我這裏輸入「service httpd restart」
              1.6 條件,看須要
                  1.6.1 通常爲爲:事件已知悉 = 非知悉 》 添加
          添加

wKioL1ZPM-WhKZF_AAM3yn4JgKA888.jpg

 

      至此,「動做」添加完畢。

 

四、測試

       一、在agentd端執行 service httpd stop
       二、觀察zabbix server,提示problem,一會成功執行遠程命令恢復正常狀態。

wKiom1ZPNIPC1uJ0AAZ313Ld2qY877.jpg

 

實驗完畢。

相關文章
相關標籤/搜索