ThingsKit开发指南-配置文件说明(后端)

概述

此参数说明为部分常用参数说明

数据加密传输(SSL/TLS)

核心服务配置

环境变量默认值描述
SSL_ENABLEDfalse启用/禁用 SSL 支持
SSL_CREDENTIALS_TYPEpem服务器凭据类型(PEM – pem 证书文件;KEYSTORE – java 密钥库)

PEM证书文件

环境变量默认值描述
SSL_PEM_CERTserver.pem服务器证书文件的路径(持有服务器证书或证书链,可能包括服务器私钥)
SSL_PEM_KEYserver_key.pem服务器证书私钥文件的路径(可选)
SSL_PEM_KEY_PASSWORDserver_key_password服务器证书私钥密码(可选)

KEYSTORE密钥库

环境变量默认值描述
SSL_KEY_STORE_TYPEPKCS12密钥库的类型
SSL_KEY_STOREclasspath:keystore/keystore.p12保存 SSL 证书的密钥库的路径
SSL_KEY_STORE_PASSWORDthingsboard用于访问密钥库的密码
SSL_KEY_ALIAStomcat密钥别名
SSL_KEY_PASSWORDthingsboard用于访问密钥库中密钥的密码

MQTT设备接入服务配置

环境变量默认值描述
MQTT_SSL_ENABLEDfalse启用/禁用 SSL 支持
MQTT_SSL_CREDENTIALS_TYPEpem服务器凭据类型(PEM – pem 证书文件;KEYSTORE – java 密钥库)

PEM证书文件

环境变量默认值描述
MQTT_SSL_PEM_CERTserver.pem服务器证书文件的路径(持有服务器证书或证书链,可能包括服务器私钥)
MQTT_SSL_PEM_KEYserver_key.pem服务器证书私钥文件的路径(可选)
MQTT_SSL_PEM_KEY_PASSWORDserver_key_password服务器证书私钥密码(可选)

KEYSTORE密钥库

环境变量默认值描述
MQTT_SSL_KEY_STORE_TYPEJKS密钥库的类型
MQTT_SSL_KEY_STOREclasspath:keystore/keystore.p12密钥库文件路径
MQTT_SSL_KEY_STORE_PASSWORDthingsboard密钥库密码
MQTT_SSL_KEY_ALIAStomcat密钥库内的证书别名
MQTT_SSL_KEY_PASSWORDthingsboard密钥库内证书的密码
MQTT_SSL_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERTtrue是否验证设备的x509证书有效性

核心、规则引擎参数配置

环境变量默认值描述
HTTP_BIND_ADDRESS0.0.0.0HTTP 服务器绑定地址
HTTP_BIND_PORT8080HTTP 服务器绑定端口
HTTP2_ENABLEDtrue启用/禁用 HTTP/2 支持
HTTP2_ENABLEDtrue启用/禁用 HTTP/2 支持(仅在启用服务器 SSL 时生效)
HTTP_LOG_CONTROLLER_ERROR_STACK_TRACEfalse当 REST API 抛出异常时使用堆栈跟踪记录错误
TB_SERVER_WS_DYNAMIC_PAGE_LINK_REFRESH_INTERVAL_SEC60动态告警端实体数据查询的刷新率。
TB_SERVER_WS_DYNAMIC_PAGE_LINK_REFRESH_POOL_SIZE1执行动态查询的线程池大小。
TB_SERVER_WS_DYNAMIC_PAGE_LINK_MAX_PER_USER10每个用户的最大动态查询数。例如,用户在所有浏览器中同时打开的警报小部件不超过 10 个。
TB_SERVER_WS_MAX_ENTITIES_PER_DATA_SUBSCRIPTION10000为单个实体订阅返回的最大实体数。例如,地图小部件上的实体不超过 10000 个。
TB_SERVER_WS_MAX_ENTITIES_PER_ALARM_SUBSCRIPTION10000单个警报订阅返回的最大警报数。例如,警报小部件上的警报不超过 10000 个。
TB_SERVER_REST_LIMITS_TENANT_ENABLEDfalse启用/禁用每个租户的 REST API 速率限制
TB_SERVER_REST_LIMITS_TENANT_CONFIGURATION100:1,2000:60在以秒为单位的指定时间间隔内,限制每台服务器上每个租户的最大 REST API 调用。逗号分隔的限制列表:秒对
TB_SERVER_REST_LIMITS_CUSTOMER_ENABLEDfalse启用/禁用每个客户的 REST API 速率限制
TB_SERVER_REST_LIMITS_CUSTOMER_CONFIGURATION50:1,1000:60在指定的时间间隔内限制每个服务器上每个客户的最大 REST API 调用(以秒为单位)。逗号分隔的限制列表:秒对
MIN_SERVER_SIDE_RPC_TIMEOUT5000服务器端 RPC 超时的最小值
DEFAULT_SERVER_SIDE_RPC_TIMEOUT10000服务器端 RPC 超时的默认值

API配置

