| 3.2及以上版本 |
系统管理员可通过Tenant Profiles为多个tenant配置通用设置。 每个Tenant在同一时间点仅有一个profile。
下面逐项说明tenant profile中的可用设置。
配置配置
这些设置允许系统管理员配置tenant可创建的实体数量限制,设置每月最大消息数、API调用数等限制,配置平台应为特定device(device级)或属于同一tenant的所有device(tenant级)处理的最大请求数等。
下面进一步说明这些设置。
实体限制
该组设置允许系统管理员配置每个Tenant可创建的最大实体数。
ThingsBoard云平台 支持以下实体的限制:devices、dashboards、assets、users、integrations、scheduler events、customers、rule chains、converters。
API限制和使用
该组设置允许系统管理员配置每个Tenant每月可执行的最大消息数、API调用数等。 ThingsBoard持续收集并分析API使用统计。统计的典型更新间隔为1分钟。
ThingsBoard跟踪六个主要组件的API使用:Transport、Rule Engine、JS functions、Telemetry persistence、Email、SMS services。若任一相关API Limit达到阈值,平台将禁用该组件。 例如,若Tenant的device每月产生的消息超过100M,平台将禁用属于该Tenant的所有device的连接。 当API使用被禁用或达到某阈值(通常为80%)时,ThingsBoard将通过邮件通知Tenant管理员。
下面分别说明各项限制:
Rule Engine executions表示属于当前Tenant的rule node的每次执行。处理单条telemetry消息可能触发多次Rule Engine执行。 平台还会统计Generator node等产生的周期消息。
Transport Messages表示device发送到服务器的任何消息。可以是telemetry、attribute更新、RPC调用等。
Transport Data Points表示telemetry或attribute消息中包含的Key-Value对数量。 例如,以下消息包含5个data point,因为”jsonKey”对应一个data point。
1
2
3
4
5
6
7
8
9
10
11
{
"stringKey":"value1",
"booleanKey":true,
"doubleKey":42.0,
"longKey":73,
"jsonKey": {
"someNumber": 42,
"someArray": [1,2,3],
"someNestedObject": {"key": "value"}
}
}
JavaScript executions表示Tenant管理员定义的自定义函数的每次执行。例如,处理”Script” filter或transformation node、调用data converter等。
Data points storage days针对数据库中存储的time-series data point计算。 平台将data point数量乘以这些data point的存储天数。TTL参数用于提取存储天数。 例如,若存储3个data point 30天,则为90个data point storage days。 系统管理员可在tenant profile的”Default Storage TTL Days“参数中配置默认TTL。 Tenant管理员可通过”Save Timeseries” rule node配置或在post telemetry请求的”TTL”参数中覆盖默认TTL。
Alarms TTL表示alarm在数据库中的存储天数。
Alarms sent表示该周期(默认一个月)内创建的alarm总数。
Emails sent表示使用系统SMTP provider(settings)从rule engine发送的邮件数。 请注意,Tenant管理员可在Community和Professional版本中定义自定义SMTP设置。 使用自定义SMTP设置发送的邮件不计入API limits。
SMS sent表示使用系统SMS provider从rule engine发送的SMS数。 请注意,Tenant管理员可在Community和Professional版本中定义自定义SMS provider设置。 使用自定义SMTP设置发送的SMS不计入API limits。
API Usage dashboard
作为Tenant管理员,您可查看API Usage dashboard。 下方dashboard允许Tenant管理员了解hourly/daily/monthly API使用情况,并实时查看API limits状态。
文件限制
系统管理员可配置单个文件的最大大小、”Image gallery“中图片文件的最大总大小、”Resource Library”中的资源文件最大总大小,以及平台可在数据库中存储的OTA package files最大总大小。
数值以bytes为单位。
传输速率限制
该组设置允许系统管理员配置平台应为特定device(device级)或属于同一tenant的所有device(tenant级)处理的最大请求数。 Rate limit基于token bucket算法实现。
Rate limit定义由数值与时间间隔组成。例如,”1000:60”表示”60秒内不超过1000条消息”。 可用”,”定义多个间隔。例如,”100:1,1000:60”表示”每秒100条突发,但60秒内不超过1000次”。
隔绝的ThingsBoard规则引擎队列中的处理
ThingsBoard Rule Engine是集群中的主要”工作单元”,负责处理入站消息。
默认情况下,所有消息(如telemetry、connectivity、lifecycle事件)推送到同一message queue/topic(由Kafka、RabbitMQ、AWS SQS、Azure Service Bus、Google Pub/Sub支持)。 当禁用isolated processing(默认)时,ThingsBoard将来自所有Tenant的消息推送到公共queue。
当您为特定tenant选择isolated处理时,ThingsBoard将消息推送到独立queue。 这为这些tenant提供更好的隔离。您需创建启用”Use isolated ThingsBoard Rule Engine queues”的tenant profile, 并分配给特定Tenant,或更新现有tenant profile。 这将指示Rule Engine订阅包含对应tenant数据的特定message queue topic。
您还可配置单独处理特定tenant profile的tenant的Rule Engine实例。 参见configuration parameters。
隔绝租户的队列配置
- 步骤 1:打开租户档案菜单并添加新租户档案。勾选「isolated ThingsBoard RuleEngine」框,主队列默认添加且不可重命名或删除。
- 步骤 2:如需添加新的自定义队列,请点击「添加队列」。
- 步骤 3:配置提交和处理设置。
- 步骤 4:租户档案现已可分配给特定租户。
为特定tenant分配tenant profile后,配置的queue会自动创建并启动,可立即在rule chain或device profile中使用。
更多queue设置参见guide