1. 程式人生 > >open-falcon之使用mail-provider發郵件(支持smtp SSL協議)

open-falcon之使用mail-provider發郵件(支持smtp SSL協議)

ans 服務器 有一個 code var clone 安裝 安裝mail 端口

一、首先確定go語言安裝環境配置好

1.進入官網下載源碼包

https://golang.org/dl/

2.解壓縮,配置環境變量

在/etc/profile最後加上export PATH=$PATH:/usr/local/go/bin(此處解壓至/usr/local/目錄下)

source /etc/profile生效

3.go version查看安裝版本

二、安裝mail-provider
1.二進制安裝
下載編譯好的二進制
wget http://cactifans.hi-www.com/open-falcon/mail-provider.tar.gz
mkdir -p mail-provider
tar zxvf mail-provider.tar.gz -C mail-provider


cd mail-provider

修改cfg.json文件相關信息,使用
./control start
即可啟動客戶端

2.源碼編譯方法:

cd $GOPATH/src
mkdir github.com/open-falcon/ -p
cd github.com/open-falcon/
git clone https://github.com/open-falcon/mail-provider.git
cd mail-provider
go get ./...
./control build

測試是否成功使用:curl http://$ip:4000/sender/mail -d "[email protected],[email protected]&subject=xx&content=yy"

參考https://github.com/open-falcon/mail-provider/pull/17/commits/e322fcb11c634d562a768cfd9e296fb580e5d1d1

由於本人使用阿裏雲服務器,禁了25端口,所以只能使用基於SSL協議的smtp 465端口,但是上述方法有一個地方錯誤,導致不能同時發送多個郵件,告警也就不能發送。

錯誤如下所示,當把逗號改為分號時,此處測試就成功了:

技術分享圖片

所以需要查看修改mail-provider/http/mail.go文件,再重新編譯即可。

技術分享圖片

重新編譯的話參考上述,cd mail-provider,重新go get ./...然後

./control build,重新啟動即可。

因為也沒有學過go語言,所以猜大概原因就是上述的方法有誤,逗號沒有替換成功,直接用逗號來分割傳入的郵箱號。

註意:

當安裝好,使用curl測試時出現address format error錯誤,說明go語言環境沒有配置好,重新安裝配置go語言環境,重新編譯即可。

open-falcon之使用mail-provider發郵件(支持smtp SSL協議)