Zabbix通過stmp郵件報(bào)警

第一種實(shí)驗(yàn)

注:sendemail 不是sendmail....sendemail是用perl語(yǔ)言寫的一個(gè)smtp發(fā)郵件的小程序....詳情可自行查閱.....

  1. media
      用戶配置下的media.
      Administration--->Users--->users(右側(cè))or create user--->Mediat 添加郵件地址...(接收的郵件地址)
  2. Media types
      Administration---->Media types-----Create media type
        name: 名字
        type Script
        Script name : sendemail.sh
        enabled (?)

修改zabbix_server.conf
    在410行的地方:AlertScriptsPath=/etc/zabbix/alertscripts (腳本存放目錄路徑,你也可以修改成其他路徑,注意權(quán)限)

這里有2個(gè)腳本:
      第一個(gè)是zabbix調(diào)用的發(fā)送郵件的腳本. 他會(huì)調(diào)用第二個(gè)腳本去發(fā)送郵件.(Media types的script name:)
      第二個(gè)是perl 寫的sendemail專門用來通過smtp發(fā)送郵件的.
第一個(gè)腳本:

[root@zabbix ~]# cat /etc/zabbix/alertscripts/sendemail.sh  
#!/bin/bash
SMTP_server='smtp.qq.com'    # SMTP服務(wù)器
username='************'     # 用戶名
password='***********'             # 密碼
from_email_address='**********' # 發(fā)件人Email地址
to_email_address="$1"               # 收件人Email地址,zabbix傳入的第一個(gè)參數(shù)
message_subject_utf8="$2"           # 郵件標(biāo)題,zabbix傳入的第二個(gè)參數(shù)
message_body_utf8="$3"              # 郵件內(nèi)容,zabbix傳入的第三個(gè)參數(shù)

# 轉(zhuǎn)換郵件標(biāo)題為GB2312,解決郵件標(biāo)題含有中文,收到郵件顯示亂碼的問題。
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"

# 轉(zhuǎn)換郵件內(nèi)容為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"

# 發(fā)送郵件
sendEmail='/usr/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

echo "`date +"%F %T"` send to $to_email_address" >> /tmp/send.log

這個(gè)腳本解釋的很詳細(xì)我就不解釋了...
這里的用戶名和密碼是發(fā)件人的,,這個(gè)是通過SMTP發(fā)送郵件,有些人可能不懂,就和outlook差不多。可以使用QQ,163任何一個(gè)提供了SMTP的郵箱公司郵箱也可以。要修改的就是smtp,用戶名,密碼,發(fā)件人的郵箱。。。。smtp可以去郵箱提供商獲取,或者百度。。。

還有腳本要加權(quán)限

chmod +x sendemail.sh
第二個(gè)腳本:http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz(不是sendmail,這個(gè)是perl 寫的一個(gè)使用smtp發(fā)送郵件的腳本)

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar xvf sendEmail-v1.56.tar.gz
cd sendEmail-v1.56
cp sendEmail  /usr/bin/
chmod +x /usr/bin/sendEmail

解壓: tar xvf sendEmail-v1.56.tar.gz

將里邊的sendEmail 復(fù)制到/usr/bin/

然后測(cè)試第一個(gè)腳本

/etc/zabbix/alertscripts/sendemail.sh test@qq.com zabbixtest " this is zabbix test mail ! "
如果能收到說明這兩個(gè)腳本都沒問題

  1. Actions
      當(dāng)觸發(fā)tiggers時(shí)發(fā)生的動(dòng)作...這就是發(fā)送郵件的入口
      Configuration --> Actions --> Create action
image.png

name: 就是名字
Default subject : 郵件標(biāo)題的格式
Default message: 郵件內(nèi)容
Recovery message: 這個(gè)是當(dāng)報(bào)警回復(fù)正常發(fā)送郵件的內(nèi)容. 這些變量都是系統(tǒng)定義好.你可以引用 也可以自己定義變量.

這個(gè)是發(fā)送郵件的一些條件,這個(gè)好像自己改過,按自己的需求來
image.png

新建默認(rèn)是沒有的 我們new 一個(gè)新的.

From to 好像是發(fā)送次數(shù).setp間隔時(shí)間

operation type 是send message

發(fā)送給用戶還是組.

send only to : 里遍選擇第2步的Media types 的名字

先點(diǎn)上邊的Add 然后點(diǎn)下邊的Add

這樣基本就完成了..轉(zhuǎn)載http://www.cnblogs.com/idnf/p/4667650.html
附上我本地測(cè)試成功的腳本:

[root@localhost ~]# cat /etc/zabbix/alertscripts/sendemail.sh 
#!/bin/bash
SMTP_server='smtp.163.com'
username='chengyinxiang93@163.com'
password='hello2017'
from_email_address='chengyinxiang93@163.com'
to_email_address="$1"
message_subject_utf8="$2"
message_body_utf8="$3"
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"
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/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
echo "`date +"%F %T"` send to $to_email_address" >> /tmp/send.log

第二種實(shí)驗(yàn):zabbix使用sendEmail發(fā)送告警郵件

轉(zhuǎn)自http://qicheng0211.blog.51cto.com/3958621/1434514
一、安裝sendEmail
sendEmail是一個(gè)免費(fèi)、輕量級(jí)、命令行的SMTP郵件客戶端。
如果你需要使用命令行方式發(fā)送郵件,那么sendEmail是非常完美的選擇:使用簡(jiǎn)單、功能強(qiáng)大。
sendEmail下載地址:
http://caspian.dotconf.net/menu/Software/SendEmail/
sendEmail安裝方法:

