添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理

添加自定義監控項目

  • 需求:監控某臺web的80端口連接數,並出圖
  • 兩步:1)zabbix監控中心創建監控項目;2)針對該監控項目以圖形展現
  • 對於第一步,需要到客戶端定義腳本,並賦予755權限,因爲需要zabbix用戶可以執行它
    [root@akuilinux02 ~]# vim /usr/local/sbin/estab.sh
    #!/bin/bash
    ##獲取80端口併發連接數
    netstat -ant |grep ':80 ' |grep -c ESTABLISHED
    [root@akuilinux02 ~]# chmod 755 !$
    chmod 755 /usr/local/sbin/estab.sh
  • 客戶端上編輯配置文件,增加兩項
    [root@akuilinux02 ~]# vim /etc/zabbix/zabbix_agentd.conf
    UnsafeUserParameters=1       //表示使用自定義腳本
    UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh 
    //自定義監控項的key爲my.estab.count,後面的[*]裏面寫腳本的參數,如果沒有參數則可以省略,腳本爲/usr/local/sbin/estab.sh
  • 重啓zabbix-agent服務 systemctl restart zabbix-agent
  • 第二步,首先到服務端驗證
    [root@akuilinux01 ~]# zabbix_get -s 192.168.21.129 -p 10050 -k 'my.estab.count'
    0
  • 然後在zabbix監控中心(瀏覽器)配置增加監控項目
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
  • 給自定義的監控項創建圖形
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
  • 給自定義的監控項目做個觸發器
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理

    配置郵件告警

  • 使用163或者QQ郵箱發告警郵件
  • 首先登錄你的163郵箱,設置開啓POP3、IMAP、SMTP服務,開啓授權碼
  • 然後到監控中心設置郵件告警,“管理”,“報警媒介類型”,“創建媒體類型”
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
  • 創建報警腳本mail.py
    vim /usr/lib/zabbix/alertscripts/mail.py
    #!/usr/bin/env python
    #-*- coding: UTF-8 -*-
    import os,sys
    reload(sys)
    sys.setdefaultencoding('utf8')
    import getopt
    import smtplib
    from email.MIMEText import MIMEText
    from email.MIMEMultipart import MIMEMultipart
    from  subprocess import *
    def sendqqmail(username,password,mailfrom,mailto,subject,content):
    gserver = 'smtp.qq.com'
    gport = 25
    try:
        msg = MIMEText(unicode(content).encode('utf-8'))
        msg['from'] = mailfrom
        msg['to'] = mailto
        msg['Reply-To'] = mailfrom
        msg['Subject'] = subject
        smtp = smtplib.SMTP(gserver, gport)
        smtp.set_debuglevel(0)
        smtp.ehlo()
        smtp.login(username,password)
        smtp.sendmail(mailfrom, mailto, msg.as_string())
        smtp.close()
    except Exception,err:
        print "Send mail failed. Error: %s" % err
    def main():
    to=sys.argv[1]
    subject=sys.argv[2]
    content=sys.argv[3]
    ##定義QQ郵箱的賬號和密碼,你需要修改成你自己的賬號和密碼(請不要把真實的用戶名和密碼放到網上公開,否則你會死的很慘)
    sendqqmail('[email protected]','aaaaaaaaaa','[email protected]',to,subject,content)
    if __name__ == "__main__":
    main()
    #####腳本使用說明######
    #1. 首先定義好腳本中的郵箱賬號和密碼
    #2. 腳本執行命令爲:python mail.py 目標郵箱 "郵件主題" "郵件內容"
  • 一定要修改權限
    chmod 755 /usr/lib/zabbix/alertscripts/mail.py
  • 創建一個接受告警郵件的用戶,“管理”,“用戶”,“創建用戶”,“報警媒介”,類型選擇“baojing”,注意用戶的權限,如果沒有需要到用戶組去設置權限添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
  • 設置動作,“配置”,“動作”,“創建動作”,名稱寫“sendmail”(自定義),“新的觸發條件”,A維護狀態 非在 維護,B觸發器示警度>=未分類
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
  • 設置操作,點擊操作 --> 把默認信息全部刪除掉 -->定義新的默認信息 -->點擊新的 --> 發送到用戶 --> 選擇Anna -->選擇 -->僅送到 -->選擇報警 -- >點擊新的 --> 條件 -->添加 --> 點完添加會看到:發送消息給用戶-->添加
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
    HOST:{HOST.NAME} {HOST.IP}   -->定義hostname 
    TIME:{EVENT.DATE} {EVENT.TIME}  -->定義時間
    LEVEL:{TRIGGER.SEVERITY}  -->就是前面定義的是觸發示警度
    NAME:{TIRGGER.NAME}  -->  哪個觸發器發生了報警
    messages:{ITEM.NAME}:{ITEM.VALUE}  --> 當發生報警的時候,會有什麼狀態碼
    ID:{EVENT.ID} --> 事件ID
  • 設置恢復操作(當負載很高的時候要發告警郵件,但當負載變成ok的時候也要發),點擊恢復 -->把默認信息全部刪除 --> 定義默認信息 --> 點擊新的 -->發送到用戶 -->選擇Anna -->僅送到-->選擇報警 -->添加
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
    HOST:{HOST.NAME} {HOST.IP}
    TIME:{EVENT.DATE}  {EVENT.TIME} 
    LEVEL:{TRIGGER.SEVERITY} 
    NAME:{TRIGGER.NAME}
    messages:{ITEM.NAME}:{ITEM.VALUE}
    ID:{EVENT.ID}

    測試告警

  • 故意把監控項目更改成有問題的, 設置觸發器,讓它告警
  • 配置-->主機--> root -02 選擇觸發器 --> 創建觸發器 --> 名稱(自定義)- 系統負載 --> 添加
    -->最新的T值<N --> N 設置爲1 ; 當小於1的時候就告警,正常情況下負載是0 ,那麼就會馬上告警
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
    添加自定義監控項目,配置郵件告警,測試告警,不發郵件的問題處理
  • 把負載值更回正常的,也會收到ok的郵件,如果設置回正常,仍然收不到郵件,那麼檢查恢復操作.

    不發郵件的問題處理

  • 檢查發郵件的腳本
  • 檢查Zabbix 監控中心 -- 用戶設置及檢查報警媒介,查看收件人郵箱地址是否有誤
  • 檢查用戶權限是否是讀寫,若不是將無法收到告警郵件
  • 檢查動作--操作是否有選擇發送到用戶
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章