环境变量默认值描述
TB_SERVER_REST_LIMITS_TENANT_ENABLEDfalse启用/禁用每个租户的 REST API 速率限制
TB_SERVER_REST_LIMITS_TENANT_CONFIGURATION100:1,2000:60在以秒为单位的指定时间间隔内,限制每台服务器上每个租户的最大 REST API 调用。逗号分隔的限制列表:秒对
TB_SERVER_REST_LIMITS_CUSTOMER_ENABLEDfalse启用/禁用每个客户的 REST API 速率限制
TB_SERVER_REST_LIMITS_CUSTOMER_CONFIGURATION50:1,1000:60在指定的时间间隔内限制每个服务器上每个客户的最大 REST API 调用(以秒为单位)。逗号分隔的限制列表:秒对
MIN_SERVER_SIDE_RPC_TIMEOUT5000服务器端 RPC 超时的最小值

实时数据(WebSocket)配置

环境变量默认值描述
TB_SERVER_WS_SEND_TIMEOUT5000以毫秒为单位向客户端 WebSocket 会话发送数据的超时时间
TB_SERVER_WS_PING_TIMEOUT30000以毫秒为单位向客户端 WebSocket PING的超时时间
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SESSIONS_PER_TENANT0限制每台服务器上每个租户的 WebSocket 会话数量。0值不限制
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SESSIONS_PER_CUSTOMER0限制每台服务器上每个客户可用的 WebSocket 会话数量。0值不限制
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SESSIONS_PER_REGULAR_USER0限制每台服务器上每个普通用户的 WebSocket 会话数量。0值不限制
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SESSIONS_PER_PUBLIC_USER0限制每台服务器上每个公共用户的 WebSocket 会话数量。0值不限制
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_QUEUE_PER_WS_SESSION500限制每个 WebSocket 会话的待处理消息队列的大小
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SUBSCRIPTIONS_PER_TENANT0限制每台服务器上每个租户的 WebSocket 订阅量。0值不限制
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SUBSCRIPTIONS_PER_CUSTOMER0限制每台服务器上每个客户可用的 WebSocket 订阅量。0值不限制
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SUBSCRIPTIONS_PER_REGULAR_USER0限制每台服务器上每个普通用户的 WebSocket 订阅量。0值不限制
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SUBSCRIPTIONS_PER_PUBLIC_USER0限制每台服务器上每个公共用户的 WebSocket 订阅量。0值不限制
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_UPDATES_PER_SESSION300:1,3000:60每个Session的WebSocket接口访问速率配置。例如:1秒访问300次,60秒访问3000次。
TB_SERVER_WS_DYNAMIC_PAGE_LINK_REFRESH_INTERVAL_SEC60动态告警端实体数据查询的刷新率。
TB_SERVER_WS_DYNAMIC_PAGE_LINK_REFRESH_POOL_SIZE1执行动态查询的线程池大小。
TB_SERVER_WS_DYNAMIC_PAGE_LINK_MAX_PER_USER10每个用户的最大动态查询数。例如,用户在所有浏览器中同时打开的警报小部件不超过 10 个。
TB_SERVER_WS_MAX_ENTITIES_PER_DATA_SUBSCRIPTION10000为单个实体订阅返回的最大实体数。例如,地图小部件上的实体不超过 10000 个。
TB_SERVER_WS_MAX_ENTITIES_PER_ALARM_SUBSCRIPTION10000单个警报订阅返回的最大警报数。例如,警报小部件上的警报不超过 10000 个。

Zookeeper 连接参数

环境变量默认值描述
ZOOKEEPER_ENABLEDfalse启用/禁用 zookeeper 发现服务。用于集群
ZOOKEEPER_URLlocalhost:2181Zookeeper 连接字符串
ZOOKEEPER_RETRY_INTERVAL_MS3000Zookeeper 重试间隔(以毫秒为单位)
ZOOKEEPER_CONNECTION_TIMEOUT_MS3000Zookeeper 连接超时(以毫秒为单位)
ZOOKEEPER_SESSION_TIMEOUT_MS3000Zookeeper 会话超时(以毫秒为单位)
ZOOKEEPER_NODES_DIR/thingsboardzookeeper“文件系统”中的目录名称

集群统计参数

环境变量默认值描述
TB_CLUSTER_STATS_ENABLEDfalse启用/禁用集群统计信息。根据每种类型计算集群节点之间发送的消息数。
TB_CLUSTER_STATS_PRINT_INTERVAL_MS10000将集群统计信息打印到日志文件的时间间隔。

软件性能监控(prometheus)

环境变量默认值描述
METRICS_ENABLED
METRICS_TIMER_PERCENTILES
METRICS_ENDPOINTS_EXPOSE
WEB_APPLICATION_ENABLE
WEB_APPLICATION_TYPE
HTTP_BIND_PORT

插件配置参数

环境变量默认值描述
PLUGINS_SCAN_PACKAGESorg.thingsboard.server.extensions,org.thingsboard.rule.engine在插件的类路径扫描期间使用的逗号分隔包列表

安全参数

