系统管理员能够使用租户配置文件为多个租户配置通用设置。每个租户在单个时间点都拥有唯一的个人资料。
让我们一一查看租户配置文件中的可用设置。
配置文件配置
这些设置允许系统管理员配置对租户创建的实体数量的限制,设置每月最大消息数、API 调用数的限制,配置平台应为特定设备(设备)处理的最大请求数。 -级别)或属于单个租户(租户级别)的所有设备等。
下面让我们更多地考虑这些设置
实体限制
这组设置允许系统管理员配置每个租户能够创建的最大实体数。
ThingsBoard 社区版支持以下实体的限制:设备、仪表板、资产、用户、客户和规则链。
ThingsBoard 专业版支持对上面列出的所有内容的限制,以及对以下实体的附加约束支持:集成、转换器和调度程序事件。
API 限制和使用
这组设置允许系统管理员配置每个租户每月想要执行的最大消息数、API 调用等。 ThingsBoard 不断收集和分析有关 API 使用情况的统计数据。统计数据的典型更新间隔为1分钟
ThingsBoard 跟踪六个主要组件的 API 使用情况:传输、规则引擎、JS 函数、遥测持久性、电子邮件和 SMS 服务。如果相关 API 限制之一达到阈值,平台将禁用该组件。例如,如果租户设备每月产生超过 100M 消息,平台将禁用属于该租户的设备的所有连接。当 API 使用被禁用或达到特定阈值(通常为 80%)时,ThingsBoard 将通过电子邮件通知租户管理员。
让我们分别回顾一下每个限制:
规则引擎执行是指属于当前租户的规则节点的任何执行。处理单个遥测消息可能会导致多个规则引擎执行。平台还会统计Generator节点等产生的周期性消息。
传输消息是指您的设备发送到服务器的任何消息。这可能是遥测、属性更新、RPC 调用等。
传输数据点是指遥测或属性消息包含的许多键值对。例如,下面列出的消息包含 5 个数据点,因为“jsonKey”对应 1 个数据点。
{
"stringKey":"value1",
"booleanKey":true,
"doubleKey":42.0,
"longKey":73,
"jsonKey": {
"someNumber": 42,
"someArray": [1,2,3],
"someNestedObject": {"key": "value"}
}
}
avaScript 执行是指租户管理员定义的自定义函数的任何执行。例如,“脚本”过滤器或转换节点的处理、数据转换器的调用等。
数据点存储天数是针对数据库中存储的所有时间序列数据点计算的。平台将数据点的数量乘以这些数据点的存储天数。 TTL参数用于提取存储数据的天数。例如,如果您存储 3 个数据点 30 天,则为 90 个存储数据点天。系统管理员可以使用租户配置文件中的“默认存储 TTL 天”参数来配置默认 TTL。租户管理员可以使用“ Save Timeseries ”ule 节点配置或使用后遥测请求中的“TTL”参数来覆盖默认 TTL。
警报 TTL表示警报在数据库中存储的天数。
发送的告警数是指一段时间内(默认1个月)创建的告警总数。
发送的电子邮件数是指使用系统 SMTP 提供程序(设置)从规则引擎发送的电子邮件数。请注意,租户管理员可以在平台的社区版和专业版中定义自定义 SMTP 设置。使用自定义 SMTP 设置发送的电子邮件不会影响 API 限制。
发送的短信是指使用系统短信提供商从规则引擎发送的短信数量。请注意,租户管理员可以在平台的社区版和专业版中定义自定义短信提供商设置。使用自定义 SMTP 设置发送的短信不会影响 API 限制。
API 使用仪表板
作为租户管理员,您可以查看 API 使用情况仪表板。下面的仪表板允许租户管理员详细了解其每小时/每天/每月的 API 使用情况,并立即查看 API 限制的状态。
文件限制
系统管理员可以配置单个文件的最大大小、“图库”中的图片文件和“资源库”中的资源文件的最大总大小以及平台允许的OTA包文件的最大总大小可以存储在数据库中。
值以字节为单位指定。
速率限制
这组设置允许系统管理员配置平台应为特定设备(设备级)或属于单个租户(租户级)的所有设备处理的最大请求数。速率限制的实现是基于令牌桶算法的。
速率限制定义由值和时间间隔组成。例如,“1000:60”表示“每 60 秒不超过 1000 条消息”。您可以使用“,”定义多个间隔。例如,“100:1,1000:60”表示“每秒突发 100 条消息,但每 60 秒不超过 1000 次”。
在隔离的 ThingsBoard 规则引擎队列中进行处理
ThingsBoard 规则引擎是集群中的主要“工作者”,负责处理传入的消息。
默认情况下,所有消息(例如遥测、连接和生命周期事件)都会推送到同一消息队列/主题(由 Kafka、RabbitMQ、AWS SQS、Azure 服务总线、Google Pub/Sub 提供支持)。当隔离处理被禁用(默认)时,ThingsBoard 会将所有租户的消息推送到公共队列。
当您选择为特定租户隔离处理时,ThingsBoard 会将消息推送到单独的队列。这为这些租户提供了更好的隔离级别。您需要创建启用“使用独立的 ThingsBoard 规则引擎队列”框的租户配置文件并分配给特定租户,或更新现有租户配置文件。这将指示规则引擎订阅包含相应租户数据的特定消息队列主题。
您还可以设置一个单独的规则引擎实例,该实例仅负责特定租户配置文件的租户。
隔离租户的队列配置
步骤 1. 打开租户配置文件菜单并添加新的租户配置文件。单击“隔离的ThingsBoard RuleEngine”框,默认添加主队列,并且无法重命名或删除。
步骤2.如果需要添加新的自定义队列,请单击“添加队列”。
步骤 3. 配置提交和处理设置。
步骤 4. 现在租户配置文件已准备好分配给特定租户。