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 "tos=a@a.com,b@b.com&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语言环境,重新编译即可。

 

posted @ 2018-10-26 18:06  风住  阅读(1338)  评论(0编辑  收藏  举报