环境变量默认值描述
JWT_TOKEN_EXPIRATION_TIME9000用户 JWT 令牌过期时间(以秒为单位)
JWT_REFRESH_TOKEN_EXPIRATION_TIME604800用户 JWT 刷新令牌过期时间(以秒为单位)
JWT_TOKEN_ISSUERthingsboard.ioUser JWT Token issuer
JWT_TOKEN_SIGNING_KEYthingsboardDefaultSigningKey用户 JWT 令牌签名密钥
SECURITY_USER_TOKEN_ACCESS_ENABLEDtrue启用/禁用系统管理员对租户管理员 JWT 令牌的访问或租户管理员对客户用户 JWT 令牌的访问
SECURITY_USER_LOGIN_CASE_SENSITIVEtrue启用/禁用区分大小写的用户名登录
SECURITY_CLAIM_ALLOW_CLAIMING_BY_DEFAULTtrue启用/禁用声明设备,如果为 false -> 设备的 [claimingAllowed] SERVER_SCOPE 属性必须设置为 [true] 以允许声明特定设备
SECURITY_CLAIM_DURATION86400000允许认领设备的时间(以毫秒为单位)。24小时。请注意此值必须等于 claimDevices.timeToLiveInMinutes 值
SECURITY_OAUTH2_LOGIN_PROCESSING_URL/login/oauth2/code/将处理来自外部用户管理系统的访问代码的重定向 URL

使用统计参数

环境变量默认值描述
USAGE_STATS_REPORT_ENABLEDtrue启用/禁用有关 API 使用情况的统计信息收集。默认情况下在系统和租户级别收集。
USAGE_STATS_REPORT_PER_CUSTOMER_ENABLEDfalse在客户级别启用/禁用有关 API 使用情况的统计信息收集。
USAGE_STATS_REPORT_INTERVAL10上报统计的时间间隔。默认情况下,汇总统计信息每 10 秒发送一次。
USAGE_STATS_CHECK_CYCLE60000检查下一个周期开始并重新启用被阻止的租户/客户的时间间隔。

界面参数

环境变量默认值描述
DASHBOARD_MAX_DATAPOINTS_LIMIT5000小部件获取的最大允许数据点

数据库(PgSql)配置

基础数据库配置

环境变量默认值描述
SQL_ATTRIBUTES_BATCH_SIZE10000持久属性更新的批量大小
SQL_ATTRIBUTES_BATCH_MAX_DELAY_MS100属性条目队列轮询的最大超时。以毫秒为单位设置的值
SQL_ATTRIBUTES_BATCH_STATS_PRINT_MS10000打印属性更新统计信息的时间间隔(以毫秒为单位)
SQL_ATTRIBUTES_BATCH_THREADS4执行属性批量插入/更新语句的线程数
SQL_TS_BATCH_SIZE10000持久时间序列插入的批量大小
SQL_TS_BATCH_MAX_DELAY_MS100时间序列条目队列轮询的最大超时。以毫秒为单位设置的值
SQL_TS_BATCH_STATS_PRINT_MS10000打印时间序列插入统计信息的时间间隔(以毫秒为单位)
SQL_TS_BATCH_THREADS4对时序数据执行批量insert/update语句的线程数
SQL_TS_LATEST_BATCH_SIZE10000用于持久保存最新遥测更新的批量大小
SQL_TS_LATEST_BATCH_MAX_DELAY_MS100最新遥测条目队列轮询的最大超时。设置的值以毫秒为单位
SQL_TS_LATEST_BATCH_STATS_PRINT_MS10000打印最新遥测更新统计数据的时间间隔(以毫秒为单位)
SQL_TS_LATEST_BATCH_THREADS4执行批量插入/更新最新数据语句的线程数
SQL_TS_UPDATE_BY_LATEST_TIMESTAMPtrue仅当新记录的时间戳大于或等于先前保存的最新值的时间戳时,才更新最新值。最新值与历史值分开存储,以便从数据库快速查找。无论如何,历史价值的插入都会发生。
SQL_BATCH_SORTfalse指定批量更新前是否对实体进行排序。应启用集群模式以避免死锁
SQL_REMOVE_NULL_CHARStrue指定在插入之前是否从属性和时间序列的 strValue 中删除空字符
SQL_LOG_QUERIESfalse记录慢速 SQL 查询。使用 SQL_LOG_QUERIES_THRESHOLD 阈值确定慢查询
SQL_LOG_QUERIES_THRESHOLD5000要记录的慢 SQL 查询的阈值。
SQL_POSTGRES_TS_KV_PARTITIONING月数指定时间戳键值存储的分区大小。示例:天、月、年、不定
SQL_RELATIONS_MAX_LEVEL50该值必须足够小,以尽早防止无限递归

历史数据存储配置

环境变量默认值描述
DATABASE_TS_MAX_INTERVALS700单个 API 调用生成的用于获取遥测记录的最大数据库查询数
DATABASE_TS_TYPEsqlCassandra、sql或timescale(对于混合模式,DATABASE_TS_TYPE值应为cassandra或timescale)
DATABASE_TS_LATEST_TYPEsqlCassandra、sql或timescale(对于混合模式,DATABASE_TS_TYPE值应为cassandra或timescale)

sql(3选1)

无需timescale插件,通过java程序管理分区分表信息。

timescale(3选1)

需要postgresql的timescale插件。使用timescale插件管理分区分表。

环境变量默认值描述
SQL_TIMESCALE_CHUNK_TIME_INTERVAL604800000时序数据库分区时间间隔
SQL_TIMESCALE_BATCH_THREADS3时序数据库进行批量操作(插入/更新语句)的并发线程数。

cassandra(3选1)

