1. 程式人生 > >19.12添加自定義監控項目19.13-14配置郵件告警19.15測試告警19.16不發郵件問題處理

19.12添加自定義監控項目19.13-14配置郵件告警19.15測試告警19.16不發郵件問題處理

十六周四次課(4月16日)

19.12添加自定義監控項目
技術分享圖片
客戶端上編輯配置文件 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
搜索 /UnsafeUserParameters
技術分享圖片
驗證一下上面的自定義腳本
技術分享圖片
在監控端輸入zabbix_get -s 192.168.133.132 -p 10050 -k ‘my.estab.count
技術分享圖片
如果將上面客戶端chmod 755 /usr/local/sbin/estab.sh更改權限為700,再執行命令就會提示僅限不夠
技術分享圖片
上面的操作完後
然後在zabbix監控中心(瀏覽器)配置增加監控項目
鍵值寫my.estab.count
技術分享圖片
“配置”à“主機” à“圖形” à“創建圖形”
技術分享圖片
技術分享圖片
有需要的話還可以創建觸發器
技術分享圖片
技術分享圖片
19.13 /19.14 配置郵件告警
技術分享圖片
技術分享圖片
查看報警腳本的位置,查看服務端的配置文件
vim /etc/zabbix/zabbix_server.conf
搜索 /alert就可以找到這一行定義腳本的位置目錄
技術分享圖片
mail.py必需要放到這個目錄下
vim /usr/lib/zabbix/alertscripts/mail.py//內容參考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py
這裏的是用163的郵箱測試,密碼是授權碼

#!/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.163.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]‘,‘liang123,‘[email protected]‘,to,subject,content)
br/>to=sys.argv[1]
subject=sys.argv[2]
content=sys.argv[3]
##定義QQ郵箱的賬號和密碼,你需要修改成你自己的賬號和密碼(請不要把真實的用戶名和密碼放到網上公開,否則你會死的很慘)
sendqqmail(‘[email protected]‘,‘liang123,‘[email protected]‘,to,subject,content)
name == "main":
main()

#####腳本使用說明######
#1. 首先定義好腳本中的郵箱賬號和密碼
#2. 腳本執行命令為:python mail.py 目標郵箱 "郵件主題" "郵件內容"
技術分享圖片
發送郵件
python mail.py [email protected] "aliang" "sfgsdfgssgf3543564356gfsdg"
查看郵箱是有收到郵件了
技術分享圖片
第一步到這裏腳本創建完成
創建用戶
技術分享圖片
再設置報警媒介
技術分享圖片
再看一下權限,顯示無,如是沒有權限是收不到告警郵件的,所以大家一定要請註意
技術分享圖片
要到用戶組去更改權限,選擇讀寫
技術分享圖片
再點選擇,把所有組都選上,然後點添加,再點更新
技術分享圖片
這時候權限就變讀寫了
技術分享圖片
到這裏用戶配置完了
以下就配置動作
設置動作,“配置”,“動作”,“創建動作”,名稱寫“sendmail”
增加條件B
技術分享圖片
點操作
技術分享圖片
點新的
技術分享圖片
恢復操作
技術分享圖片
到這裏告警的準備工作 做好了
下一步就是驗證一下告警了
創建一條系統 負載告警
技術分享圖片
在監測中查看儀表板的最近20個問題裏可以看到告警
技術分享圖片
查看動是完成還是失敗或空的,空的很有可以是腳本沒有權限
查看郵箱已收到郵件
技術分享圖片
再將告警的系統負載N值大於1
技術分享圖片
在監測中查看儀表板的最近20個問題裏可以看到告警,這時候沒有問題了,問題已恢復了
技術分享圖片
查看郵箱已收到郵件
技術分享圖片
更改主支與被動模式,在監控項裏選擇一種模式,點進去就可以配置了
技術分享圖片

19.12添加自定義監控項目19.13-14配置郵件告警19.15測試告警19.16不發郵件問題處理