19.12添加自定義監控項目19.13-14配置郵件告警19.15測試告警19.16不發郵件問題處理
客戶端上編輯配置文件 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
#!/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):
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不發郵件問題處理