环境变量默认值描述
CASSANDRA_CLUSTER_NAMEThingsboard Cluster集群名称
CASSANDRA_KEYSPACE_NAMEthingsboard键空间名称
CASSANDRA_URL127.0.0.1:9042指定节点列表
CASSANDRA_LOCAL_DATACENTERdatacenter1指定本地数据中心名称
CASSANDRA_USE_SSLfalse启用/禁用安全连接
CASSANDRA_SSL_HOSTNAME_VALIDATIONtrue启用/禁用 Cassandra 服务器主机名的验证。如果启用,Cassandra 服务器的主机名必须与服务器证书的 CN 匹配
CASSANDRA_SSL_TRUST_STORE为服务器的客户端身份验证设置信任库(可选,如果未设置,则使用默认 SSLContext 中的信任库)
CASSANDRA_SSL_TRUST_STORE_PASSWORDCassandra 信任库的密码
CASSANDRA_SSL_KEY_STORE为客户端的服务器身份验证设置密钥库(可选,如果未设置,则使用默认 SSLContext 中的密钥库)。仅当 Cassandra 服务器需要客户端身份验证时才需要密钥库
CASSANDRA_SSL_KEY_STORE_PASSWORDCassandra 密钥库的密码
CASSANDRA_SSL_CIPHER_SUITES逗号分隔的密码套件列表(可选,如果未设置,则使用 Java 默认密码套件)
CASSANDRA_USE_JMXfalseE启用/禁用 JMX
CASSANDRA_USE_METRICSfalse启用/禁用指标收集
CASSANDRA_COMPRESSIONnone压缩算法(none,snappy,lz4)
CASSANDRA_CLUSTER_INIT_TIMEOUT_MS300000以毫秒为单位指定 cassandra 集群初始化超时(如果在启动期间没有主机可用)
CASSANDRA_CLUSTER_INIT_RETRY_INTERVAL_MS3000指定 cassandra cluster 初始化重试间隔(如果在启动期间没有主机可用)
CASSANDRA_MAX_REQUESTS_PER_CONNECTION_LOCAL32768Cassandra 每个连接的最大本地请求数
CASSANDRA_MAX_REQUESTS_PER_CONNECTION_REMOTE32768Cassandra 每个连接的最大远程请求数
CASSANDRA_USE_CREDENTIALSfalse凭证参数(为ture,使用下面的用户名、密码)
CASSANDRA_USERNAME用户名
CASSANDRA_PASSWORD密码
CASSANDRA_SOCKET_TIMEOUT5000通用 Cassandra 驱动程序参数
CASSANDRA_SOCKET_READ_TIMEOUT20000通用 Cassandra 驱动程序参数
CASSANDRA_SOCKET_KEEP_ALIVEtrue通用 Cassandra 驱动程序参数
CASSANDRA_SOCKET_REUSE_ADDRESStrue通用 Cassandra 驱动程序参数
CASSANDRA_SOCKET_SO_LINGER通用 Cassandra 驱动程序参数
CASSANDRA_SOCKET_TCP_NO_DELAYfalse通用 Cassandra 驱动程序参数
CASSANDRA_SOCKET_RECEIVE_BUFFER_SIZE通用 Cassandra 驱动程序参数
CASSANDRA_SOCKET_SEND_BUFFER_SIZE通用 Cassandra 驱动程序参数
CASSANDRA_READ_CONSISTENCY_LEVELONECassandra 读取一致性级别
CASSANDRA_WRITE_CONSISTENCY_LEVELONECassandra 写入一致性级别
CASSANDRA_DEFAULT_FETCH_SIZE2000Cassandra 查询获取大小
TS_KV_PARTITIONINGMONTHS指定时间戳键值存储的分区大小。允许值MINUTESHOURSDAYSMONTHSINDEFINITE
TS_KV_PARTITIONS_MAX_CACHE_SIZE100000每个服务缓存在内存中的分区数。有助于减少再次重新插入相同分区的负载。
TS_KV_TTL0Cassandra Record 的时间序列生存时间(以秒为单位)。0 – 记录永不过期。
TS_EVENTS_TTL0事件(LC_EVENT, STATS) Cassandra Record 的生存时间(以秒为单位)。0 – 记录永不过期。
DEBUG_EVENTS_TTL604800以秒为单位指定调试日志的 TTL。当前值对应一周。
CASSANDRA_QUERY_BUFFER_SIZE200000等待执行的最大 Cassandra 查询数
CASSANDRA_QUERY_CONCURRENT_LIMIT1000最大并发 Cassandra 查询数
PERMIT_MAX_WAIT_TIME120000查询等待执行的最长时间(以毫秒为单位)
CASSANDRA_QUERY_DISPATCHER_THREADS2分派 cassandra 查询的线程数量
CASSANDRA_QUERY_CALLBACK_THREADS4用于调用查询结果回调的线程数
CASSANDRA_QUERY_POLL_MS50Cassandra 查询队列轮询间隔(以毫秒为单位)
CASSANDRA_QUERY_RATE_LIMIT_PRINT_MS10000打印 Cassandra 查询队列统计信息的时间间隔(以毫秒为单位)
CASSANDRA_QUERY_SET_NULL_VALUES_ENABLEDfalse在保存时将除目标之外的所有数据类型值设置为空
CASSANDRA_QUERY_PRINT_FREQ0以指定频率记录一个 cassandra 查询(0 – 日志记录被禁用)
CASSANDRA_QUERY_TENANT_RATE_LIMITS_ENABLEDfalse每个租户启用/禁用 cassandra 查询速率限制
CASSANDRA_QUERY_TENANT_RATE_LIMITS_CONFIGURATION1000:1,30000:60在以秒为单位的指定时间间隔内,限制每台服务器上每个租户的最大 Cassandra 查询数。逗号分隔的 limit:seconds 对列表。
CASSANDRA_QUERY_TENANT_RATE_LIMITS_PRINT_TENANT_NAMESfalse打印Cassandra查询队列统计时是否打印限速租户名

