zabbix 經過smtp 郵件報警

注:sendemail 不是sendmail....sendemail是用perl語言寫的一個smtp發郵件的小程序....詳情可自行查閱.....小程序

1. media
  用戶配置下的media.
  Administration--->Users--->users(右側)or create user--->Mediat 添加郵件地址...(接收的郵件地址)bash

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 (腳本存放目錄路徑,你也能夠修改爲其餘路徑,注意權限)
測試

    這裏有2個腳本:
      第一個是zabbix調用的發送郵件的腳本. 他會調用第二個腳本去發送郵件.(Media types的script name:)
      第二個是perl 寫的sendemail專門用來經過smtp發送郵件的.
第一個腳本:  
this

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

# 轉換郵件標題爲GB2312,解決郵件標題含有中文,收到郵件顯示亂碼的問題。
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"

# 轉換郵件內容爲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"

# 發送郵件
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

這個腳本解釋的很詳細我就不解釋了...
這裏的用戶名和密碼是發件人的,,這個是經過SMTP發送郵件,有些人可能不懂,就和outlook差很少。能夠使用QQ,163任何一個提供了SMTP的郵箱公司郵箱也能夠。要修改的就是smtp,用戶名,密碼,發件人的郵箱。。。。smtp能夠去郵箱提供商獲取,或者百度。。。spa

還有腳本要加權限.net

chmod +x  sendemail.shcode

 

第二個腳本:http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz(不是sendmail,這個是perl 寫的一個使用smtp發送郵件的腳本)server

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

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

將裏邊的sendEmail 複製到/usr/bin/

而後測試第一個腳本

/etc/zabbix/alertscripts/sendemail.sh test@qq.com zabbixtest " this is zabbix test mail ! "
若是能收到說明這兩個腳本都沒問題

3. Actions
  當觸發tiggers時發生的動做...這就是發送郵件的入口
  Configuration --> Actions --> Create action

懶得寫我直接就上圖了!

name: 就是名字
Default subject : 郵件標題的格式
Default message: 郵件內容
Recovery message: 這個是當報警回覆正常發送郵件的內容. 這些變量都是系統定義好.你能夠引用 也能夠本身定義變量.

這個是發送郵件的一些條件,這個好像本身改過,按本身的需求來

新建默認是沒有的 咱們new 一個新的.

From to 好像是發送次數.setp間隔時間

operation type 是send message

發送給用戶仍是組.

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

先點上邊的Add 而後點下邊的Add

這樣基本就完成了..

相關文章
相關標籤/搜索