一、先安裝設置mailx發送郵件的賬號
yum -y install mailx
ln -s /bin/mailx /bin/mail
配置發送帳號 密碼
cat /etc/mail.rc //內容如下 set from=123456@126.com set smtp=smtp.126.com set smtp-auth-user=123456@126.com set smtp-auth-password=123456 set smtp-auth=login
發送郵件測試;測試是否能正常發送郵件。
echo
test
| mail -s
" test"
136×××@126.com
找到AlertScriptsPath選項,可以自定義位置;新增自定義的腳本位置 增加 AlertScriptsPath=/usr/local/zabbix/alertscripts
如圖
### Option: AlertScriptsPath # Full path to location of custom alert scripts. # Default depends on compilation options. # # Mandatory: no # Default: # AlertScriptsPath=${datadir}/zabbix/alertscripts AlertScriptsPath=/usr/local/zabbix/alertscripts
編寫自定義發送郵件的腳本:
mkdir /usr/local/zabbix/alertscripts/
cd /usr/local/zabbix/alertscripts/
vim sendEmail.sh
腳本的內容如下:
#!/bin/bash #zabbix郵件告警腳本 #auth:zhangyong #time:2017-03-21 #Version:V1.0 mail=$1 title=$2 message=$3 echo "${message}" | /usr/bin/iconv -t GB2312 -f UTF-8 | mailx -s "${title}" ${mail} >> /tmp/mailx.log 2>&1 exit $?
測試郵件
[root@localhost etc]# /usr/local/zabbix/alertscripts/sendmail.sh zhangyong@dozengame.com "測試郵件標題" "測試郵件內容"
zabbix 頁面配置
進入zabbix web配置頁面。 管理---報警媒介類型
點擊右上角 新增一個報警類型 sedMail
sedMail的內容如下圖;下面的三個參數一定要加上去。 點擊添加-然后單擊框內能顯示 腳本參數 讓你選擇。
解釋:很多人安裝zabbix 3.0之后,寫的腳本一直發信不成功,手動執行時可以的。 那是因為zabbix3.0之后,可以自定義參數了。所以不寫參數,它是不會傳參數的。
在2.x版本不存在這個問題,默認會傳3個參數。
點擊管理--用戶 新增一個用戶
添加報警媒介 類型選擇剛才的 sendmail;填寫用戶收件箱,接收郵件的時間。
如下圖 一定要選剛才定義好的報警類型,要不然郵件發送不出去。
權限 全部都添加
配置郵件發送的動作。
點擊配置---動作。新增 或者修改原來的
修改默認信息為發送中文
修改動作 發送的內容為中文 默認與恢復一樣
告警主機:{HOSTNAME1} 告警時間:{EVENT.DATE} {EVENT.TIME} 告警等級:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警項目:{TRIGGER.KEY1} 問題詳情:{ITEM.NAME}:{ITEM.VALUE} 當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}
點擊操作 指定發送的用戶;還有報警媒介。如下圖:

解釋:
默認的步驟是1-1,也即是從1開始到1結束。一旦故障發生,就是執行sendEmail.sh腳本發生報警郵件給Admin用戶和zabbix administrator組。
后面的1表示你要發送多少封郵件。
假如故障持續了1個小時,它也只發送一次。如果改成1-0,0是表示不限制.無限發送
間隔就是默認持續時間60秒。那么一個小時,就會發送60封郵件。
如果需要短信報警的話,可以再創建一條新的動作,選擇短信腳本。
點擊報表->動作日志 可以看到觸發動作的次數。只會有3次,除非test主機狀態改變,也就是正常的時候,會觸發一次,否則不會再觸發。
到此郵件發送報警配置完畢;可以去被監控的主機stop 掉 zabbix_agnd 測試。
# 在機房的服務器上部署了一套 zabbix;配置各種都沒有問題。郵件在命令行下也能測試發送;但是zabbix 告警的郵件硬是收不到。
折騰了一天;發現了一篇博客文章,按此設置又可以。
http://blog.csdn.net/fgf00/article/details/50583256