磁盘回收策略

当前主题的配置参数适用于核心服务(CORE)。

环境变量默认值描述
SQL_TTL_TS_ENABLEDtrue用于指定是否对时间序列记录使用 TTL(生存时间)的参数
SQL_TTL_TS_EXECUTION_INTERVAL86400000该参数指定时间序列记录的TTL任务的执行周期。以毫秒为单位设置的值。默认值对应于一天
SQL_TTL_TS_TS_KEY_VALUE_TTL0平台级时序数据的 TTL(生存时间)值的参数,单位:秒。租户级TTL优先级高于平台级TTL。0 – 数据永不过期。
SQL_TTL_EVENTS_ENABLEDtrue用于指定是否对事件记录使用 TTL(生存时间)的参数
SQL_TTL_EVENTS_EXECUTION_INTERVAL2220000该参数指定事件记录的TTL任务执行周期。以毫秒为单位设置的值。(最大随机初始延迟和固定周期)。37 分钟以避免常见的间隔峰值
SQL_TTL_EVENTS_EVENTS_TTL0用于指定事件(LC_EVENT、STATS)记录的 TTL(生存时间)值的参数。以秒为单位设置的值。0 – 记录永不过期。
SQL_TTL_EVENTS_DEBUG_EVENTS_TTL604800用于指定调试事件(DEBUG_CONVERTER、DEBUG_INTEGRATION、DEBUG_RULE_NODE、DEBUG_RULE_CHAIN)记录的 TTL(生存时间)值的参数。以秒为单位设置的值。0 – 记录永不过期。默认值对应于一周。
SQL_TTL_EDGE_EVENTS_ENABLEDtrue启用/禁用边缘事件的 TTL(生存时间)
SQL_TTL_EDGE_EVENTS_EXECUTION_INTERVAL86400000毫秒数。当前值对应一天
SQL_TTL_EDGE_EVENTS_TTL2628000秒数。当前值对应一个月
SQL_ALARMS_TTL_CHECKING_INTERVAL7200000毫秒数。当前值对应两小时
SQL_ALARMS_TTL_REMOVAL_BATCH_SIZE3000不是一次性而是批量删除过时的警报
SQL_TTL_RPC_ENABLEDtrue用于启用或禁用持久 RPC 的 TTL(生存时间)的参数
SQL_RPC_TTL_CHECKING_INTERVAL7200000用于指定检查 TTL(生存时间)的频率的参数。毫秒数。当前值对应两小时
SQL_TTL_AUDIT_LOG_ENABLEDtrue启用/禁用审核日志事件的 TTL(生存时间)
SQL_TTL_AUDIT_LOG_EXECUTION_INTERVAL86400000毫秒数。当前值对应一天
SQL_TTL_AUDIT_LOG_EVENTS_TTL2628000秒数。当前值对应一个月

Actor配置参数

环境变量默认值描述
ACTORS_SYSTEM_THROUGHPUT5在切换到处理下一个参与者的消息之前,参与者系统将为每个参与者处理的消息数。
ACTORS_SYSTEM_SCHEDULER_POOL_SIZE1Actor 系统调度程序的线程池大小。
ACTORS_SYSTEM_MAX_ACTOR_INIT_ATTEMPTS10在禁用 actor 之前尝试初始化 actor 的最大次数。
ACTORS_SYSTEM_APP_DISPATCHER_POOL_SIZE1主要参与者系统调度程序的线程池大小。
ACTORS_SYSTEM_TENANT_DISPATCHER_POOL_SIZE2为租户参与者处理消息的参与者系统调度程序的线程池大小。
ACTORS_SYSTEM_DEVICE_DISPATCHER_POOL_SIZE4为设备参与者处理消息的参与者系统调度程序的线程池大小。
ACTORS_SYSTEM_RULE_DISPATCHER_POOL_SIZE4为规则引擎(链/节点)参与者处理消息的参与者系统调度程序的线程池大小。
ACTORS_TENANT_CREATE_COMPONENTS_ON_INITtrue在初始化中创建组件
ACTORS_MAX_CONCURRENT_SESSION_PER_DEVICE1每个设备的最大并发会话数(一个设备,允许几个客户端使用相同设备凭证访问)
ACTORS_SESSION_SYNC_TIMEOUT10000使用同步会话(HTTP、CoAP)处理请求的默认超时时间(以毫秒为单位)
ACTORS_RULE_DB_CALLBACK_THREAD_POOL_SIZE50指定数据库请求回调执行器服务的线程池大小
ACTORS_RULE_JS_THREAD_POOL_SIZE50为 javascript 执行程序服务指定线程池大小
ACTORS_RULE_MAIL_THREAD_POOL_SIZE50为邮件发送者执行器服务指定线程池大小
ACTORS_RULE_SMS_THREAD_POOL_SIZE50为短信发送执行器服务指定线程池大小
ACTORS_RULE_ALLOW_SYSTEM_MAIL_SERVICEtrue是否允许规则使用系统邮件服务
ACTORS_RULE_ALLOW_SYSTEM_SMS_SERVICEtrue是否允许规则使用系统短信服务
ACTORS_RULE_EXTERNAL_CALL_THREAD_POOL_SIZE50指定外部调用服务的线程池大小
ACTORS_RULE_CHAIN_ERROR_FREQUENCY3000特定参与者的错误每指定的毫秒数持续一次
ACTORS_RULE_CHAIN_DEBUG_MODE_RATE_LIMITS_PER_TENANT_ENABLEDtrue为每个租户的所有规则节点启用/禁用持续调试事件的速率限制。
ACTORS_RULE_CHAIN_DEBUG_MODE_RATE_LIMITS_PER_TENANT_CONFIGURATION50000:3600速率限制的值。默认情况下,每小时不超过 5 万个事件。
ACTORS_RULE_NODE_ERROR_FREQUENCY3000特定参与者的错误每指定的毫秒数持续一次
ACTORS_RULE_TRANSACTION_QUEUE_SIZE15000为事务规则节点存储消息的队列大小
ACTORS_RULE_TRANSACTION_DURATION60000事务完成的时间(以毫秒为单位)
ACTORS_RPC_MAX_RETRIES5在请求传递失败的情况下,持久性 RPC 调用重试的最大次数。
ACTORS_RPC_SEQUENTIALfalse启用/禁用按设备顺序处理 RPC 调用。
ACTORS_STATISTICS_ENABLEDtrue启用/禁用演员统计
ACTORS_JS_STATISTICS_PRINT_INTERVAL_MS10000打印 JS 执行器统计信息的频率
ACTORS_STATISTICS_PERSIST_FREQUENCY3600000Actor 统计持续频率(以毫秒为单位)

