Zabbix sendEmail的部署步驟

1、爲何要自定義郵件腳本報警?
靈活,方便。能夠自定義過濾信息。
下面是使用不一樣方式的郵件報警,一個是利用sendEmail程序來發送報警郵件,第二個是利用python腳原本發送郵件。
2、sendEmail的部署步驟
1.官方介紹:http://caspian.dotconf.net/menu/Software/SendEmail/
2.先下載安裝包到本地,解壓。
[root@zabbix-6 ~]# wget -c http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
[root@zabbix-6 ~]# tar zxf sendEmail-v1.56.tar.gz
[root@zabbix-6 ~]# cd sendEmail-v1.56
[root@zabbix-6 sendEmail-v1.56]# cp -a sendEmail /usr/local/bin/
[root@zabbix-6 sendEmail-v1.56]# chmod +x /usr/local/bin/sendEmail
[root@zabbix-6 sendEmail-v1.56]# file /usr/local/bin/sendEmail
/usr/local/bin/sendEmail: a /usr/bin/perl -w script text executable
3.看下sendemail命令的幫助信息
[root@zabbix-6 sendEmail-v1.56]# /usr/local/bin/sendEmail

sendEmail-1.56 by Brandon Zehm <caspian@dotconf.net>

Synopsis:  sendEmail -f ADDRESS [options]

  Required:
    -f ADDRESS                from (sender) email address
    * At least one recipient required via -t, -cc, or -bcc
    * Message body required via -m, STDIN, or -o message-file=FILE

  Common:
    -t ADDRESS [ADDR ...]     to email address(es)
    -u SUBJECT                message subject
    -m MESSAGE                message body
    -s SERVER[:PORT]          smtp mail relay, default is localhost:25

  Optional:
    -a   FILE [FILE ...]      file p_w_upload(s)
    -cc  ADDRESS [ADDR ...]   cc  email address(es)
    -bcc ADDRESS [ADDR ...]   bcc email address(es)
    -xu  USERNAME             username for SMTP authentication
    -xp  PASSWORD             password for SMTP authentication

  Paranormal:
    -b BINDADDR[:PORT]        local host bind address
    -l LOGFILE                log to the specified file
    -v                        verbosity, use multiple times for greater effect
    -q                        be quiet (i.e. no STDOUT output)
    -o NAME=VALUE             advanced options, for details try: --help misc
        -o message-content-type=<auto|text|html>
        -o message-file=FILE         -o message-format=raw
        -o message-header=HEADER     -o message-charset=CHARSET
        -o reply-to=ADDRESS          -o timeout=SECONDS
        -o username=USERNAME         -o password=PASSWORD
        -o tls=<auto|yes|no>         -o fqdn=FQDN


  Help:
    --help                    the helpful overview you're reading now
    --help addressing         explain addressing and related options
    --help message            explain message body input and related options
    --help networking         explain -s, -b, etc
    --help output             explain logging and other output options
    --help misc               explain -o options, TLS, SMTP auth, and more
4.安裝下依賴
[root@zabbix-6 sendEmail-v1.56]# yum install perl-Net-SSLeay perl-IO-Socket-SSL -y
5.簡單的報警腳本mail
新建[root@zabbix]#mkdir   /usr/lib/zabbix/alertscripts/
[root@zabbix-6 sendEmail-v1.56]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix-6 alertscripts]# cat mail.sh#!
#!/bin/bash
SMTP_server='smtp.163.com'    # SMTP服務器
username='zabbix@163.com'     # 用戶名
password='zabbix'             # 密碼(163客戶端受權密碼)
from_email_address='zabbix@163.com' # 發件人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/local/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

測試郵件可否發送
/usr/lib/zabbix/alertscripts/mail.sh 704219265@qq.com "測試主題" "測試內容"
編輯完成後,給腳本權限
[root@zabbix-6 alertscripts]# chmod +x mail.sh
[root@zabbix-6 alertscripts]# chown zabbix.zabbix mail.sh
設置Zabbix用戶報警郵箱地址
打開Zabbix—管理-示警媒介類型-建立媒體類型
名稱:Sendmail
類型:腳本
腳本名稱:sendmail.sh
已啓用:勾選
添加
添加如下三個須要的3個參數:收件人地址、主題、詳細內容
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
 
管理-用戶-Admin (Zabbix Administrator)
切換到示警媒介-添加
類型:Sendmail
收件人:xxx@xxx.com
其餘默認便可,也可
以根據須要設置
狀態:已啓用
添加—更新
 
設置Zabbix觸發報警的動做
配置-動做-建立動做
名稱:Action-Email
默認接收人:故障PROBLEM,服務器:{HOSTNAME1}:{HOST.CONN}發生: {TRIGGER.NAME}故障!
默認信息:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢復信息:打鉤
恢復主旨:恢復OK, 服務器:{HOSTNAME1}:{HOST.CONN}的 {TRIGGER.NAME}已恢復!
恢復信息:
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
已啓用:打鉤
 
切換到操做選項
新的
操做類型:送出信息
送到用戶:添加
默認信息:打鉤
選擇用戶:Admin
選擇
僅送到:Sendmail
添加
 
模擬下,把其中一個zabbix-agent 服務關掉
[root@iZ25pvjcsyhZ ~]# service zabbix_agentd stop
Shutting down zabbix_agentd: [ OK ]

html

相關文章
相關標籤/搜索