shell# tar xvzf sendEmail-v1.56.tar.gz
shell# cp sendEmail-v1.56/sendEmail /usr/local/bin/
shell# chmod 755 /usr/local/bin/sendEmail

sendEmail命令選項(xiàng):

image.png

二、zabbix服務(wù)器端發(fā)送郵件腳本

假如zabbix 配置目錄位置在/etc/zabbix/
1.創(chuàng)建/etc/zabbix/alertscripts目錄

shell# mkdir -p /etc/zabbix/alertscripts
shell# chown -R zabbix:zabbix /etc/zabbix/alertscripts

修改/etc/zabbix/zabbix_server.conf

AlertScriptsPath=/etc/zabbix/alertscripts

修改后重啟zabbix server。
2.創(chuàng)建發(fā)送郵件腳本
# vim /etc/zabbix/alertscripts/SendEmail.sh

#!/bin/bash
#
# Filename:    SendEmail.sh
# Revision:    1.0
# Date:        2014/07/04
# Author:      Qicheng
# Email:
# Website:     http://qicheng0211.blog.51cto.com/
# Description: zabbix郵件告警腳本
# Notes:       使用sendEmail
#
 
# 腳本的日志文件
LOGFILE="/tmp/Email.log"
:>"$LOGFILE"
exec 1>"$LOGFILE"
exec 2>&1
 
SMTP_server='smtp.163.com'    # SMTP服務(wù)器,變量值需要自行修改
username='zabbix@163.com'     # 用戶名,變量值需要自行修改
password='zabbix'             # 密碼,變量值需要自行修改
from_email_address='zabbix@163.com' # 發(fā)件人Email地址,變量值需要自行修改
to_email_address="$1"               # 收件人Email地址,zabbix傳入的第一個(gè)參數(shù)
message_subject_utf8="$2"           # 郵件標(biāo)題,zabbix傳入的第二個(gè)參數(shù)
message_body_utf8="$3"              # 郵件內(nèi)容,zabbix傳入的第三個(gè)參數(shù)
 
# 轉(zhuǎn)換郵件標(biāo)題為GB2312,解決郵件標(biāo)題含有中文,收到郵件顯示亂碼的問題。
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"
 
# 轉(zhuǎn)換郵件內(nèi)容為GB2312,解決收到郵件內(nèi)容亂碼
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"
 
# 發(fā)送郵件
sendEmail='/usr/local/bin/sendEmail'
set -x
$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

然后執(zhí)行下面的命令,設(shè)置腳本和日志文件權(quán)限:

shell# touch /tmp/Email.log
shell# chown zabbix:zabbix /tmp/Email.log
shell# chown zabbix:zabbix /etc/zabbix/alertscripts/SendEmail.sh
shell# chmod +x /etc/zabbix/alertscripts/SendEmail.sh

3.測(cè)試發(fā)送郵件
shell# /etc/zabbix/alertscripts/SendEmail.sh xxxxxx@qq.com "測(cè)試郵件標(biāo)題" "測(cè)試郵件內(nèi)容"

ok

三、配置Email告警方式
選擇【Administration】->【Media types】,進(jìn)入告警方式配置界面,創(chuàng)建Email告警方式,如下圖:

注意,"Type"選擇Script類型,"Script name"填寫上面創(chuàng)建的腳本名。

四、配置用戶的郵箱地址
選擇【Administration】->【Users】,進(jìn)入用戶配置界面,在"Media"選項(xiàng)卡中配置用戶接收告警的郵箱地址。點(diǎn)擊"Add",在彈出的窗口中輸入用戶郵箱,見下圖:

image.png

五、定義action
進(jìn)入告警動(dòng)作配置界面(Actions),創(chuàng)建新的action。
具體配置給出官方鏈接:https://www.zabbix.com/documentation/2.2/manual/config/notifications/action
這里只介紹告警標(biāo)題和內(nèi)容的配置,如下圖:

image.png

zabbix默認(rèn)的告警內(nèi)容不豐富,信息不足,所以把我的配置介紹給大家,大家可以參照修改:
<pre>
告警主機(jī):{HOST.NAME}
主機(jī)IP: {HOST.IP}
告警時(shí)間:{EVENT.DATE} {EVENT.TIME}
告警等級(jí):{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
事件ID: {EVENT.ID}
</pre>
收到的告警郵件示例:

image.png

本文出自 “啟程的Linux博客” 博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.寫在前面 本文主要介紹的是zabbix的編譯安裝過程,包含它的基礎(chǔ)環(huán)境LNMP,雖然zabbix官方一般推薦的...
    天之藍(lán)色閱讀 2,658評(píng)論 0 16
  • 本配置文檔是zabbix3.04使用外部SMTP郵箱時(shí)zabbixserver端的配置文檔,整理以備下次查看 一、...
    think_lonely閱讀 1,039評(píng)論 0 0
  • Zabbix簡(jiǎn)介 Zabbix官方網(wǎng)站Zabbix中文文檔 本文系統(tǒng)環(huán)境是CentOS7x86_64, Zabbi...
    Zhang21閱讀 8,305評(píng)論 0 37
  • 1. 安裝mailx 服務(wù) 通過mailx 配置好外部SMTP服務(wù)器相關(guān)信息發(fā)送郵件(這里是配置發(fā)信的地址): y...
    獨(dú)云閱讀 1,236評(píng)論 0 0
  • Zabbix簡(jiǎn)介 Zabbix 近幾年得到了各大互聯(lián)網(wǎng)公司的認(rèn)可,當(dāng)然第一點(diǎn)歸功與它強(qiáng)大的監(jiān)控功能,第二點(diǎn)免費(fèi)開源...
    OneAPM閱讀 1,666評(píng)論 1 12

友情鏈接更多精彩內(nèi)容