缓存参数

环境变量默认值描述
CACHE_TYPEcaffeine缓存提供者。caffeine用于独立安装,redis用于集群安装
CACHE_MAXIMUM_POOL_SIZE16处理调用外部缓存的期货的最大池大小
CACHE_ATTRIBUTES_ENABLEDtruecaffeineredis中缓存属性请求

caffeine(2选1)

环境变量默认值描述
caffeine.specs.relations.timeToLiveInMinutes1440Relations 缓存 TTL
caffeine.specs.relations.maxSize10000Relations 缓存最大大小。maxSize: 0 表示禁用缓存
caffeine.specs.deviceCredentials.timeToLiveInMinutes1440设备凭证 缓存 TTL
caffeine.specs.deviceCredentials.maxSize10000设备凭证 缓存最值
caffeine.specs.devices.timeToLiveInMinutes1440devices 缓存 TTL
caffeine.specs.devices.maxSize10000devices 缓存最大值
caffeine.specs.sessions.timeToLiveInMinutes1440sessions 缓存 TTL
caffeine.specs.sessions.maxSize10000sessions 缓存最大值
caffeine.specs.assets.timeToLiveInMinutes1440资产 缓存 TTL
caffeine.specs.assets.maxSize10000资产 缓存最大值
caffeine.specs.downlink.timeToLiveInMinutes1440下行 缓存TTL
caffeine.specs.downlink.maxSize100000下行 缓存最大值
caffeine.specs.entityViews.timeToLiveInMinutes1440实体查看 缓存TTL
caffeine.specs.entityViews.maxSize10000实体查看 缓存最大值
caffeine.specs.roles.timeToLiveInMinutes1440角色 缓存TTL
caffeine.specs.roles.maxSize10000角色 缓存最大值
caffeine.specs.permissions.timeToLiveInMinutes1440权限 缓存TTL
caffeine.specs.permissions.maxSize10000权限 缓存最大值
caffeine.specs.owners.timeToLiveInMinutes1440所有者 缓存TTL
caffeine.specs.owners.maxSize100000所有者 缓存最大值
caffeine.specs.claimDevices.timeToLiveInMinutes1440claimDevices 缓存TTL
caffeine.specs.claimDevices.maxSize10000claimDevices 缓存最大值
caffeine.specs.securitySettings.timeToLiveInMinutes1440全选设置 缓存TTL
caffeine.specs.securitySettings.maxSize10000安全设置 缓存最大值
caffeine.specs.remoteIntegrations.timeToLiveInMinutes1440remoteIntegrations 缓存TTL
caffeine.specs.remoteIntegrations.maxSize10000remoteIntegrations 缓存最大值
caffeine.specs.tenantProfiles.timeToLiveInMinutes1440租户配置文件 缓存TTL
caffeine.specs.tenantProfiles.maxSize10000租户配置文件 缓存最大值
caffeine.specs.deviceProfiles.timeToLiveInMinutes1440设备配置(产品) 缓存TTL
caffeine.specs.deviceProfiles.maxSize10000设备配置(产品) 缓存最大值
caffeine.specs.attributes.timeToLiveInMinutes1440属性 缓存TTL
caffeine.specs.attributes.maxSize100000属性 缓存最大值
caffeine.specs.tokensOutdatageTime.timeToLiveInMinutes20000tokensOutdatageTime 缓存TTL
caffeine.specs.tokensOutdatageTime.maxSize10000tokensOutdatageTime 缓存最大值

