配置環境:web
系統:CentOS 6.5bash
Zabbix:2.4.7服務器
1、安裝sendEmailide
sendEmail是一個免費、輕量級、命令行的SMTP郵件客戶端。測試
若是你須要使用命令行方式發送郵件,那麼sendEmail是很是完美的選擇:使用簡單、功能強大。spa
sendEmail下載地址:.net
http://caspian.dotconf.net/menu/Software/SendEmail/命令行
sendEmail安裝:orm
tar xvzf sendEmail-v1.56.tar.gzserver
cp sendEmail-v1.56 /usr/local/sendEmail
2、zabbix服務器端發送郵件腳本
修改zabbix配置文件
修改如下內容去掉前面的註釋並修改成當前zabbix的路徑
#AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
#ExternalScripts=/usr/local/zabbix/share/zabbix/externalscripts
2.建立發送郵件腳本
cd /usr/local/zabbix/share/zabbix/alertscripts
vi mail.sh #腳本網上覆制的
#!/bin/bash
SMTP_server='smtp.163.com' # 郵件SMTP服務器地址
username='zabbix@163.com' # 郵箱帳戶
password='zabbix' # 郵箱密碼
from_email_address='zabbix@163.com' # 發送的郵箱地址
to_email_address="$1" # 收件人郵箱地址,zabbix傳入的第一個參數
message_subject_utf8="$2" # 郵件標題,zabbix傳入的第二個參數
message_body_utf8="$3" # 郵件內容,zabbix傳入的第三個參數
# 轉換郵件標題爲GB2312,解決郵件標題含有中文,收到郵件顯示亂碼的問題。
message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_subject_utf8
EOF`
[ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"
# 轉換郵件內容爲GB2312
message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF
$message_body_utf8
EOF`
[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"
# 發送郵件
sendEmail='/usr/local/bin/sendEmail'
$sendEmail -s "$SMTP_server" -xu "$username" -xp "$password" -f "$from_email_address" -t "$to_email_address" -u "$message_subject" -m "$message_body" -o message-content-type=text -o message-charset=gb2312
chown zabbix.zabbix mail.sh
chmod +x mail.sh
sh mail.sh mail@qq.com test test #測試下看qq郵箱可否收到郵件
3、Zabbix界面配置
進入zabbix的web界面
1.建立一個告警方式
Administration---Media types---Create media type
Name=Email
Type=Script
Script name=mail.sh
enable √
2.建立一個告警動做
Configuration---Actions---Create action
Action:
Name=to mail
Default subject=故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障
Default message=
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
Recovery message √
Recovery subject=恢復{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復
Recovery message=
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
Enable √
Operations:
Default operation step duration=60
Operation details=Send to User groups=Zabbix administrators
Send to Users=Admin (Zabbix Administrator)
Send only to=ALL
Default message √
3.配置用戶報警方式
Administration---Users---Members---Admin (Zabbix Administrator)---Media---Add
Type=Email
Send to=mail@qq.com
When active=1-7,00:00-24:00
√ Not classified
√ Information
√ Warning
Use if severity Average √ High
√ Disaster
√ Status
Status=Enabled
在服務器上停掉客戶端測試是否能收到報警郵件!
******************至此郵件報警配置完成********************