1、安裝軟件html
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gzlinux
建立目錄centos
mkdir /usr/local/binbash
解壓軟件服務器
tar zxf sendEmail-v1.56.tar.gz -C /usr/src網絡
進入目錄dom
cd /usr/src/sendEmail-v1.56ide
複製文件,並設置權限測試
cp -a sendEmail /usr/local/bin字體
chmod +x /usr/local/bin/sendEmail
安裝組件
yum install perl-Net-SSLeay perl-IO-Socket-SSL -y
進入zabbix自定義的指定目錄
能夠查看zabbix_server.conf配置文件AlertScriptsPath變量是如何定義的。
cd /usr/local/zabbix/alertscripts/
編輯腳本
cat sendmail.sh #! /bin/bash # to=$1 subject=$2 body=$3 /usr/local/bin/sendEmail -f q865158909@163.com -t "$to" -s smtp.163.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu q865158909@163.com -xp wb513692 -m "$body"
說明:
上面有4個地方我用紫色加粗字體表示了
a@domain.com 表示發件人郵箱
smtp.exmail.qq.com 表示郵箱的smtp服務器,由於我是用的騰訊企業郵箱。若是是其餘郵箱,須要修改
password 表示發件人郵箱密碼
編輯完成後,給腳本權限
chmod +x sendEmail.sh
chown zabbix.zabbix sendEmail.sh
手動執行一次腳本,後面的參數分別對應接收人,主題,內容
./sendEmail.sh c@domain.com test 123
登陸c@domain.com的帳戶,查看郵件是否能夠收到
若是腳本執行沒有報錯,收不到郵件的話,請檢查linux網絡問題,iptables、selinux是否關閉。
在測試腳本發送郵件失敗出現以下問題:
sendEmail報錯:at /usr/share/perl5/vendor_perl/IO/Socket/SSL.pm
centos7.2默認是 perl的版本是5.16,centos6.5的是5.10,後來把7的版本換成5.10,就能夠正常發郵件了。
#### perl安裝 wget http://www.cpan.org/src/5.0/perl-5.10.0.tar.gz tar -zxf perl-5.10.0.tar.gz cd perl-5.22.0 ./configure.gnu -des -Dprefix=/usr/local/perl echo $? make make test make install mv /usr/bin/perl /usr/bin/perl.bak ln -s /usr/local/perl/bin/perl /usr/bin/perl perl -v
2、進入zabbix安裝界面配置
1.點擊管理->報警媒介類型 點擊最右邊的建立媒體類型
輸入腳本名稱,類型選擇腳本
添加如下3個參數,分別對應sendEmail.sh腳本須要的3個參數:收件人地址、主題、詳細內容
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
2. 點擊Admin用戶
選擇郵件報警
3.點擊用戶羣組
點權限->添加
選擇全部
點擊更新
點擊配置->動做 點擊默認的動做
點擊動做->編輯
zabbix服務端出現郵件發送失敗
Zabbix監控之郵件發送失敗-smtp-server: 錯誤代碼550與535
1. 查找兩個郵箱的配置
發現兩個郵箱的POP3/SMTP/IMAP的狀態不一致,因而開通qixin_monitor@163.com的客戶端受權密碼。
2. 開通客戶端受權密碼
修改持續時間爲60秒
修改步驟爲3,表示觸發3次動做
選擇用戶Admin
選擇僅送到sendEmail.sh
點擊更新
解釋:默認的步驟是1-1,也便是從1開始到1結束。一旦故障發生,就是執行sendEmail.sh腳本發生報警郵件給Admin用戶和zabbix administrator組。
假如故障持續了1個小時,它也只發送一次。若是改爲1-0,0是表示不限制.無限發送
間隔就是默認持續時間60秒。那麼一個小時,就會發送60封郵件。