Redis(2选1)

环境变量默认值描述
REDIS_CONNECTION_TYPEstandaloneRedis 连接类型 –独立集群
REDIS_HOSTlocalhostRedis连接主机
REDIS_PORT6379Redis连接端口
REDIS_USE_DEFAULT_CLIENT_CONFIGtrue使用默认客户端配置
REDIS_CLIENT_NAMEstandalone仅当您未使用默认 ClientConfig 时才可使用此值
REDIS_CLIENT_CONNECT_TIMEOUT30000仅当您未使用默认 ClientConfig 时才可使用此值
REDIS_CLIENT_READ_TIMEOUT60000仅当您未使用默认 ClientConfig 时才可使用此值
REDIS_CLIENT_USE_POOL_CONFIGfalse仅当您未使用默认 ClientConfig 时才可使用此值
REDIS_NODES以逗号分隔的“主机:端口”对列表,用于引导
REDIS_MAX_REDIRECTS12跨集群执行命令时要遵循的最大重定向数
REDIS_USE_DEFAULT_POOL_CONFIGtrue使用默认的 redis 池配置。如果设置为“true”,REDIS_POOL_CONFIG_* 属性将被忽略。
REDIS_DB0Redis数据库索引
REDIS_PASSWORDRedis数据库密码
REDIS_POOL_CONFIG_MAX_TOTAL128通用redis 池设置
REDIS_POOL_CONFIG_MAX_IDLE128通用redis 池设置
REDIS_POOL_CONFIG_MIN_IDLE16通用redis 池设置
REDIS_POOL_CONFIG_TEST_ON_BORROWtrue通用redis 池设置
REDIS_POOL_CONFIG_TEST_ON_RETURNtrue通用redis 池设置
REDIS_POOL_CONFIG_TEST_WHILE_IDLEtrue通用redis 池设置

消息中间件

环境变量默认值描述
TB_QUEUE_TYPEin-memory消息中间件类型,例如:in-memory、kafka、rabbitmq等。

内存配置(多选1)

环境变量默认值描述
TB_QUEUE_IN_MEMORY_STATS_PRINT_INTERVAL_MS60000消息队列实时情况的打印频率。

Kafka配置(多选1)

环境变量默认值描述
TB_KAFKA_SERVERSlocalhost:9092Kafka集群内服务节点信息,多个节点用逗号分隔。
TB_KAFKA_COMPRESSION_TYPEnone数据压缩类型,支持gzip。
TB_KAFKA_BATCH_SIZE16384(16KB)生产者
TB_KAFKA_LINGER_MS1生产者
TB_KAFKA_MAX_REQUEST_SIZE1048576(1MB)生产者
TB_KAFKA_MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION5生产者
TB_BUFFER_MEMORY33554432(32MB)生产者
TB_QUEUE_KAFKA_MAX_POLL_RECORDS8192每次拉取的最大消息量
TB_QUEUE_KAFKA_MAX_PARTITION_FETCH_BYTES16777216(16MB)每次拉取数据时每个分区返回的最大字节数,不能比max.message.size配置的值小。
TB_QUEUE_KAFKA_FETCH_MAX_BYTES134217728(128MB)每次拉取数据时返回的最大字节数。
TB_QUEUE_KAFKA_MAX_POLL_INTERVAL_MS300000消费组内消费者拉取消息的最大等待延迟,用于判定消费者是否有效。
TB_QUEUE_KAFKA_CONSUMER_STATS_ENABLED

kafka账号密码验证

环境变量默认值描述
TB_QUEUE_KAFKA_USE_CONFLUENT_CLOUDfalse是否使用鉴权信息
TB_QUEUE_KAFKA_CONFLUENT_SECURITY_PROTOCOLSASL_SSLKafka的Broker支持的鉴权协议
TB_QUEUE_KAFKA_CONFLUENT_SSL_ALGORITHMhttps传输协议
TB_QUEUE_KAFKA_CONFLUENT_SASL_MECHANISMPLAINjava程序中kafka客户端认证机制
TB_QUEUE_KAFKA_CONFLUENT_SASL_JAAS_CONFIGorg.apache.kafka.common.security.plain.PlainLoginModule required username=”CLUSTER_API_KEY” password=”CLUSTER_API_SECRET”java程序中kafka客户端鉴权信息
TB_QUEUE_KAFKA_CONFLUENT_USERNAME脚本引擎的鉴权用户名
TB_QUEUE_KAFKA_CONFLUENT_PASSWORD脚本引擎的鉴权密码

设备接入服务配置

