open-falcon之使用mail-provider發郵件(支持smtp SSL協議)
一、首先確定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 ./...然後
因為也沒有學過go語言,所以猜大概原因就是上述的方法有誤,逗號沒有替換成功,直接用逗號來分割傳入的郵箱號。
註意:
當安裝好,使用curl測試時出現address format error錯誤,說明go語言環境沒有配置好,重新安裝配置go語言環境,重新編譯即可。
open-falcon之使用mail-provider發郵件(支持smtp SSL協議)