本來是想自己寫一篇文章的,但是看到發現網上有寫的不錯的,於是乎又抄別人的文章,作為記錄。
使用外部郵箱來發生郵件明顯好處就是防止其他郵箱服務器當垃圾郵件處理,另一方面能降低收郵件延遲。
下面開始進行使用外部郵箱配置:
zabbix服務端配置:
操作系統:CentOS7_x64
1、 安裝一個郵件發送程序mailx工具(msmtp+mutt也可以實現外部郵箱發送郵件)
[root@V253 ~]# yum install mailx -y
打開mailx配置文件,在末尾添加如下信息:
[root@V253 ~]# vi /etc/mail.rc
set from=baojingtongzhi@163.com smtp=smtp.163.com
setsmtp-auth-user=baojingtongzhi@163.com smtp-auth-password=123456
set smtp-auth=login
2、 測試是否能正常發送郵件
[root@V253 ~]# echo "this is test mail." |mail -s "test mail" xxx@163.com
注:如果正常收到郵件,說明配置成功!
3、 寫郵件發送腳本
[root@V253 ~]# cd /usr/local/zabbix/share/zabbix/alertscripts
[root@V253alertscripts]# vi sendmail.sh
1
2
3
4
5
6
|
#!/bin/bash
file
=
/tmp/zabbix_mail
.txt
echo
"$3"
> $
file
dos2unix -k $
file
/bin/mail
-s
"$2"
$1 < $
file
# echo "$3" | mail -s "$2" $1 #如果發送郵件完全是英文的,可以只使用這一條
|
[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菜單會添加不成功:
自帶的內容有些復雜,可以自定義郵件內容:
主題:Problem:{TRIGGER.NAME}
內容:
1
2
3
4
5
6
7
|
Host: {HOSTNAME1}
Date: {EVENT.DATE} {EVENT.TIME}
Level: {TRIGGER.SEVERITY}
Problem: {ITEM.NAME}:{ITEM.VALUE}
Item: {TRIGGER.KEY1}
CurrentStatus: {TRIGGER.STATUS}:{ITEM.VALUE1}
EventID: {EVENT.ID}
|
使用了Operations里面報警信息為默認郵件信息,所以Action里面郵件信息就沒用了!
配置正常的話,這時已經可以使用外部郵箱發郵件,你可以關掉一台zabbix_agentd測試下,看會不會觸發告警,給你發郵件。祝你成功!
轉載於:http://lizhenliang.blog.51cto.com/7876557/1709933
補充,我當時候設置的時候也有出現亂碼並且把是內容當附件發送了。我是修改系統的字符集就ok了。