郵件報警有兩種情況:
1、Zabbix服務端只是單純的發送報警郵件到指定郵箱,發送報警郵件的這個郵箱賬號是Zabbix服務端的本地郵箱賬號(例如:[email protected]),只能發送,不能接收外部郵件。
2、使用一個可以在互聯網上正常收發郵件的郵箱賬號(例如:xxx@163.com),通過在Zabbix服務端中設置,使其能夠發送報警郵件到指定郵箱。
本次安裝使用的是第一種情況,配置過程如下:
==============================================UBUNTU14.04 LTS配置SendMail===========================================
一、安裝sendmail
sudo apt-get install sendmail
注意:
- Ubuntu下使用最常用的mail功能,需要安裝mailutils,
- 安裝命令:sudo apt-get install mailutils
- 使用帶附件的功能,則還需要安裝sharutils,
- 安裝命令:sudo apt-get install sharutils;
終端輸入命令:ps aux |grep sendmail
說明sendmail 已經安裝成功並啓動了
二、配置
sendmail 默認只會爲本機用戶發送郵件,只有把它擴展到整個Internet,纔會成爲真正的郵件服務器。
打開sendmail的配置宏文件:/etc/mail/sendmail.mc
vi /etc/mail/sendmail.mc
找到如下行:
代碼
- DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
修改Addr=0.0.0.0 ,表明可以連接到任何服務器。
生成新的配置文件:
代碼
- #cd /etc/mail
- #mv sendmail.cf sendmail.cf~ //做一個備份 ,備份名怎麼起都行
- #m4 sendmail.mc > sendmail.cf //>的左右有空格,提示錯誤沒有安裝sendmail-cf
三、測試發送郵件
常用發送郵件方式如下:
1.如何寫一般的郵件: mail [email protected] Cc 編輯抄送對象,Subject:郵件主題,輸入回車,郵件正文後,按Ctrl-D結束
2.快速發送方式: echo “郵件正文” | mail -s 郵件主題 [email protected]
3.以文件內容作爲郵件正文來發送: mail -s test [email protected] < test.txt
4.發送帶附件的郵件: uuencode 附件名稱 附件顯示名稱 | mail -s 郵件主題 發送地址
例如: uuencode test.txt test.txt | mail -s Test [email protected]
注意問題:
1)
如果你發現你的sendmail啓動很慢的話,可以這樣解決
# vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
修改成
127.0.0.1 localhost.localdomain localhost 主機名稱
查看本機的主機名稱的命令是: hostname
只保留這一行就行,多餘的行就可以刪掉
2)
*** ERROR: FEATURE() should be before MAILER()
*** MAILER(`local') must appear after FEATURE(`always_add_domain')*** ERROR: FEATURE() should be before MAILER()
*** MAILER(`local') must appear after FEATURE(`allmasquerade')*** ERROR: FEATURE() should be before MAILER()
修改sendmail.mc最後幾行
vi /etc/mail/sendmail.mc
將文檔中的
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl
放到文檔最後
=================================================================================
===========================Zabbix Service配置預警郵件================================
1、進入zabbix web界面,在“管理”-“報警媒介類型”中,編輯已有的媒體類型“Email”
2、修改默認信息如下,其中 zabbix.ufsoft.com.cn是zabbix服務器的主機名稱,SMTP郵件是:服務器[email protected]
3、設置Zabbix用戶報警郵箱地址(直接更新zabbix的系統賬戶郵箱)
編輯 報警媒介 如下
4、更新動作中發送郵件的觸發器
“動作”選項卡中需要勾選“恢復信息”,問題消失後也會發送通知郵件
更新此觸發器中的 “操作”選項卡內容即可。其中“步驟”是發送問題郵件的次數
note:
郵件內容可以組合,可參照下方內容,具體事件請參照官方手冊
默認接收人:故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障!
默認信息:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢復主旨:恢復{TRIGGER.STATUS}, 服務器:{HOSTNAME1}: {TRIGGER.NAME}已恢復!
恢復信息:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
=================================================================================
問題1
解決方式:
將服務器上的郵件發送應用卸載,重新安裝sendmail,並配置權限