package
3.15.0+incompatible
Repository: https://github.com/crosserclaws/owl-backend.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

falcon-sender

alarm处理报警event可能会产生报警短信或者报警邮件,alarm不负责发送,只是把报警邮件、短信写入redis队列,sender负责读取并发 送。

各个公司有自己的短信通道,自己的邮件发送方式,sender如何调用各个公司自己的组件呢?那只能制定规范了,sender的配置文件 cfg.json中配置了api:sms和api:mail,即两个http接口,这是需要各个公司提供的。

当要发送短信的时候,sender就会调用api:sms中配置的http接口,post方式,参数是:

  • tos:用逗号分隔的多个手机号
  • content:短信内容

当要发送邮件的时候,sender就会调用api:mail中配置的http接口,post方式,参数是:

  • tos:用逗号分隔的多个邮箱地址
  • content:邮件正文
  • subject:邮件标题

Installation

# set $GOPATH and $GOROOT
mkdir -p $GOPATH/src/github.com/open-falcon
cd $GOPATH/src/github.com/open-falcon
git clone https://github.com/open-falcon/sender.git
cd sender
go get ./...
./control build
# vi cfg.json modify configuration
./control start

Configuration

  • redis: redis地址需要和alarm、judge使用同一个
  • queue: 维持默认即可,需要和alarm的配置一致
  • worker: 最多同时有多少个线程玩命得调用短信、邮件发送接口
  • api: 短信、邮件发送的http接口,各公司自己提供

How to debug

想知道 sender 是否可以正常運作,需要去查看 Redis 的狀態

redis-cli monitor

假設 redis 裡的 /sms 佇列是用來產生 sms 的 queue,用如下的方式可以直接在 redis 裡塞入資料。

redis-cli

127.0.0.1:6379> LPUSH /sms "{\"tos\":\"phone number\",\"content\":\"redis testing\"}"