环境变量默认值描述
TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT300000传输服务中设备会话的待激活超时。如果设备发送任何消息,包括保持活动消息,则更新设备会话的最后活动时间。
TB_TRANSPORT_SESSIONS_REPORT_TIMEOUT3000定期检查过期会话和报告会话上次活动时间更改的时间间隔。
TB_TRANSPORT_RATE_LIMITS_ENABLEDfalse
TB_TRANSPORT_RATE_LIMITS_TENANT1000:1,20000:60
TB_TRANSPORT_RATE_LIMITS_DEVICE10:1,300:60
JSON_TYPE_CAST_ENABLEDtrue在处理遥测/属性 JSON 时,如果可能,将字符串数据类型转换为数字
JSON_MAX_STRING_VALUE_LENGTH0处理遥测/属性 JSON 时允许的最大字符串值长度(0 值禁用字符串值长度检查)
CLIENT_SIDE_RPC_TIMEOUT60000
TB_TRANSPORT_API_ENABLEDtrue启用/禁用 http/mqtt/coap 传输协议(比某些协议的“启用”属性具有更高的优先级)
TB_TRANSPORT_LOG_ENABLEDtrue启用/禁用传输消息到遥测的日志。例如,记录 LwM2M 注册更新。
TB_TRANSPORT_LOG_MAX_LENGTH1024日志消息的最大长度。如果需要,内容将被截断为指定值。
TB_TRANSPORT_STATS_ENABLEDtrue启用/禁用传输统计信息的收集
TB_TRANSPORT_STATS_PRINT_INTERVAL_MS60000传输统计记录的间隔。

设备连接状态参数

环境变量默认值描述
DEFAULT_INACTIVITY_TIMEOUT600设备不活动超时(以秒为单位)
DEFAULT_STATE_CHECK_INTERVAL60设备不活动检查周期(以秒为单位)
PERSIST_STATE_TO_TELEMETRYfalse

MQTT协议接入

环境变量默认值描述
MQTT_ENABLEDtrue单体模式是否开启MQTT服务

TCP/UDP协议接入

环境变量默认值描述
TCP_ENABLEDtrue单体模式是否开启TCP/UDP服务

视频GBT28181协议接入

环境变量默认值描述
GBT28181_ENABLEDfalse单体模式是否开启GBT28181服务
GBT28181_SIP_IP172.120.255.120摄像头服务接入的IP,容器网卡的IP
GBT28181_SIP_PORT5060摄像头接入服务的端口
GBT28181_SIP_ID44010200492000000001摄像头接入服务的唯一编号
GBT28181_SIP_DOMAIN4401020049摄像头接入服务的区域编号,根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007)
GBT28181_SIP_PASSWORD61332286摄像头接入服务的密码
GBT28181_MEDIA_IPlocalhost流媒体服务ZLM的对外服务IP或域名。摄像头会向该地址推送视频流
GBT28181_MEDIA_HTTP_PORT28080流媒体服务ZLM的对外服务端口
GBT28181_MEDIA_GENERAL_IDf6GfbO0BGEaROKLP流媒体服务ZLM的编号
GBT28181_MEDIA_API_SECRET5PnbPDCcxQGeK15OowHPPdSgort2Cx9Y流媒体服务ZLM的接口鉴权密钥
GBT28181_MEDIA_RTP_PORT_RANGE30000,30500流媒体服务ZLM的点播端口范围

COAP协议接入

环境变量默认值描述
COAP_ENABLEDtrue单体模式是否开启COAP服务

LWM2M协议接入

环境变量默认值描述
LWM2M_ENABLEDtrue单体模式是否开启LWM2M服务

HTTP协议接入

环境变量默认值描述
HTTP_ENABLEDtrue单体模式是否开启HTTP服务

SNMP协议接入

环境变量默认值描述
SNMP_ENABLEDtrue单体模式是否开启SNMP服务

脚本引擎配置

脚本引擎类型

环境变量默认值描述
JS_EVALUATORlocal脚本引擎类型,例如:local, remote

本地脚本引擎

使用平台服务内部的脚本引擎。

环境变量默认值描述
LOCAL_JS_SANDBOX_MAX_BLACKLIST_DURATION_SEC60时间窗口大小,默认60秒
LOCAL_JS_SANDBOX_MAX_ERRORS3时间窗口内允许的脚本执行错误数量

远程脚本引擎

环境变量默认值描述
REMOTE_JS_SANDBOX_MAX_BLACKLIST_DURATION_SEC60时间窗口大小,默认60秒
REMOTE_JS_SANDBOX_MAX_ERRORS3时间窗口内允许的脚本执行错误数量

文件上传参数

环境变量默认值描述
file.storage.typeminio文件上传存储方式local, minio
file.storage.type.randomFileNametrue是否重命名文件
file.storage.type.local.uploadDir文件上传地址,只有type = local生效
file.storage.type.local.downloadPath/downloadFile/下载路由,只有type = local生效
file.storage.type.local.uploadPath上传路由,只有type = local生效
file.storage.type.local.staticUrloss静态访问路径 只有type = local生效
file.storage.type.local.randomFileName
file.storage.minio.minioUrlminio储存地址
file.storage.minio.minioNameminio账户
file.storage.minio.minioPassminio访问密码
file.storage.minio.bucketNameminio储存桶名称,名称参考
file.storage.minio.randomFileName

账号相关参数

环境变量默认值描述
account.info.emailSuffixthingskit.comThingsKit创建的账号,存储thingsboard数据库默认加上后缀
account.info.defaultPassword123456ThingsKit创建租户管理员的默认密码
account.info.resettrueThingsKit创建的账号,默认密码是否需要重置
third.wechat.urlhttps://api.weixin.qq.com微信小程序配置url
third.wechat.appId微信小程序的APP_ID
third.wechat.appSecret微信小程序的APP_SECRET

FRP服务参数

环境变量默认值描述
frp.server.address127.0.0.1ThingsKit部署的FRP服务地址,用于边缘网关的内网穿透