IoT 物联网平台:监控告警详解(一)
阿里云IoT物联网平台作为一款公有云产品,对设备连接频率,数据上报频率,下行指令频率,消息流转频率都做了基础的使用限制。
完整使用限制文档,请参阅:
https://help.aliyun.com/document_detail/30527.html
既然云产品设置了使用限制,那么当我们使用IoT物联网平台时,一旦触发了限制条件,就期望立刻感知到异常,以便做相应业务调整。
通过阅读IoT 物联网平台产品文档,我们得知以下使用限制在云监控产品 事件监控 中会生成 系统事件 ,这样我们就可以配置相应告警规则,通过邮件,短信,钉钉等方式推送到运维人员手上。
云监控中IoT物联网平台的 系统事件:
-
单 账号每秒最大连接请求数达上限
-
单 账号每秒发布请求数达上限
-
单账号每秒到达规则引擎的请求数达上限
-
单 账号每秒发给设备的请求数达上限
-
任一设备上行消息QPS达上限
-
任一设备下行消息QPS达上限
云监控产品的事件监控配置分两部分: 报警规则和报警方式 。
我们通过一个案例讲解如何配置一条IoT物联网平台的系统事件告警。
创建事件报警
首先我们进入 云监控 控制台,左侧导航栏找到 事件监控 ,然后点击 报警规则 标签,点击 创建事件报警 按钮。
配置报警规则
事件类型我们选择 系统事件 ,产品类型选择 IoT ,事件名选择 任一设备上行消息QPS达到上限 。这样一条规则代表的含义就是当前账号下,任何一个IoT设备上报消息达到 QoS=0为30条/秒,或者QoS=1为10条/秒 阈值,就会触发IoT物联网平台限流,已经云监控的系统事件报警。
配置报警方式
我们选择通过 Info(邮箱+旺旺+钉钉机器人) 的方式通知到 IoT产品告警 群组里的成员。
点击确定,我们就创建了一条监控告警,并启用生效。
验证告警
我们在平台创建一个设备,通过模拟代码方式建立连接,频繁上报数据,来触发IoT物联网平台限流,云监控告警规则生效,在钉钉群组里收到告警消息。
模拟设备上报消息的代码:
const mqtt = require('aliyun-iot-mqtt'); //设备身份三元组 const options = { productKey: "产品pk", deviceName: "设备deviceName", deviceSecret: "设备deviceSecret", regionId: "cn-shanghai" }; //建立连接 const client = mqtt.getAliyunIotMqttClient(options); const topic = `/${options.productKey}/${options.deviceName}/user/update`; setInterval(function() { //发布数据到云端,触发限流 client.publish(topic, JSON.stringify({ msg: 'iot warning' }), { qos: 1 }); }, 50);
云平台监控记录