zabbix 郵件報警
- 首先須要有一個發送郵件的服務。可使用阿里雲的郵件推送服務。 阿里雲 -> 管理控制檯 -> 產品與服務 -> 雲通訊 -> 郵件推送 當即開通 -> 發信域名 -> 新建域名 -> 點擊配置 dnspod -> TXT記錄/MX記錄/CNAME 驗證 發信地址 -> 新建發信地址 -> 域名/帳號/發信類型(觸發) -> 設置smtp密碼 SMTP服務地址: smtpdm.aliyun.com ,SMTP服務端口號:25或80或465(SSL加密)
- 在zabbix server上建立一個發郵件的腳本,使用Python編寫的。
vi mail.py #內容
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_user = 'zhangsan@gongzi.site' 發送郵件的郵箱
mail_pass = 'xxxxxxxx' 郵箱密碼
def send_mail(to_list,subject,content):
me = "zabbix 監控告警平臺"+"<"+mail_user+">"
msg = MIMEText(content, 'plain', 'utf-8')
msg['Subject'] = subject
msg['From'] = me
msg['to'] = to_list
try:
s = smtplib.SMTP("smtpdm.aliyun.com", 25)
s.login(mail_user,mail_pass)
s.sendmail(me,to_list,msg.as_string())
s.close()
return True
except Exception,e:
print str(e)
return False
if __name__ == "__main__":
send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
python mail.py 85735253@qq.com "測試郵件" "cececececece"
## 打開上面這個qq郵箱,查看是否有收到測試郵件
- 設置zabbix配置文件,將腳本移動到配置文件中指定的目錄下。
vim /etc/zabbix/zabbix_server.conf
找到:AlertScriptsPath=/usr/lib/zabbix/alertscripts
cd /usr/lib/zabbix/alertscripts
把mail.py 挪到這個目錄下來
給它一個755權限 chmod 755 mail.py
1) 設置報警媒介
Administration -> Media types -> 右上角(Create Media type)
Name: baojing
Type: Script
Script name: mail.py
Script parameters -> Add {ALERT.SENDTO}/ Add {ALERT.SUBJECT}/Add {ALERT.MESSAGE}
Add
2)設置接收郵件地址
Administration -> Users -> Admin(或者新建用戶)
Media -> Add
Type: baojing
Send to: 郵箱地址,如 85735253@qq.com
Add
Update
3)配置動做
Configuration -> Actions -> Create action
Name: 發郵件
Operations
New
Send to Users -> Admin
Send only to -> baojing
Conditions -> new -> Add
Add
Recovery operations
New
Send to Users -> Admin
Send only to -> baojing
Add
Add
Configuration -> Hosts -> Triggers
故意調整一個trigger
Monitoring -> Problems