INFO-N9E短信告警配置

适用模块/版本

N9E

具体说明

N9E 配置短信告警

使用示例

需要客户侧提供:

短信接口地址
auth-key
auth-name
1、在ops上机器使用以下命令测试网络是否通
curl -v -X POST "http://***" \
  -H "Content-Type: application/json" \
  -H "auth-key: ***" \
  -H "auth-name: ***" \
  -d '{
    "phoneNumber": "188***",
    "templateCode": "0",
    "contents": ["1234", "5分钟"]
  }'
可以发送成功往下进行,不成功联系客户打通网络权限 2、修改n9e短信相关配置
#修改相关配置,新增sms选项,ops机器
cd /home/easyops/easyops/n9e-current/n9eetc.temp/
vi webapi.conf

INFO-N9E短信告警配置 - 图1

#新增sms.tpl
cd /home/easyops/easyops/n9e-current/n9eetc.temp/template
cp feishu.tpl sms.tpl

INFO-N9E短信告警配置 - 图2

#完善send_sms方法
cd /home/easyops/easyops/n9e-current/n9eetc.temp/script/
vi notify.py

users = payload.get('event').get("notify_users_obj")
        phones = []
        for u in users:
            if u.get("phone"):
                phone = str(u.get("phone")).strip()
                if phone:
                    phones.append(phone)

        if not phones:
            return

        sms_content = payload.get('tpls').get("sms.tpl", "sms.tpl not found")


        auth_key = "***"
        auth_name = "***"
        url = "http://***"

        opener = urllib2.build_opener(urllib2.HTTPHandler())
        method = "POST"


        for phone in phones:
            body = {
                "phoneNumber": phone,
                "templateCode": "0",
                "contents": [sms_content],
                "limit": True,
                "second": 60
            }

            request = urllib2.Request(url, data=json.dumps(body))
            request.add_header("Content-Type", "application/json;charset=utf-8")
            request.add_header("auth-key", auth_key)
            request.add_header("auth-name", auth_name)
            request.get_method = lambda: method

            try:
                connection = opener.open(request)
                print(connection.read())
            except urllib2.HTTPError, error:
                print(error)
4、重启N9E
cd /home/easyops/easyops/n9e-current
./stop.sh
./run.sh


5、创建用户,填入用户手机号
INFO-N9E短信告警配置 - 图3
将用户添加进团队
INFO-N9E短信告警配置 - 图4
开启sms通知,因为是新增的,所有规则都要打开
INFO-N9E短信告警配置 - 图5
注:可以克隆一条告警规则,将promql修改为相反的判断逻辑触发告警,或者把报警阈值调小,测试短信是否可以发送成功。发送不成功docker logs n9e相关容器查看报错日志。

作者:楚展航