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);

云平台监控记录

钉钉群监控告警消息

延伸阅读:

1. 通过IoT物联网平台发送指令控制设备

2. 小程序+IoT物联网平台