使用外部郵箱來發生郵件明顯好處就是防止其他郵箱伺服器當垃圾郵件處理,另一方面能降低收郵件延遲。
下面開始進行使用外部郵箱配置:
zabbix服務端配置:
作業系統:centos7_x64
1、 安裝一個郵件發送程式mailx工具(msmtp+mutt也可以實作外部郵箱發送郵件)
[root@v253 ~]# yum install mailx -y
打開mailx配置檔案,在末尾添加如下資訊:
[root@v253 ~]# vi /etc/mail.rc
set [email protected] smtp=smtp.163.com
[email protected] smtp-auth-password=123456
set smtp-auth=login
2、 測試是否能正常發送郵件
注:如果正常收到郵件,說明配置成功!
3、 寫郵件發送腳本
[root@v253 ~]# cd /usr/local/zabbix/share/zabbix/alertscripts
[root@v253alertscripts]# vi sendmail.sh
1
2
3
4
5
6
<code>#!/bin/bash</code>
<code>file</code><code>=</code><code>/tmp/zabbix_mail</code><code>.txt</code>
<code>echo</code> <code>"$3"</code> <code>> $</code><code>file</code>
<code>dos2unix -k $</code><code>file</code>
<code>/bin/mail</code> <code>-s </code><code>"$2"</code> <code>$1 < $</code><code>file</code>
<code># echo "$3" | mail -s "$2" $1 #如果發送郵件完全是英文的,可以隻使用這一條</code>
[root@v253alertscripts]# yum install dos2unix -y
注:使用dos2unix工具是為解決zabbix發送郵件出現亂碼和收到的郵件是*.bin的情況。
$3 是前端定義的郵件内容,$2是前端定義的标題,$1是前端定義的收件人
更改腳本屬主組并添加執行權限:
[root@v253alertscripts]# chown zabbix.zabbix sendmail.sh
[root@v253alertscripts]# chmod +x sendmail.sh
以上是服務端配置,以下是前端配置:
1、 建立一個媒體類型
2、 給使用者添加收件人
3、 添加動作
先配置operations菜單,否則在action菜單會添加不成功:
<a href="http://s3.51cto.com/wyfs02/m02/75/7e/wkiol1y60c-h303yaan3zetsgw8955.jpg" target="_blank"></a>
自帶的内容有些複雜,可以自定義郵件内容:
主題:problem:{trigger.name}
内容:
7
<code>host: {hostname1}</code>
<code>date: {event.date} {event.time}</code>
<code>level: {trigger.severity}</code>
<code>problem: {item.name}:{item.value}</code>
<code>item: {trigger.key1}</code>
<code>currentstatus: {trigger.status}:{item.value1}</code>
<code>eventid: {event.id}</code>
使用了operations裡面報警資訊為預設郵件資訊,是以action裡面郵件資訊就沒用了!
配置正常的話,這時已經可以使用外部郵箱發郵件,你可以關掉一台zabbix_agentd測試下,看會不會觸發告警,給你發郵件。祝你成功!