产品定价 立即试用
专业版
安装 > 配置 > 核心/规则引擎部署参数
入门 文档 指南
架构 API 常见问题
目录

核心/规则引擎部署参数

服务端通用参数

参数环境变量默认值描述
server.address HTTP_BIND_ADDRESS 0.0.0.0 服务器绑定地址
server.port HTTP_BIND_PORT 8080 服务器绑定端口
server.forward_headers_strategy HTTP_FORWARD_HEADERS_STRATEGY framework 服务器转发头策略。使用反向代理时SWAGGER UI需要
server.ssl.enabled SSL_ENABLED false 启用/禁用SSL支持
server.ssl.credentials.type SSL_CREDENTIALS_TYPE PEM 服务器凭证类型(PEM-pem证书文件;KEYSTORE-java keystore)
server.ssl.credentials.pem.cert_file SSL_PEM_CERT server.pem 服务器证书文件路径(含服务器证书或证书链,可包含服务器私钥)
server.ssl.credentials.pem.key_file SSL_PEM_KEY server_key.pem 服务器证书私钥文件路径(可选)。若服务器证书文件中不包含私钥,则该项必填。
server.ssl.credentials.pem.key_password SSL_PEM_KEY_PASSWORD server_key_password 服务器证书私钥密码(可选)
server.ssl.credentials.keystore.type SSL_KEY_STORE_TYPE PKCS12 Keystore类型(JKS或PKCS12)
server.ssl.credentials.keystore.store_file SSL_KEY_STORE classpath:keystore/keystore.p12 存放SSL证书的keystore路径
server.ssl.credentials.keystore.store_password SSL_KEY_STORE_PASSWORD thingsboard 访问keystore的密码
server.ssl.credentials.keystore.key_alias SSL_KEY_ALIAS tomcat 密钥别名
server.ssl.credentials.keystore.key_password SSL_KEY_PASSWORD thingsboard 访问密钥的密码
server.http.max_payload_size HTTP_MAX_PAYLOAD_SIZE_LIMIT_CONFIGURATION /api/image*/**=52428800;/api/resource/**=52428800;/api/**=16777216 urlPattern=maxPayloadSize对的列表(分号分隔),定义指定URL模式的最大HTTP请求大小。首次匹配后其余将被跳过
server.http2.enabled HTTP2_ENABLED true 启用/禁用HTTP/2支持
server.log_controller_error_stack_trace HTTP_LOG_CONTROLLER_ERROR_STACK_TRACE false 当REST API抛出异常并显示消息“请联系系统管理员”时,使用堆栈跟踪记录错误
server.ws.send_timeout TB_SERVER_WS_SEND_TIMEOUT 5000 向客户端WebSocket会话发送数据的超时时间(以毫秒为单位)
server.ws.ping_timeout TB_SERVER_WS_PING_TIMEOUT 30000 建议超时 >= 30秒。平台将在超时时间内尝试发送“ping”请求3次
server.ws.dynamic_page_link.refresh_interval TB_SERVER_WS_DYNAMIC_PAGE_LINK_REFRESH_INTERVAL_SEC 60 动态报警端实体数据查询刷新率
server.ws.dynamic_page_link.refresh_pool_size TB_SERVER_WS_DYNAMIC_PAGE_LINK_REFRESH_POOL_SIZE 1 执行动态查询的线程池大小
server.ws.dynamic_page_link.max_alarm_queries_per_refresh_interval TB_SERVER_WS_MAX_ALARM_QUERIES_PER_REFRESH_INTERVAL 10 每个刷新间隔的最大动态查询数。例如,用户在所有浏览器中同时执行的警报查询不超过10个。
server.ws.dynamic_page_link.max_per_user TB_SERVER_WS_DYNAMIC_PAGE_LINK_MAX_PER_USER 10 每个用户的最大动态查询数。例如,用户在所有浏览器中同时打开的警报部件不超过10个
server.ws.max_entities_per_data_subscription TB_SERVER_WS_MAX_ENTITIES_PER_DATA_SUBSCRIPTION 10000 单个实体订阅返回的最大实体数。例如,地图部件上的实体不超过10,000个
server.ws.max_entities_per_alarm_subscription TB_SERVER_WS_MAX_ENTITIES_PER_ALARM_SUBSCRIPTION 10000 单个警报订阅返回的最大警报数。例如,警报部件上的警报不超过10,000个
server.ws.max_queue_messages_per_session TB_SERVER_WS_DEFAULT_QUEUE_MESSAGES_PER_SESSION 1000 每个会话的Websocket更新的最大队列大小。此限制可防止WS无限更新
server.ws.auth_timeout_ms TB_SERVER_WS_AUTH_TIMEOUT_MS 10000 WS会话打开和发送auth命令之间的最长时间
server.ws.rate_limits.subscriptions_per_tenant TB_SERVER_WS_SUBSCRIPTIONS_PER_TENANT_RATE_LIMIT WS订阅的每租户速率限制
server.ws.rate_limits.subscriptions_per_user TB_SERVER_WS_SUBSCRIPTIONS_PER_USER_RATE_LIMIT WS订阅的每用户速率限制
server.ws.alarms_per_alarm_status_subscription_cache_size TB_ALARMS_PER_ALARM_STATUS_SUBSCRIPTION_CACHE_SIZE 10 对于单个警报状态订阅,在缓存中保存的活动发起者警报ID的最大数量。例如,告警部件上的告警ID不超过10个
server.rest.server_side_rpc.min_timeout MIN_SERVER_SIDE_RPC_TIMEOUT 5000 服务器端RPC超时的最小值。可以覆盖REST API调用中提供的值。从2.5开始迁移到队列,RPC延迟取决于队列中待处理消息的大小。因此,默认的UI参数500ms可能不足以满足负载环境的需要。
server.rest.server_side_rpc.default_timeout DEFAULT_SERVER_SIDE_RPC_TIMEOUT 10000 服务器端RPC超时的默认值。
server.rest.rate_limits.reset_password_per_user RESET_PASSWORD_PER_USER_RATE_LIMIT_CONFIGURATION 5:3600 禁止过于频繁地重置用户密码的限制。速率限制的值。默认每小时不超过5个请求
server.rest.rule_engine.response_timeout DEFAULT_RULE_ENGINE_RESPONSE_TIMEOUT 10000 等待规则引擎REST API请求响应的默认超时时间(以毫秒为单位)

应用信息参数

参数环境变量默认值描述
app.version "@project.version@" 应用版本

Zookeeper连接参数

参数环境变量默认值描述
zk.enabled ZOOKEEPER_ENABLED false 启用/禁用Zookeeper发现服务。
zk.url ZOOKEEPER_URL localhost:2181 Zookeeper连接字符串
zk.retry_interval_ms ZOOKEEPER_RETRY_INTERVAL_MS 3000 Zookeeper重试间隔(毫秒)
zk.connection_timeout_ms ZOOKEEPER_CONNECTION_TIMEOUT_MS 3000 Zookeeper连接超时(毫秒)
zk.session_timeout_ms ZOOKEEPER_SESSION_TIMEOUT_MS 3000 Zookeeper会话超时(毫秒)
zk.zk_dir ZOOKEEPER_NODES_DIR /thingsboard Zookeeper'文件系统'中的目录名
zk.recalculate_delay ZOOKEEPER_RECALCULATE_DELAY_MS 0 建议在规则引擎服务的微服务架构设置中使用recalculate_delay属性。此属性提供暂停,以确保重新启动规则引擎服务时,其他节点不会立即尝试重新计算其分区。建议延迟,因为规则链参与者的初始化非常耗时。避免重新启动期间不必要的重新计算可以增强系统性能和稳定性。

集群参数

参数环境变量默认值描述
cluster.stats.enabled TB_CLUSTER_STATS_ENABLED false 启用/禁用集群统计信息。根据每种类型计算集群节点之间发送的消息数量
cluster.stats.print_interval_ms TB_CLUSTER_STATS_PRINT_INTERVAL_MS 10000 将集群统计信息打印到日志文件的时间间隔

插件配置参数

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

安全参数

参数环境变量默认值描述
security.jwt.tokenExpirationTime JWT_TOKEN_EXPIRATION_TIME 9000 秒数(2.5小时)
security.jwt.refreshTokenExpTime JWT_REFRESH_TOKEN_EXPIRATION_TIME 604800 秒数(1周)。
security.jwt.tokenIssuer JWT_TOKEN_ISSUER thingsboard.io 用户JWT令牌发行者
security.jwt.tokenSigningKey JWT_TOKEN_SIGNING_KEY thingsboardDefaultSigningKey Base64编码
security.user_token_access_enabled SECURITY_USER_TOKEN_ACCESS_ENABLED true 启用/禁用系统管理员对租户管理员JWT令牌的访问或租户管理员对客户用户JWT令牌的访问
security.api_key.value_prefix SECURITY_API_KEY_VALUE_PREFIX tb_ 自动生成的API密钥的前缀。例如,tb_Ood4dQMxWvMH-76z3E_Cv0mZaBWT0Clk3hRSO0P_jNQ
security.api_key.value_bytes_size SECURITY_API_KEY_VALUE_PREFIX 64 自动生成的API密钥的长度。最大为255
security.user_login_case_sensitive SECURITY_USER_LOGIN_CASE_SENSITIVE true 启用/禁用区分大小写的用户名登录
security.claim.allowClaimingByDefault SECURITY_CLAIM_ALLOW_CLAIMING_BY_DEFAULT true 启用/禁用声明设备;如果为false -> 设备的 [claimingAllowed] SERVER_SCOPE属性必须设置为 [true] 以允许声明特定设备
security.claim.duration SECURITY_CLAIM_DURATION 86400000 1分钟,注意该值必须等于claimDevices.timeToLiveInMinutes值
security.basic.enabled SECURITY_BASIC_ENABLED false 启用/禁用基本安全选项
security.oauth2.loginProcessingUrl SECURITY_OAUTH2_LOGIN_PROCESSING_URL /login/oauth2/code/ 将处理来自外部用户管理系统的访问代码的重定向URL
security.oauth2.githubMapper.emailUrl SECURITY_OAUTH2_GITHUB_MAPPER_EMAIL_URL_KEY https://api.github.com/user/emails 将从URL映射的电子邮件地址
security.java_cacerts.path SECURITY_JAVA_CACERTS_PATH ${java.home}/lib/security/cacerts CA证书密钥库默认路径。通常此密钥库位于JAVA_HOME/lib/security/cacerts
security.java_cacerts.password SECURITY_JAVA_CACERTS_PASSWORD changeit cacerts密钥库文件的密码

邮件设置参数

参数环境变量默认值描述
mail.oauth2.refreshTokenCheckingInterval REFRESH_TOKEN_EXPIRATION_CHECKING_INTERVAL 86400 检查刷新令牌过期的时间间隔(以秒为单位)(默认为1天)。
mail.per_tenant_rate_limits MAIL_PER_TENANT_RATE_LIMITS 每个租户发送邮件的速率限制。例如,每分钟1000次和每小时10000次为“1000:60,10000:3600”

使用统计参数

参数环境变量默认值描述
usage.stats.report.enabled USAGE_STATS_REPORT_ENABLED true 启用/禁用API使用统计信息的收集。默认情况下在系统和租户级别收集
usage.stats.report.enabled_per_customer USAGE_STATS_REPORT_PER_CUSTOMER_ENABLED false 启用/禁用客户级别的API使用统计信息的收集
usage.stats.report.interval USAGE_STATS_REPORT_INTERVAL 60 统计上报间隔,默认设置为每10秒发送一次汇总数据
usage.stats.report.pack_size USAGE_STATS_REPORT_PACK_SIZE 1024 每个包中的统计消息数
usage.stats.check.cycle USAGE_STATS_CHECK_CYCLE 60000 检查下一个周期的开始并重新启用被阻止的租户/客户的时间间隔
usage.stats.gauge_report_interval USAGE_STATS_GAUGE_REPORT_INTERVAL 180000 以毫秒为单位。默认值为3分钟
usage.stats.devices.report_interval DEVICES_STATS_REPORT_INTERVAL 60 以秒为单位,默认值为1分钟。更改时,在集群模式下,请确保use.stats.gauge_report_interval设置为该值的x2-x3

UI设置参数

参数环境变量默认值描述
ui.dashboard.max_datapoints_limit DASHBOARD_MAX_DATAPOINTS_LIMIT 50000 部件允许获取的最大数据点
ui.help.base-url UI_HELP_BASE_URL https://raw.githubusercontent.com/thingsboard/thingsboard-pe-ui-help/release-4.3 UI帮助资源的基本URL
ui.solution_templates.docs_base_url UI_SOLUTION_TEMPLATES_DOCS_BASE_URL https://thingsboard.io/docs/pe Base URL for solution templates docs

数据库遥测参数

参数环境变量默认值描述
database.ts_max_intervals DATABASE_TS_MAX_INTERVALS 700 单个API调用生成的用于获取遥测记录的最大数据库查询数
database.ts.type DATABASE_TS_TYPE sql cassandra、sql或timescale(对于混合模式,DATABASE_TS_TYPE值应为cassandra或timescale)
database.ts_latest.type DATABASE_TS_LATEST_TYPE sql cassandra、sql或timescale(对于混合模式,DATABASE_TS_TYPE值应为cassandra或timescale)

Cassandra驱动配置参数

参数环境变量默认值描述
cassandra.cluster_name CASSANDRA_CLUSTER_NAME Thingsboard Cluster Thingsboard集群名称
cassandra.keyspace_name CASSANDRA_KEYSPACE_NAME thingsboard Thingsboard键空间名称
cassandra.url CASSANDRA_URL 127.0.0.1:9042 指定节点列表
cassandra.local_datacenter CASSANDRA_LOCAL_DATACENTER datacenter1 指定本地数据中心名称
cassandra.ssl.enabled CASSANDRA_USE_SSL false 启用/禁用安全连接
cassandra.ssl.hostname_validation CASSANDRA_SSL_HOSTNAME_VALIDATION true 启用/禁用Cassandra服务器主机名验证 如果启用,Cassandra服务器的主机名必须与服务器证书的CN匹配
cassandra.ssl.trust_store CASSANDRA_SSL_TRUST_STORE 设置用于服务器客户端身份验证的信任存储(可选,如果未设置,则使用默认SSLContext中的信任存储)
cassandra.ssl.trust_store_password CASSANDRA_SSL_TRUST_STORE_PASSWORD Cassandra信任存储密钥的密码
cassandra.ssl.key_store CASSANDRA_SSL_KEY_STORE 设置用于客户端服务器身份验证的密钥存储(可选,如果未设置,则使用默认SSLContext中的密钥存储) 仅当Cassandra服务器需要客户端身份验证时才需要密钥存储
cassandra.ssl.key_store_password CASSANDRA_SSL_KEY_STORE_PASSWORD Cassandra密钥存储的密码
cassandra.ssl.cipher_suites CASSANDRA_SSL_CIPHER_SUITES 以逗号分隔的密码套件列表(可选,如果未设置,则使用Java默认密码套件)
cassandra.jmx CASSANDRA_USE_JMX false 启用/禁用JMX
cassandra.metrics CASSANDRA_USE_METRICS false 启用/禁用指标收集。
cassandra.compression CASSANDRA_COMPRESSION none 无SNAPPY LZ4
cassandra.init_timeout_ms CASSANDRA_CLUSTER_INIT_TIMEOUT_MS 300000 指定cassandra集群初始化超时(以毫秒为单位)(如果启动期间没有可用的主机)
cassandra.init_retry_interval_ms CASSANDRA_CLUSTER_INIT_RETRY_INTERVAL_MS 3000 指定cassandra集群初始化重试间隔(如果启动期间没有可用的主机)
cassandra.max_requests_per_connection_local CASSANDRA_MAX_REQUESTS_PER_CONNECTION_LOCAL 32768 Cassandra每个连接的最大本地请求数
cassandra.max_requests_per_connection_remote CASSANDRA_MAX_REQUESTS_PER_CONNECTION_REMOTE 32768 Cassandra每个连接的最大远程请求数
cassandra.credentials CASSANDRA_USE_CREDENTIALS false 凭证参数
cassandra.username CASSANDRA_USERNAME 指定您的用户名
cassandra.password CASSANDRA_PASSWORD 指定您的密码
cassandra.cloud.secure_connect_bundle_path CASSANDRA_CLOUD_SECURE_BUNDLE_PATH /etc/thingsboard/astra/secure-connect-thingsboard.zip
cassandra.cloud.client_id CASSANDRA_CLOUD_CLIENT_ID DucitQPHMzPCBOZqFYexAfKk
cassandra.cloud.client_secret CASSANDRA_CLOUD_CLIENT_SECRET ZnF7FpuHp43FP5BzM+KY8wGmSb4Ql6BhT4Z7sOU13ze+gXQ-n7OkFpNuB,oACUIQObQnK0g4bSPoZhK5ejkcF9F.j6f64j71Sr.tiRe0Fsq2hPS1ZCGSfAaIgg63IydG
cassandra.socket.connect_timeout CASSANDRA_SOCKET_TIMEOUT 5000 设置从ThingsBoard到Cassandra的本机连接的超时(以毫秒为单位)。默认值为5000
cassandra.socket.read_timeout CASSANDRA_SOCKET_READ_TIMEOUT 20000 关闭连接之前超时。以毫秒为单位设置的值
cassandra.socket.keep_alive CASSANDRA_SOCKET_KEEP_ALIVE true 获取是否必须使用TCP keep-alive
cassandra.socket.reuse_address CASSANDRA_SOCKET_REUSE_ADDRESS true 启用/禁用重用地址。套接字选项允许重用本地地址和端口
cassandra.socket.so_linger CASSANDRA_SOCKET_SO_LINGER 设置关闭时逗留超时。默认情况下,驱动程序不设置此选项。实际值将是底层Netty传输的默认值
cassandra.socket.tcp_no_delay CASSANDRA_SOCKET_TCP_NO_DELAY false 启用/禁用Nagle算法
cassandra.socket.receive_buffer_size CASSANDRA_SOCKET_RECEIVE_BUFFER_SIZE 设置传入网络I/O的底层缓冲区大小的提示。默认情况下,驱动程序不设置此选项。实际值将是底层Netty传输的默认值
cassandra.socket.send_buffer_size CASSANDRA_SOCKET_SEND_BUFFER_SIZE 返回传出网络I/O的底层缓冲区大小的提示。默认情况下,驱动程序不设置此选项。实际值将是底层Netty传输的默认值
cassandra.query.read_consistency_level CASSANDRA_READ_CONSISTENCY_LEVEL ONE Cassandra中的一致性级别可以配置为管理可用性与数据准确性。所有写入和读取操作的一致性级别默认为ONE
cassandra.query.write_consistency_level CASSANDRA_WRITE_CONSISTENCY_LEVEL ONE Cassandra中的一致性级别可以配置为管理可用性与数据准确性。所有写入和读取操作的一致性级别默认为ONE
cassandra.query.default_fetch_size CASSANDRA_DEFAULT_FETCH_SIZE 2000 获取大小指定Cassandra一次返回多少行(换句话说,它是每个页面的大小)
cassandra.query.ts_key_value_partitioning TS_KV_PARTITIONING MONTHS 指定时间戳键值存储的分区大小。示例:分钟、小时、天、月、不定
cassandra.query.use_ts_key_value_partitioning_on_read USE_TS_KV_PARTITIONING_ON_READ true 在读取查询上启用/禁用时间戳键值分区
cassandra.query.use_ts_key_value_partitioning_on_read_max_estimated_partition_count USE_TS_KV_PARTITIONING_ON_READ_MAX_ESTIMATED_PARTITION_COUNT 40 如果估计的分区计数大于安全触发值,安全触发将回退到use_ts_key_value_partitioning_on_read为true。它有助于防止为极端情况(例如从0到无穷大)构建巨大的分区列表(OOM),并且更喜欢从NoSQL数据库中读取较少的策略
cassandra.query.ts_key_value_partitions_max_cache_size TS_KV_PARTITIONS_MAX_CACHE_SIZE 100000 每个服务在内存中缓存的分区数量。减少再次重新插入相同分区的负载很有用
cassandra.query.ts_key_value_ttl TS_KV_TTL 0 Cassandra记录的时间序列生存时间(以秒为单位)。0 - 记录从未过期
cassandra.query.buffer_size CASSANDRA_QUERY_BUFFER_SIZE 200000 等待执行的Cassandra查询的最大数量
cassandra.query.concurrent_limit CASSANDRA_QUERY_CONCURRENT_LIMIT 1000 Cassandra并发查询的最大数量
cassandra.query.permit_max_wait_time PERMIT_MAX_WAIT_TIME 120000 查询等待执行的最长时间(以毫秒为单位)
cassandra.query.dispatcher_threads CASSANDRA_QUERY_DISPATCHER_THREADS 2 分派cassandra查询的线程数量
cassandra.query.callback_threads CASSANDRA_QUERY_CALLBACK_THREADS 4 用于管理I/O速率的缓冲速率执行器(读、写)。请参阅JMX中的“nosql-*-callback”线程
cassandra.query.result_processing_threads CASSANDRA_QUERY_RESULT_PROCESSING_THREADS 50 结果集转换器和处理。请参阅JMX中的“cassandra-callback”线程
cassandra.query.poll_ms CASSANDRA_QUERY_POLL_MS 50 Cassandra查询队列轮询间隔(以毫秒为单位)
cassandra.query.rate_limit_print_interval_ms CASSANDRA_QUERY_RATE_LIMIT_PRINT_MS 10000 打印Cassandra查询队列统计信息的时间间隔(以毫秒为单位)
cassandra.query.set_null_values_enabled CASSANDRA_QUERY_SET_NULL_VALUES_ENABLED true 保存值时,将其他数据类型设置为null(以避免多个遥测值具有相同的时间戳)。
cassandra.query.print_queries_freq CASSANDRA_QUERY_PRINT_FREQ 0 以指定频率记录cassandra查询之一(0 - 禁用日志记录)
cassandra.query.tenant_rate_limits.print_tenant_names CASSANDRA_QUERY_TENANT_RATE_LIMITS_PRINT_TENANT_NAMES false 打印Cassandra查询队列统计信息时是否打印限速租户名称

SQL配置参数

参数环境变量默认值描述
sql.attributes.batch_size SQL_ATTRIBUTES_BATCH_SIZE 1000 持久属性更新的批量大小
sql.attributes.batch_max_delay SQL_ATTRIBUTES_BATCH_MAX_DELAY_MS 50 属性条目队列轮询的最大超时。该值以毫秒为单位设置
sql.attributes.stats_print_interval_ms SQL_ATTRIBUTES_BATCH_STATS_PRINT_MS 10000 打印属性更新统计信息的时间间隔(以毫秒为单位)
sql.attributes.batch_threads SQL_ATTRIBUTES_BATCH_THREADS 3 批处理线程数必须是素数,如3或5,以获得完美的哈希分布
sql.attributes.value_no_xss_validation SQL_ATTRIBUTES_VALUE_NO_XSS_VALIDATION false 如果true属性值将被检查是否存在XSS漏洞
sql.ts.batch_size SQL_TS_BATCH_SIZE 10000 持久时间序列插入的批量大小
sql.ts.batch_max_delay SQL_TS_BATCH_MAX_DELAY_MS 100 时间序列条目队列轮询的最大超时。设置的值以毫秒为单位
sql.ts.stats_print_interval_ms SQL_TS_BATCH_STATS_PRINT_MS 10000 打印时间序列插入统计信息的时间间隔(以毫秒为单位)
sql.ts.batch_threads SQL_TS_BATCH_THREADS 3 批处理线程数必须是素数,如3或5,以获得完美的哈希分布
sql.ts.value_no_xss_validation SQL_TS_VALUE_NO_XSS_VALIDATION false 是否将检查真实的遥测值是否存在XSS漏洞
sql.ts.callback_thread_pool_size SQL_TS_CALLBACK_THREAD_POOL_SIZE 12 遥测回调执行器的线程池大小
sql.ts_latest.batch_size SQL_TS_LATEST_BATCH_SIZE 1000 用于持久保存最新遥测更新的批量大小
sql.ts_latest.batch_max_delay SQL_TS_LATEST_BATCH_MAX_DELAY_MS 50 最新遥测条目队列轮询的最大超时。设置的值以毫秒为单位
sql.ts_latest.stats_print_interval_ms SQL_TS_LATEST_BATCH_STATS_PRINT_MS 10000 打印最新遥测更新统计数据的时间间隔(以毫秒为单位)
sql.ts_latest.batch_threads SQL_TS_LATEST_BATCH_THREADS 3 批处理线程数必须是素数,如3或5,以获得完美的哈希分布
sql.ts_latest.update_by_latest_ts SQL_TS_UPDATE_BY_LATEST_TIMESTAMP true 仅当新记录的时间戳大于或等于先前保存的最新值的时间戳时,才更新最新值。最新值与历史值分开存储,以便从数据库快速查找。历史价值的插入在任何情况下都会发生
sql.events.batch_size SQL_EVENTS_BATCH_SIZE 10000 用于持久保存最新遥测更新的批量大小
sql.events.batch_max_delay SQL_EVENTS_BATCH_MAX_DELAY_MS 100 最新遥测条目队列轮询的最大超时。设置的值以毫秒为单位
sql.events.stats_print_interval_ms SQL_EVENTS_BATCH_STATS_PRINT_MS 10000 打印最新遥测更新统计数据的时间间隔(以毫秒为单位)
sql.events.batch_threads SQL_EVENTS_BATCH_THREADS 3 批处理线程数必须是素数,如3或5,以获得完美的哈希分布
sql.events.partition_size SQL_EVENTS_REGULAR_PARTITION_SIZE_HOURS 168 划分事件的小时数。当前值对应于一周。
sql.events.debug_partition_size SQL_EVENTS_DEBUG_PARTITION_SIZE_HOURS 1 划分调试事件的小时数。当前值对应于一小时。
sql.edge_events.batch_size SQL_EDGE_EVENTS_BATCH_SIZE 1000 用于持久保存最新遥测更新的批量大小
sql.edge_events.batch_max_delay SQL_EDGE_EVENTS_BATCH_MAX_DELAY_MS 100 最新遥测条目队列轮询的最大超时。设置的值以毫秒为单位
sql.edge_events.stats_print_interval_ms SQL_EDGE_EVENTS_BATCH_STATS_PRINT_MS 10000 打印最新遥测更新统计数据的时间间隔(以毫秒为单位)
sql.edge_events.partition_size SQL_EDGE_EVENTS_PARTITION_SIZE_HOURS 168 划分事件的小时数。当前值对应于一周。
sql.audit_logs.partition_size SQL_AUDIT_LOGS_PARTITION_SIZE_HOURS 168 默认值 - 1周
sql.alarm_comments.partition_size SQL_ALARM_COMMENTS_PARTITION_SIZE_HOURS 168 默认值 - 1周
sql.blob_entities.partition_size SQL_BLOB_ENTITIES_PARTITION_SIZE_HOURS 168 Default value - 1 week
sql.reports.partition_size SQL_REPORTS_PARTITION_SIZE_HOURS 168 Default value - 1 week
sql.notifications.partition_size SQL_NOTIFICATIONS_PARTITION_SIZE_HOURS 168 默认值 - 1周
sql.batch_sort SQL_BATCH_SORT true 指定批量更新前是否对实体进行排序。应启用集群模式以避免死锁
sql.remove_null_chars SQL_REMOVE_NULL_CHARS true 指定在插入之前是否从属性和时间序列的strValue中删除空字符
sql.log_queries SQL_LOG_QUERIES false 指定是否记录实体查询存储库生成的数据库查询及其参数
sql.log_queries_threshold SQL_LOG_QUERIES_THRESHOLD 5000 要记录的慢SQL查询的阈值。设置的值以毫秒为单位
sql.log_tenant_stats SQL_LOG_TENANT_STATS true 启用/禁用记录有关租户的统计信息
sql.log_tenant_stats_interval_ms SQL_LOG_TENANT_STATS_INTERVAL_MS 60000 打印租户最新统计信息的时间间隔(毫秒)
sql.postgres.ts_key_value_partitioning SQL_POSTGRES_TS_KV_PARTITIONING MONTHS 指定时间戳键值存储的分区大小。示例:天、月、年、不定。
sql.timescale.chunk_time_interval SQL_TIMESCALE_CHUNK_TIME_INTERVAL 604800000 指定新数据块存储的间隔大小。
sql.timescale.batch_threads SQL_TIMESCALE_BATCH_THREADS 3 批处理线程数必须是素数,如3或5,以获得完美的哈希分布
sql.ttl.ts.enabled SQL_TTL_TS_ENABLED true 启用/禁用时间序列记录的TTL(生存时间)
sql.ttl.ts.execution_interval_ms SQL_TTL_TS_EXECUTION_INTERVAL 86400000 毫秒数。当前值对应一天
sql.ttl.ts.ts_key_value_ttl SQL_TTL_TS_TS_KEY_VALUE_TTL 0 用于指定时间序列记录的系统TTL(生存时间)值的参数。以秒为单位设置的值。0 - 记录永不过期。
sql.ttl.events.enabled SQL_TTL_EVENTS_ENABLED true 启用/禁用事件记录的TTL(生存时间)
sql.ttl.events.execution_interval_ms SQL_TTL_EVENTS_EXECUTION_INTERVAL 3600000 毫秒数(最大随机初始延迟和固定周期)。
sql.ttl.events.events_ttl SQL_TTL_EVENTS_EVENTS_TTL 0 秒数。默认情况下,TTL处于禁用状态。清理的准确性取决于sql.events.partition_size参数。
sql.ttl.events.debug_events_ttl SQL_TTL_EVENTS_DEBUG_EVENTS_TTL 604800 秒数。当前值对应于一周。清理的准确性取决于sql.events.debug_partition_size参数。
sql.ttl.edge_events.enabled SQL_TTL_EDGE_EVENTS_ENABLED true 启用/禁用边缘事件记录的TTL(生存时间)
sql.ttl.edge_events.execution_interval_ms SQL_TTL_EDGE_EVENTS_EXECUTION_INTERVAL 86400000 毫秒数。当前值对应一天
sql.ttl.edge_events.edge_events_ttl SQL_TTL_EDGE_EVENTS_TTL 2628000 秒数。当前值对应一个月
sql.ttl.alarms.checking_interval SQL_ALARMS_TTL_CHECKING_INTERVAL 7200000 毫秒数。当前值对应两小时
sql.ttl.alarms.removal_batch_size SQL_ALARMS_TTL_REMOVAL_BATCH_SIZE 3000 不是一次性而是批量删除过时的警报
sql.ttl.rpc.enabled SQL_TTL_RPC_ENABLED true 启用/禁用rpc调用记录的TTL(生存时间)
sql.ttl.rpc.checking_interval SQL_RPC_TTL_CHECKING_INTERVAL 7200000 毫秒数。当前值对应两小时
sql.ttl.audit_logs.enabled SQL_TTL_AUDIT_LOGS_ENABLED true 启用/禁用审核日志记录的TTL(生存时间)
sql.ttl.audit_logs.ttl SQL_TTL_AUDIT_LOGS_SECS 0 默认禁用。清理的准确性取决于sql.audit_logs.partition_size
sql.ttl.audit_logs.checking_interval_ms SQL_TTL_AUDIT_LOGS_CHECKING_INTERVAL_MS 86400000 默认值 - 1天
sql.ttl.blob_entities.enabled SQL_TTL_BLOB_ENTITIES_ENABLED false The parameter to specify whether to use TTL (Time To Live) for blob entities records
sql.ttl.blob_entities.ttl SQL_TTL_BLOB_ENTITIES_SECS 0 Disabled by default.
sql.ttl.blob_entities.checking_interval_ms SQL_TTL_BLOB_ENTITIES_CHECKING_INTERVAL_MS 86400000 Default value - 1 day
sql.ttl.reports.enabled SQL_TTL_REPORTS_ENABLED false The parameter to specify whether to use TTL (Time To Live) for reports
sql.ttl.reports.ttl SQL_TTL_REPORTS_SECS 0 Disabled by default.
sql.ttl.reports.checking_interval_ms SQL_TTL_REPORTS_CHECKING_INTERVAL_MS 86400000 Default value - 1 day
sql.ttl.notifications.enabled SQL_TTL_NOTIFICATIONS_ENABLED true 启用/禁用通知中心记录的TTL(生存时间)
sql.ttl.notifications.ttl SQL_TTL_NOTIFICATIONS_SECS 2592000 默认值 - 30天
sql.ttl.notifications.checking_interval_ms SQL_TTL_NOTIFICATIONS_CHECKING_INTERVAL_MS 86400000 默认值 - 1天
sql.ttl.api_keys.enabled SQL_TTL_API_KEYS_ENABLED true 启用/禁用过期api密钥记录的TTL(生存时间)
sql.ttl.api_keys.checking_interval_ms SQL_TTL_API_KEYS_CHECKING_INTERVAL_MS 86400000 默认值 - 1天
sql.relations.max_level SQL_RELATIONS_MAX_LEVEL 50 该值必须相当小,以尽早防止无限递归
sql.relations.pool_size SQL_RELATIONS_POOL_SIZE 4 该值必须相当小,以防止关系查询阻塞所有其他数据库调用
sql.relations.query_timeout SQL_RELATIONS_QUERY_TIMEOUT_SEC 20 该值必须相当小,以防止关系查询阻塞所有其他数据库调用

Actor系统参数

参数环境变量默认值描述
actors.system.throughput ACTORS_SYSTEM_THROUGHPUT 5 在切换到处理下一个参与者的消息之前,参与者系统将为每个参与者处理的消息数
actors.system.scheduler_pool_size ACTORS_SYSTEM_SCHEDULER_POOL_SIZE 1 Actor系统调度程序的线程池大小
actors.system.max_actor_init_attempts ACTORS_SYSTEM_MAX_ACTOR_INIT_ATTEMPTS 10 禁用Actor之前尝试初始化Actor的最大次数
actors.system.app_dispatcher_pool_size ACTORS_SYSTEM_APP_DISPATCHER_POOL_SIZE 1 主要参与者系统调度程序的线程池大小
actors.system.tenant_dispatcher_pool_size ACTORS_SYSTEM_TENANT_DISPATCHER_POOL_SIZE 2 为租户参与者处理消息的参与者系统调度程序的线程池大小
actors.system.device_dispatcher_pool_size ACTORS_SYSTEM_DEVICE_DISPATCHER_POOL_SIZE 4 为设备参与者处理消息的参与者系统调度程序的线程池大小
actors.system.rule_dispatcher_pool_size ACTORS_SYSTEM_RULE_DISPATCHER_POOL_SIZE 8 为规则引擎(链/节点)参与者处理消息的参与者系统调度程序的线程池大小
actors.system.edge_dispatcher_pool_size ACTORS_SYSTEM_EDGE_DISPATCHER_POOL_SIZE 4 为边缘参与者处理消息的参与者系统调度程序的线程池大小
actors.system.cfm_dispatcher_pool_size ACTORS_SYSTEM_CFM_DISPATCHER_POOL_SIZE 2 为CalculatedField管理器actor处理消息的actor系统调度程序的线程池大小
actors.system.cfe_dispatcher_pool_size ACTORS_SYSTEM_CFE_DISPATCHER_POOL_SIZE 8 用于处理CalculatedField实体参与者消息的参与者系统调度程序的线程池大小
actors.tenant.create_components_on_init ACTORS_TENANT_CREATE_COMPONENTS_ON_INIT true 在初始化时创建组件
actors.session.max_concurrent_sessions_per_device ACTORS_MAX_CONCURRENT_SESSION_PER_DEVICE 1 每台设备的最大并发会话数
actors.session.sync.timeout ACTORS_SESSION_SYNC_TIMEOUT 10000 使用同步会话(HTTP、CoAP)处理请求的默认超时(以毫秒为单位)
actors.rule.db_callback_thread_pool_size ACTORS_RULE_DB_CALLBACK_THREAD_POOL_SIZE 50 指定数据库请求回调执行器服务的线程池大小
actors.rule.mail_thread_pool_size ACTORS_RULE_MAIL_THREAD_POOL_SIZE 40 指定邮件发送执行器服务的线程池大小
actors.rule.mail_password_reset_thread_pool_size ACTORS_RULE_MAIL_PASSWORD_RESET_THREAD_POOL_SIZE 10 指定密码重置电子邮件的线程池大小
actors.rule.sms_thread_pool_size ACTORS_RULE_SMS_THREAD_POOL_SIZE 50 指定短信发送执行器服务的线程池大小
actors.rule.allow_system_mail_service ACTORS_RULE_ALLOW_SYSTEM_MAIL_SERVICE true 规则是否允许使用系统邮件服务
actors.rule.allow_system_sms_service ACTORS_RULE_ALLOW_SYSTEM_SMS_SERVICE true 规则是否允许使用系统短信服务
actors.rule.external_call_thread_pool_size ACTORS_RULE_EXTERNAL_CALL_THREAD_POOL_SIZE 50 指定外部调用服务的线程池大小
actors.rule.ai-requests-thread-pool.pool-name ACTORS_RULE_AI_REQUESTS_THREAD_POOL_NAME ai-requests 线程的基本名称
actors.rule.ai-requests-thread-pool.pool-size ACTORS_RULE_AI_REQUESTS_THREAD_POOL_SIZE 50 最大并发HTTP请求数
actors.rule.ai-requests-thread-pool.termination-timeout-seconds ACTORS_RULE_AI_REQUESTS_THREAD_POOL_TERMINATION_TIMEOUT_SECONDS 60 正常关闭期间等待活动任务完成的最长时间(以秒为单位)
actors.rule.chain.error_persist_frequency ACTORS_RULE_CHAIN_ERROR_FREQUENCY 3000 特定参与者的错误每指定的毫秒数持续一次
actors.rule.chain.debug_mode_rate_limits_per_tenant.enabled ACTORS_RULE_CHAIN_DEBUG_MODE_RATE_LIMITS_PER_TENANT_ENABLED true 启用/禁用每个租户的所有规则节点的持久调试事件的速率限制
actors.rule.chain.debug_mode_rate_limits_per_tenant.configuration ACTORS_RULE_CHAIN_DEBUG_MODE_RATE_LIMITS_PER_TENANT_CONFIGURATION 50000:3600 DEBUG模式速率限制的值。默认情况下,每小时不超过50,000个事件
actors.rule.node.error_persist_frequency ACTORS_RULE_NODE_ERROR_FREQUENCY 3000 特定参与者的错误每指定的毫秒数持续一次
actors.rule.transaction.queue_size ACTORS_RULE_TRANSACTION_QUEUE_SIZE 15000 事务规则节点存储消息的队列大小
actors.rule.transaction.duration ACTORS_RULE_TRANSACTION_DURATION 60000 交易完成的时间(以毫秒为单位)
actors.rule.external.force_ack ACTORS_RULE_EXTERNAL_NODE_FORCE_ACK false 强制确认外部规则节点的传入消息以减少处理延迟。将外部节点处理的结果作为单独的消息排队到规则引擎。
actors.rpc.max_retries ACTORS_RPC_MAX_RETRIES 5 请求传递失败时持久RPC调用重试的最大次数。
actors.rpc.submit_strategy ACTORS_RPC_SUBMIT_STRATEGY_TYPE BURST RPC提交策略。允许的值:BURST、SEQUENTIAL_ON_ACK_FROM_DEVICE、SEQUENTIAL_ON_RESPONSE_FROM_DEVICE。
actors.rpc.response_timeout_ms ACTORS_RPC_RESPONSE_TIMEOUT_MS 30000 RPC交付后收到响应的时间(以毫秒为单位)。仅用于SEQUENTIAL_ON_RESPONSE_FROM_DEVICE提交策略。
actors.rpc.close_session_on_rpc_delivery_timeout ACTORS_RPC_CLOSE_SESSION_ON_RPC_DELIVERY_TIMEOUT false 如果RPC传送超时,请关闭传输会话。如果启用,RPC将恢复到排队状态。注意:
  • 对于MQTT传输:
    • QoS级别0:此功能不适用,因为不需要确认,因此不会触发超时。
    • QoS级别1:应用此功能,因为需要确认。
    • QoS级别2:不支持。
  • 对于CoAP传输:
    • 可确认请求:此功能适用,因为需要传送确认。
    • 不可确认请求:此功能不适用,因为不需要传送确认。
  • 对于HTTP和SNPM传输:RPC被视为立即传送,并且没有等待确认的逻辑。
actors.statistics.enabled ACTORS_STATISTICS_ENABLED true 启用/禁用Actor统计
actors.statistics.persist_frequency ACTORS_STATISTICS_PERSIST_FREQUENCY 3600000 Actor统计持续频率(以毫秒为单位)
actors.calculated_fields.debug_mode_rate_limits_per_tenant.enabled ACTORS_CALCULATED_FIELD_DEBUG_MODE_RATE_LIMITS_PER_TENANT_ENABLED true 启用/禁用每个租户所有字段计算的持久调试事件的速率限制
actors.calculated_fields.debug_mode_rate_limits_per_tenant.configuration ACTORS_CALCULATED_FIELD_DEBUG_MODE_RATE_LIMITS_PER_TENANT_CONFIGURATION 50000:3600 DEBUG模式速率限制的值。默认情况下,每小时不超过50,000个事件
actors.calculated_fields.calculation_timeout ACTORS_CALCULATION_TIMEOUT_SEC 5 接收计算结果的时间(以秒为单位)。
debug.settings.default_duration DEBUG_SETTINGS_DEFAULT_DURATION_MINUTES 15 调试模式的默认持续时间(以分钟为单位)。最小值为1分钟。租户配置设置会覆盖此设置。如果此设置的值无效,则将使用默认值(15分钟)。

平台集成参数

参数环境变量默认值描述
integrations.statistics.enabled INTEGRATIONS_STATISTICS_ENABLED true 启用/禁用集成统计功能
integrations.statistics.persist_frequency INTEGRATIONS_STATISTICS_PERSIST_FREQUENCY 3600000 集成统计数据持久化频率(毫秒)
integrations.init.connection_timeout_sec INTEGRATIONS_INIT_CONNECTION_TIMEOUT_SEC 10 集成连接允许的最大超时时间(秒)。用户配置若超过此值,将自动降至该上限。
integrations.init.connection_check_api_request_timeout_sec INTEGRATIONS_INIT_CONNECTION_CHECK_API_REQUEST_TIMEOUT_SEC 20 API请求连接检查超时时间(秒)
integrations.reinit.enabled INTEGRATIONS_REINIT_ENABLED true 启用/禁用集成热重初始化
integrations.reinit.frequency INTEGRATIONS_REINIT_FREQUENCY 300000 检查并重新初始化集成的间隔
integrations.allow_Local_network_hosts INTEGRATIONS_ALLOW_LOCAL_NETWORK_HOSTS true 启用/禁用集成本地网络主机访问
integrations.rpc.enabled INTEGRATIONS_RPC_ENABLED true 启用/禁用通过集成发起RPC调用
integrations.rpc.port INTEGRATIONS_RPC_PORT 9090 Integration bind port
integrations.rpc.ssl.enabled INTEGRATIONS_RPC_SSL_ENABLED false 启用/禁用SSL支持
integrations.rpc.ssl.cert INTEGRATIONS_RPC_SSL_CERT certChainFile.pem Integration SSL certificate name
integrations.rpc.ssl.privateKey INTEGRATIONS_RPC_SSL_PRIVATE_KEY privateKeyFile.pem Integration SSL private key
integrations.rpc.client_max_keep_alive_time_sec INTEGRATIONS_RPC_CLIENT_MAX_KEEP_ALIVE_TIME_SEC 300 Disconnect a client if no keepalive ping received in the specified time
integrations.activity.reporting_period INTEGRATIONS_ACTIVITY_REPORTING_PERIOD 3000 This property defines the time interval, in milliseconds, for reporting activity events like post telemetry or post attributes. The value set here determines how frequently the system will report on activities. For instance, a value of 3000 means the system will gather and potentially report activities every 3 seconds.
integrations.activity.reporting_strategy INTEGRATIONS_ACTIVITY_REPORTING_STRATEGY LAST This property specifies the strategy for reporting activity events within each reporting period. The accepted values are 'FIRST', 'LAST', 'FIRST_AND_LAST' and 'ALL'. - 'FIRST': Only the first activity event in each reporting period is reported. - 'LAST': Only the last activity event in the reporting period is reported. - 'FIRST_AND_LAST': Both the first and last activity events in the reporting period are reported. - 'ALL': All activity events in the reporting period are reported.
integrations.converters.library.enabled TB_INTEGRATIONS_CONVERTERS_LIBRARY_ENABLED true 启用/禁用数据转换器库
integrations.converters.library.url TB_INTEGRATIONS_CONVERTERS_LIBRARY_REPO_URL https://github.com/thingsboard/data-converters.git URL of the data converters repository
integrations.converters.library.branch TB_INTEGRATIONS_CONVERTERS_LIBRARY_REPO_BRANCH release/4.0.0 Branch of the data converters repository to use. By default, a release branch with compatible version. Whenever non-backward-compatible changes are needed in the library - a new branch with min supported TB version should be created, and the default branch here - updated.
integrations.converters.library.fetch_frequency TB_INTEGRATIONS_CONVERTERS_LIBRARY_REPO_FETCH_FREQUENCY 24 Fetch frequency in hours for data converters repository

报告参数

参数环境变量默认值描述
reports.web_report.base_url REPORTS_SERVER_ENDPOINT_URL http://localhost:8383 Report server endpoint
reports.web_report.max_response_size MAX_RESPONSE_SIZE 52428800 50MB
reports.generation_timeout_ms REPORT_GENERATION_TIMEOUT_MS 120000 Timeout in milliseconds for generating report, 2 minutes by default
reports.test_report_pool_size TEST_REPORT_GENERATION_POOL_SIZE 12 Thread pool size to execute test report generation
reports.rate_limits.enabled REPORTS_TENANT_RATE_LIMITS_ENABLED false 启用/禁用报表租户限流
reports.rate_limits.configuration REPORTS_TENANT_RATE_LIMITS_CONFIGURATION 5:300 The value of reports rate limits. By default, no more than 5 reports per 300 second
reports.scheduler.min_interval REPORTS_SCHEDULER_MIN_INTERVAL_IN_SEC 60 minimum interval between subsequent scheduler events. Applicable for timer based events.

缓存参数

参数环境变量默认值描述
cache.type CACHE_TYPE caffeine caffeine或redis(7.2-最新兼容版本)
cache.maximumPoolSize CACHE_MAXIMUM_POOL_SIZE 16 处理调用外部缓存的future的最大池大小
cache.attributes.enabled CACHE_ATTRIBUTES_ENABLED true 如果将“maxmemory-policy”Redis配置属性更改为“allkeys-lru”、“allkeys-lfu”或“allkeys-random”,请确保cache.type为“redis”且cache.attributes.enabled为“true”
cache.ts_latest.enabled CACHE_TS_LATEST_ENABLED true 将为SQL时间序列最新的DAO启用缓存旁路策略。如果将“maxmemory-policy”Redis配置属性更改为“allkeys-lru”、“allkeys-lfu”或“allkeys-random”,请确保cache.type为“redis”且cache.ts_latest.enabled为“true”
cache.specs.relations.timeToLiveInMinutes CACHE_SPECS_RELATIONS_TTL 1440 关系缓存TTL
cache.specs.relations.maxSize CACHE_SPECS_RELATIONS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.deviceCredentials.timeToLiveInMinutes CACHE_SPECS_DEVICE_CREDENTIALS_TTL 1440 设备凭据缓存TTL
cache.specs.deviceCredentials.maxSize CACHE_SPECS_DEVICE_CREDENTIALS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.devices.timeToLiveInMinutes CACHE_SPECS_DEVICES_TTL 1440 设备缓存TTL
cache.specs.devices.maxSize CACHE_SPECS_DEVICES_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.sessions.timeToLiveInMinutes CACHE_SPECS_SESSIONS_TTL 1440 会话缓存TTL
cache.specs.sessions.maxSize CACHE_SPECS_SESSIONS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.assets.timeToLiveInMinutes CACHE_SPECS_ASSETS_TTL 1440 资源缓存TTL
cache.specs.assets.maxSize CACHE_SPECS_ASSETS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.customers.timeToLiveInMinutes CACHE_SPECS_CUSTOMERS_TTL 1440 客户缓存TTL
cache.specs.customers.maxSize CACHE_SPECS_CUSTOMERS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.users.timeToLiveInMinutes CACHE_SPECS_USERS_TTL 1440 用户缓存TTL
cache.specs.users.maxSize CACHE_SPECS_USERS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.entityViews.timeToLiveInMinutes CACHE_SPECS_ENTITY_VIEWS_TTL 1440 实体视图缓存TTL
cache.specs.entityViews.maxSize CACHE_SPECS_ENTITY_VIEWS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.claimDevices.timeToLiveInMinutes CACHE_SPECS_CLAIM_DEVICES_TTL 1440 声明设备缓存TTL
cache.specs.claimDevices.maxSize CACHE_SPECS_CLAIM_DEVICES_MAX_SIZE 1000 0表示缓存被禁用
cache.specs.securitySettings.timeToLiveInMinutes CACHE_SPECS_SECURITY_SETTINGS_TTL 1440 安全设置缓存TTL
cache.specs.securitySettings.maxSize CACHE_SPECS_SECURITY_SETTINGS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.tenantProfiles.timeToLiveInMinutes CACHE_SPECS_TENANT_PROFILES_TTL 1440 租户配置缓存TTL
cache.specs.tenantProfiles.maxSize CACHE_SPECS_TENANT_PROFILES_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.tenants.timeToLiveInMinutes CACHE_SPECS_TENANTS_TTL 1440 租户缓存TTL
cache.specs.tenants.maxSize CACHE_SPECS_TENANTS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.tenantsExist.timeToLiveInMinutes CACHE_SPECS_TENANTS_TTL 1440 环境变量有意与“租户”缓存中的相同,以使其相等。
cache.specs.tenantsExist.maxSize CACHE_SPECS_TENANTS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.deviceProfiles.timeToLiveInMinutes CACHE_SPECS_DEVICE_PROFILES_TTL 1440 设备配置缓存TTL
cache.specs.deviceProfiles.maxSize CACHE_SPECS_DEVICE_PROFILES_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.assetProfiles.timeToLiveInMinutes CACHE_SPECS_ASSET_PROFILES_TTL 1440 资产配置缓存TTL
cache.specs.assetProfiles.maxSize CACHE_SPECS_ASSET_PROFILES_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.notificationSettings.timeToLiveInMinutes CACHE_SPECS_NOTIFICATION_SETTINGS_TTL 10 通知设置缓存TTL
cache.specs.notificationSettings.maxSize CACHE_SPECS_NOTIFICATION_SETTINGS_MAX_SIZE 1000 0表示缓存被禁用
cache.specs.sentNotifications.timeToLiveInMinutes CACHE_SPECS_SENT_NOTIFICATIONS_TTL 1440 发送通知缓存TTL
cache.specs.sentNotifications.maxSize CACHE_SPECS_SENT_NOTIFICATIONS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.attributes.timeToLiveInMinutes CACHE_SPECS_ATTRIBUTES_TTL 1440 属性缓存TTL
cache.specs.attributes.maxSize CACHE_SPECS_ATTRIBUTES_MAX_SIZE 100000 0表示缓存被禁用
cache.specs.tsLatest.timeToLiveInMinutes CACHE_SPECS_TS_LATEST_TTL 1440 时间序列最新缓存TTL
cache.specs.tsLatest.maxSize CACHE_SPECS_TS_LATEST_MAX_SIZE 100000 0表示缓存被禁用
cache.specs.userSessionsInvalidation.timeToLiveInMinutes "0" 该TTL的值将被忽略并替换为JWT刷新令牌过期时间
cache.specs.userSessionsInvalidation.maxSize CACHE_SPECS_USERS_UPDATE_TIME_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.otaPackages.timeToLiveInMinutes CACHE_SPECS_OTA_PACKAGES_TTL 60 Ota包缓存TTL
cache.specs.otaPackages.maxSize CACHE_SPECS_OTA_PACKAGES_MAX_SIZE 10 0表示缓存被禁用
cache.specs.otaPackagesData.timeToLiveInMinutes CACHE_SPECS_OTA_PACKAGES_DATA_TTL 60 OTA封装数据缓存TTL
cache.specs.otaPackagesData.maxSize CACHE_SPECS_OTA_PACKAGES_DATA_MAX_SIZE 10 0表示缓存被禁用
cache.specs.edges.timeToLiveInMinutes CACHE_SPECS_EDGES_TTL 1440 边缘缓存TTL
cache.specs.edges.maxSize CACHE_SPECS_EDGES_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.edgeSessions.timeToLiveInMinutes CACHE_SPECS_EDGE_SESSIONS_TTL 0 边缘会话缓存TTL;如果设置为“0”则没有过期时间
cache.specs.edgeSessions.maxSize CACHE_SPECS_EDGE_SESSIONS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.relatedEdges.timeToLiveInMinutes CACHE_SPECS_RELATED_EDGES_TTL 1440 相关边缘缓存TTL
cache.specs.relatedEdges.maxSize CACHE_SPECS_RELATED_EDGES_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.repositorySettings.timeToLiveInMinutes CACHE_SPECS_REPOSITORY_SETTINGS_TTL 1440 存储库设置缓存TTL
cache.specs.repositorySettings.maxSize CACHE_SPECS_REPOSITORY_SETTINGS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.autoCommitSettings.timeToLiveInMinutes CACHE_SPECS_AUTO_COMMIT_SETTINGS_TTL 1440 自动提交设置缓存TTL
cache.specs.autoCommitSettings.maxSize CACHE_SPECS_AUTO_COMMIT_SETTINGS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.twoFaVerificationCodes.timeToLiveInMinutes CACHE_SPECS_TWO_FA_VERIFICATION_CODES_TTL 60 二因素验证码缓存TTL
cache.specs.twoFaVerificationCodes.maxSize CACHE_SPECS_TWO_FA_VERIFICATION_CODES_MAX_SIZE 100000 0表示缓存被禁用
cache.specs.versionControlTask.timeToLiveInMinutes CACHE_SPECS_VERSION_CONTROL_TASK_TTL 20 版本控制任务缓存TTL
cache.specs.versionControlTask.maxSize CACHE_SPECS_VERSION_CONTROL_TASK_MAX_SIZE 100000 0表示缓存被禁用
cache.specs.userSettings.timeToLiveInMinutes CACHE_SPECS_USER_SETTINGS_TTL 1440 用户设置缓存TTL
cache.specs.userSettings.maxSize CACHE_SPECS_USER_SETTINGS_MAX_SIZE 100000 0表示缓存被禁用
cache.specs.dashboardTitles.timeToLiveInMinutes CACHE_SPECS_DASHBOARD_TITLES_TTL 1440 仪表板标题缓存TTL
cache.specs.dashboardTitles.maxSize CACHE_SPECS_DASHBOARD_TITLES_MAX_SIZE 100000 0表示缓存被禁用
cache.specs.entityCount.timeToLiveInMinutes CACHE_SPECS_ENTITY_COUNT_TTL 1440 实体计数缓存TTL
cache.specs.entityCount.maxSize CACHE_SPECS_ENTITY_COUNT_MAX_SIZE 100000 0表示缓存被禁用
cache.specs.resourceInfo.timeToLiveInMinutes CACHE_SPECS_RESOURCE_INFO_TTL 1440 资源信息缓存TTL
cache.specs.resourceInfo.maxSize CACHE_SPECS_RESOURCE_INFO_MAX_SIZE 100000 0表示缓存被禁用
cache.specs.alarmTypes.timeToLiveInMinutes CACHE_SPECS_ALARM_TYPES_TTL 60 警报类型缓存TTL
cache.specs.alarmTypes.maxSize CACHE_SPECS_ALARM_TYPES_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.qrCodeSettings.timeToLiveInMinutes CACHE_SPECS_MOBILE_APP_SETTINGS_TTL 1440 二维码设置缓存TTL
cache.specs.qrCodeSettings.maxSize CACHE_SPECS_MOBILE_APP_SETTINGS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.mobileSecretKey.timeToLiveInMinutes CACHE_MOBILE_SECRET_KEY_TTL 2 QR密钥缓存TTL
cache.specs.mobileSecretKey.maxSize CACHE_MOBILE_SECRET_KEY_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.trendzSettings.timeToLiveInMinutes CACHE_SPECS_TRENDZ_SETTINGS_TTL 1440 Trendz设置缓存TTL
cache.specs.trendzSettings.maxSize CACHE_SPECS_TRENDZ_SETTINGS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.aiModel.timeToLiveInMinutes CACHE_SPECS_AI_MODEL_TTL 1440 AI模型缓存TTL
cache.specs.aiModel.maxSize CACHE_SPECS_AI_MODEL_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.mailOauth2State.timeToLiveInMinutes CACHE_SPECS_MAIL_OAUTH2_STATE_TTL 2 mail oauth2 state parameter TTL
cache.specs.mailOauth2State.maxSize CACHE_SPECS_MAIL_OAUTH2_STATE_SIZE 10000 0 means the cache is disabled
cache.specs.apiKeys.timeToLiveInMinutes CACHE_SPECS_API_KEYS_TTL 1440 API密钥缓存TTL
cache.specs.apiKeys.maxSize CACHE_SPECS_API_KEYS_MAX_SIZE 10000 0表示缓存被禁用
cache.specs.downlink.timeToLiveInMinutes CACHE_SPECS_DOWNLINK_TTL 1440 Downlink converter cache specs TTL
cache.specs.downlink.maxSize CACHE_SPECS_DOWNLINK_MAX_SIZE 100000 0 means the cache is disabled
cache.specs.roles.timeToLiveInMinutes CACHE_SPECS_ROLES_TTL 1440 roles cache TTL
cache.specs.roles.maxSize CACHE_SPECS_ROLES_MAX_SIZE 10000 0 means the cache is disabled
cache.specs.permissions.timeToLiveInMinutes CACHE_SPECS_PERMISSIONS_TTL 1440 permissions cache TTL
cache.specs.permissions.maxSize CACHE_SPECS_PERMISSIONS_MAX_SIZE 10000 0 means the cache is disabled
cache.specs.owners.timeToLiveInMinutes CACHE_SPECS_OWNERS_TTL 1440 owners cache TTL
cache.specs.owners.maxSize CACHE_SPECS_OWNERS_MAX_SIZE 100000 0 means the cache is disabled
cache.specs.remoteIntegrations.timeToLiveInMinutes CACHE_SPECS_REMOTE_INTEGRATIONS_TTL 1440 remote integrations cache specs TTL
cache.specs.remoteIntegrations.maxSize CACHE_SPECS_REMOTE_INTEGRATIONS_MAX_SIZE 10000 0 means the cache is disabled
cache.specs.integrations.timeToLiveInMinutes CACHE_SPECS_INTEGRATIONS_TTL 1440 integrations cache specs TTL
cache.specs.integrations.maxSize CACHE_SPECS_INTEGRATIONS_MAX_SIZE 10000 0 means the cache is disabled
cache.specs.whiteLabeling.timeToLiveInMinutes CACHE_SPECS_WHITE_LABELING_TTL 1440 White labeling cache TTL
cache.specs.whiteLabeling.maxSize CACHE_SPECS_WHITE_LABELING_MAX_SIZE 10000 0 means the cache is disabled
cache.specs.customTranslation.timeToLiveInMinutes CACHE_SPECS_CUSTOM_TRANSLATION_TTL 1440 Custom translation cache TTL
cache.specs.customTranslation.maxSize CACHE_SPECS_CUSTOM_TRANSLATION_MAX_SIZE 10000 0 means the cache is disabled
cache.specs.customMenu.timeToLiveInMinutes CACHE_SPECS_CUSTOM_MENU_TTL 1440 Custom menu cache TTL
cache.specs.customMenu.maxSize CACHE_SPECS_CUSTOM_MENU_MAX_SIZE 10000 0 means the cache is disabled
cache.specs.entityGroups.timeToLiveInMinutes CACHE_SPECS_ENTITY_GROUPS_TTL 1440 entity groups cache TTL
cache.specs.entityGroups.maxSize CACHE_SPECS_ENTITY_GROUPS_MAX_SIZE 10000 0 means the cache is disabled
cache.specs.secrets.timeToLiveInMinutes CACHE_SPECS_SECRETS_SETTINGS_TTL 1440 Secrets cache TTL
cache.specs.secrets.maxSize CACHE_SPECS_SECRETS_SETTINGS_MAX_SIZE 10000 0 means the cache is disabled
cache.notificationRules.timeToLiveInMinutes CACHE_SPECS_NOTIFICATION_RULES_TTL 30 通知规则缓存TTL
cache.notificationRules.maxSize CACHE_SPECS_NOTIFICATION_RULES_MAX_SIZE 1000 0表示缓存被禁用
cache.rateLimits.timeToLiveInMinutes CACHE_SPECS_RATE_LIMITS_TTL 120 速率限制缓存TTL
cache.rateLimits.maxSize CACHE_SPECS_RATE_LIMITS_MAX_SIZE 200000 0表示缓存被禁用
cache.entityLimits.timeToLiveInMinutes CACHE_SPECS_ENTITY_LIMITS_TTL 5 实体限制缓存TTL
cache.entityLimits.maxSize CACHE_SPECS_ENTITY_LIMITS_MAX_SIZE 100000 0表示缓存被禁用
cache.image.etag.timeToLiveInMinutes CACHE_SPECS_IMAGE_ETAGS_TTL 44640 图像ETag缓存TTL
cache.image.etag.maxSize CACHE_SPECS_IMAGE_ETAGS_MAX_SIZE 10000 0表示缓存被禁用
cache.image.systemImagesBrowserTtlInMinutes CACHE_SPECS_IMAGE_SYSTEM_BROWSER_TTL 0 浏览器在几分钟内缓存系统映像的TTL。0表示缓存被禁用
cache.image.tenantImagesBrowserTtlInMinutes CACHE_SPECS_IMAGE_TENANT_BROWSER_TTL 0 浏览器在几分钟内缓存租户图像的TTL。0表示缓存被禁用
cache.translation.etag.timeToLiveInMinutes CACHE_SPECS_TRANSLATION_ETAGS_TTL 44640 Translation ETags cache TTL in minutes (one month by default)
cache.translation.etag.maxSize CACHE_SPECS_TRANSLATION_ETAGS_MAX_SIZE 1000000 0 means the cache is disabled
cache.customMenu.etag.timeToLiveInMinutes CACHE_SPECS_CUSTOM_MENU_ETAGS_TTL 44640 Custom Menu ETags cache TTL in minutes (one month by default)
cache.customMenu.etag.maxSize CACHE_SPECS_CUSTOM_MENU_ETAGS_MAX_SIZE 1000000 0 means the cache is disabled
cache.tbResourceData.timeToLiveInMinutes CACHE_SPECS_RESOURCE_DATA_TTL 10080 TB资源数据缓存TTL
cache.tbResourceData.maxSize CACHE_SPECS_RESOURCE_DATA_MAX_SIZE 100000 0表示缓存被禁用
cache.userAuthDetails.timeToLiveInMinutes CACHE_SPECS_USER_AUTH_DETAILS_TTL 120 用户身份验证详细信息缓存TTL
cache.userAuthDetails.maxSize CACHE_SPECS_USER_AUTH_DETAILS_MAX_SIZE 200000 0表示缓存被禁用

Spring数据参数

参数环境变量默认值描述
spring.data.redis.repositories.enabled false 禁用它,因为它不是必需的。

Redis/Valkey配置参数

参数环境变量默认值描述
redis.connection.type REDIS_CONNECTION_TYPE standalone Redis部署类型:独立(单Redis节点部署)或集群
redis.standalone.host REDIS_HOST localhost Redis连接主机
redis.standalone.port REDIS_PORT 6379 Redis连接端口
redis.standalone.useDefaultClientConfig REDIS_USE_DEFAULT_CLIENT_CONFIG true 使用默认的Redis配置文件
redis.standalone.clientName REDIS_CLIENT_NAME standalone 仅当使用非默认ClientConfig时生效
redis.standalone.connectTimeout REDIS_CLIENT_CONNECT_TIMEOUT 30000 仅当使用非默认ClientConfig时生效
redis.standalone.readTimeout REDIS_CLIENT_READ_TIMEOUT 60000 仅当使用非默认ClientConfig时生效
redis.standalone.usePoolConfig REDIS_CLIENT_USE_POOL_CONFIG false 仅当使用非默认ClientConfig时生效
redis.cluster.nodes REDIS_NODES 用于引导的"host:port"对列表(逗号分隔).
redis.cluster.max-redirects REDIS_MAX_REDIRECTS 12 集群中执行命令时允许的最大重定向数.
redis.cluster.useDefaultPoolConfig REDIS_USE_DEFAULT_POOL_CONFIG true 如果设置为false将使用池配置从池配置部分的值构建
redis.sentinel.master REDIS_MASTER 主节点名称
redis.sentinel.sentinels REDIS_SENTINELS 以逗号分隔的“主机:端口”哨兵对列表
redis.sentinel.password REDIS_SENTINEL_PASSWORD 与哨兵进行身份验证的密码
redis.sentinel.useDefaultPoolConfig REDIS_USE_DEFAULT_POOL_CONFIG true 如果设置为false,将使用池配置从池配置部分的值构建
redis.db REDIS_DB 0 数据库索引
redis.password REDIS_PASSWORD 数据库密码
redis.username REDIS_USERNAME 用于ACL身份验证的Redis用户名(Redis 6.0+)。对于旧版仅密码身份验证留空
redis.ssl.enabled TB_REDIS_SSL_ENABLED false 启用/禁用安全连接
redis.ssl.credentials.cert_file TB_REDIS_SSL_PEM_CERT Redis服务器(CA)证书路径
redis.ssl.credentials.user_cert_file TB_REDIS_SSL_PEM_KEY 用户证书文件的路径。这对于客户端来说是可选的,可以用于客户端的双向身份验证
redis.ssl.credentials.user_key_file TB_REDIS_SSL_PEM_KEY_PASSWORD 用户私钥文件的路径。这对于客户端来说是可选的,并且仅在配置了“user_cert_file”时才需要。
redis.pool_config.maxTotal REDIS_POOL_CONFIG_MAX_TOTAL 128 连接池可分配的最大连接数
redis.pool_config.maxIdle REDIS_POOL_CONFIG_MAX_IDLE 128 池中可维持且不被关闭的最大空闲连接数
redis.pool_config.minIdle REDIS_POOL_CONFIG_MIN_IDLE 16 池中可以维持且不被关闭的最小空闲连接数
redis.pool_config.testOnBorrow REDIS_POOL_CONFIG_TEST_ON_BORROW false 启用/禁用借用连接时发送的PING命令
redis.pool_config.testOnReturn REDIS_POOL_CONFIG_TEST_ON_RETURN false 该属性用于指定在将连接返回到连接池之前是否对其进行测试。
redis.pool_config.testWhileIdle REDIS_POOL_CONFIG_TEST_WHILE_IDLE true 该属性用于Redis中的连接池上下文
redis.pool_config.minEvictableMs REDIS_POOL_CONFIG_MIN_EVICTABLE_MS 60000 空闲连接在从连接池中被逐出之前应处于空闲状态的最短时间。该值以毫秒为单位设置
redis.pool_config.evictionRunsMs REDIS_POOL_CONFIG_EVICTION_RUNS_MS 30000 指定两次连续驱逐运行之间的时间间隔(以毫秒为单位)
redis.pool_config.maxWaitMills REDIS_POOL_CONFIG_MAX_WAIT_MS 60000 当所有连接都耗尽时,客户端愿意等待池中连接的最长时间(以毫秒为单位)
redis.pool_config.numberTestsPerEvictionRun REDIS_POOL_CONFIG_NUMBER_TESTS_PER_EVICTION_RUN 3 指定每次逐出运行期间要测试逐出的连接数
redis.pool_config.blockWhenExhausted REDIS_POOL_CONFIG_BLOCK_WHEN_EXHAUSTED true 确定当线程从池中请求连接但没有可用连接并且由于maxTotal配置而池无法创建更多连接时的行为
redis.evictTtlInMs REDIS_EVICT_TTL_MS 60000 TTL用于替代DEL以启用事务支持的短期SET命令

更新版本参数

参数环境变量默认值描述
updates.enabled UPDATES_ENABLED true 启用/禁用新版本检查

Spring CORS配置参数

参数环境变量默认值描述
spring.mvc.cors.mappings."[/api/**]".allowed-origin-patterns "*" 允许的以逗号分隔的来源列表。'*'允许所有来源。如果未设置,则禁用CORS支持。
spring.mvc.cors.mappings."[/api/**]".allowed-methods "*" 允许的以逗号分隔的方法列表。'*'允许所有方法。
spring.mvc.cors.mappings."[/api/**]".allowed-headers "*" 请求中允许的以逗号分隔的标头列表。'*'允许所有标头。
spring.mvc.cors.mappings."[/api/**]".max-age "1800" 客户端可以缓存飞行前请求的响应多长时间(以秒为单位)。
spring.mvc.cors.mappings."[/api/**]".allow-credentials "true" 设置是否支持凭据。如果未设置,则不支持凭据。

常规Spring参数

参数环境变量默认值描述
spring.main.allow-circular-references "true" Spring Boot配置属性控制是否允许bean之间的循环依赖。
spring.freemarker.checkTemplateLocation "false" spring freemarker配置
spring.mvc.async.request-timeout SPRING_MVC_ASYNC_REQUEST_TIMEOUT 30000 异步请求的默认超时时间(以毫秒为单位)
spring.mvc.pathmatch.matching-strategy "ANT_PATH_MATCHER" 对于Swagger中的端点匹配
spring.resources.chain.compressed "true" 此属性启用或禁用对提供预压缩资源(例如 .gzip或 .br文件)的支持
spring.resources.chain.strategy.content.enabled "true" 此属性启用或禁用内容版本策略。这种策略允许Spring为静态资源生成一个唯一的版本,该版本基于资源的内容
spring.servlet.multipart.max-file-size SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE 50MB 配置文件上传时总文件大小不能超过50MB
spring.servlet.multipart.max-request-size SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE 50MB multipart/form-data的总请求大小不能超过50MB
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation "true" 修复Postgres JPA错误(方法org.postgresql.jdbc.PgConnection.createClob()尚未实现)
spring.jpa.properties.hibernate.order_by.default_null_ordering SPRING_JPA_PROPERTIES_HIBERNATE_ORDER_BY_DEFAULT_NULL_ORDERING last 注意:对于当前的Spring JPA版本,忽略Sort.Order的自定义NullHandling并使用此参数
spring.jpa.properties.hibernate.dialect SPRING_JPA_DIALECT org.thingsboard.server.dao.ThingsboardPostgreSQLDialect 我们使用包含ilike(arg1, arg2)函数的自定义方言(解释为postgres ILIKE运算符)

SQL DAO配置参数

参数环境变量默认值描述
spring.data.jpa.repositories.enabled "true" 启用/禁用Spring Data JPA存储库支持
spring.jpa.properties.jakarta.persistence.query.timeout JAVAX_PERSISTENCE_QUERY_TIMEOUT 30000 JDBC查询的一般超时
spring.jpa.open-in-view "false" 默认启用。因此,可以在视图渲染期间执行数据库查询。显式配置spring.jpa.open-in-view以禁用此警告
spring.jpa.hibernate.ddl-auto "none" 您可以设置Hibernate功能,以更细粒度的方式控制DDL行为。标准的Hibernate属性值为none、validate、update、create-drop。Spring Boot根据它认为您的数据库是否嵌入(默认创建-删除)或不(默认无)为您选择默认值
spring.datasource.driverClassName SPRING_DRIVER_CLASS_NAME org.postgresql.Driver Spring JPA的数据库驱动程序 - org.postgresql.Driver
spring.datasource.url SPRING_DATASOURCE_URL jdbc:postgresql://localhost:5432/thingsboard 数据库连接地址
spring.datasource.username SPRING_DATASOURCE_USERNAME postgres 数据库用户名
spring.datasource.password SPRING_DATASOURCE_PASSWORD postgres 数据库用户密码
spring.datasource.hikari.leakDetectionThreshold SPRING_DATASOURCE_HIKARI_LEAK_DETECTION_THRESHOLD 0 此属性控制在记录指示可能的连接泄漏的消息之前连接可以脱离池的时间量。值为0表示禁用泄漏检测
spring.datasource.hikari.maximumPoolSize SPRING_DATASOURCE_MAXIMUM_POOL_SIZE 16 随着需求的增加,此属性会增加池中的连接数量。同时,该属性确保池不会增长到耗尽系统资源的程度,从而最终影响应用程序的性能和可用性
spring.datasource.hikari.registerMbeans SPRING_DATASOURCE_HIKARI_REGISTER_MBEANS false 启用MBean通过JMX诊断池状态
spring.datasource.events.enabled SPRING_DEDICATED_EVENTS_DATASOURCE_ENABLED false 为事件和审核日志启用专用数据源(单独的数据库)。在启用此功能之前,请确保已在新数据库中设置以下表:error_event、lc_event、rule_chain_debug_event、rule_node_debug_event、stats_event、audit_log、cf_debug_event
spring.datasource.events.driverClassName SPRING_EVENTS_DATASOURCE_DRIVER_CLASS_NAME org.postgresql.Driver 用于事件数据源的Spring JPA数据库驱动程序
spring.datasource.events.url SPRING_EVENTS_DATASOURCE_URL jdbc:postgresql://localhost:5432/thingsboard_events 事件数据源的数据库连接URL
spring.datasource.events.username SPRING_EVENTS_DATASOURCE_USERNAME postgres 事件数据源的数据库用户名
spring.datasource.events.password SPRING_EVENTS_DATASOURCE_PASSWORD postgres 事件数据源的数据库用户密码
spring.datasource.events.hikari.leakDetectionThreshold SPRING_EVENTS_DATASOURCE_HIKARI_LEAK_DETECTION_THRESHOLD 0 此属性控制在记录一条消息(指示事件数据源可能存在连接泄漏)之前连接可以脱离池的时间量。值为0表示禁用泄漏检测
spring.datasource.events.hikari.maximumPoolSize SPRING_EVENTS_DATASOURCE_MAXIMUM_POOL_SIZE 4 随着事件数据源需求的增加,此属性会增加池中的连接数。同时,该属性确保池不会增长到耗尽系统资源的程度,从而最终影响应用程序的性能和可用性
spring.datasource.events.hikari.registerMbeans SPRING_EVENTS_DATASOURCE_HIKARI_REGISTER_MBEANS false 启用MBean通过JMX诊断事件数据源的池状态

审计日志参数

参数环境变量默认值描述
audit-log.enabled AUDIT_LOG_ENABLED true 启用/禁用审核日志功能。
audit-log.logging-level.mask."device" AUDIT_LOG_MASK_DEVICE W 设备日志记录级别。
audit-log.logging-level.mask."asset" AUDIT_LOG_MASK_ASSET W 资产记录级别。
audit-log.logging-level.mask."dashboard" AUDIT_LOG_MASK_DASHBOARD W 仪表板日志记录级别。
audit-log.logging-level.mask."widget_type" AUDIT_LOG_MASK_WIDGET_TYPE W 部件类型日志记录级别。
audit-log.logging-level.mask."widgets_bundle" AUDIT_LOG_MASK_WIDGETS_BUNDLE W 部件包记录级别。
audit-log.logging-level.mask."customer" AUDIT_LOG_MASK_CUSTOMER W 客户记录级别。
audit-log.logging-level.mask."user" AUDIT_LOG_MASK_USER W 用户日志记录级别。
audit-log.logging-level.mask."rule_chain" AUDIT_LOG_MASK_RULE_CHAIN W 规则链日志记录级别。
audit-log.logging-level.mask."alarm" AUDIT_LOG_MASK_ALARM W 报警记录级别。
audit-log.logging-level.mask."integration" AUDIT_LOG_MASK_INTEGRATION W Integration logging levels.
audit-log.logging-level.mask."converter" AUDIT_LOG_MASK_CONVERTER W Converter logging levels.
audit-log.logging-level.mask."entity_group" AUDIT_LOG_MASK_ENTITY_GROUP W Entity Group logging levels.
audit-log.logging-level.mask."scheduler_event" AUDIT_LOG_MASK_SCHEDULER_EVENT W Scheduler Event logging levels.
audit-log.logging-level.mask."blob_entity" AUDIT_LOG_MASK_BLOB_ENTITY W Blob entity logging levels.
audit-log.logging-level.mask."entity_view" AUDIT_LOG_MASK_ENTITY_VIEW W 实体视图日志记录级别。
audit-log.logging-level.mask."device_profile" AUDIT_LOG_MASK_DEVICE_PROFILE W 设备配置日志记录级别。
audit-log.logging-level.mask."asset_profile" AUDIT_LOG_MASK_ASSET_PROFILE W 资产配置日志记录级别。
audit-log.logging-level.mask."edge" AUDIT_LOG_MASK_EDGE W 边缘日志记录级别。
audit-log.logging-level.mask."tb_resource" AUDIT_LOG_MASK_RESOURCE W TB资源日志记录级别。
audit-log.logging-level.mask."ota_package" AUDIT_LOG_MASK_OTA_PACKAGE W Ota包日志记录级别。
audit-log.logging-level.mask."calculated_field" AUDIT_LOG_MASK_CALCULATED_FIELD W 计算的现场记录级别。
audit-log.logging-level.mask."ai_model" AUDIT_LOG_MASK_AI_MODEL W AI模型日志记录级别。
audit-log.logging-level.mask."role" AUDIT_LOG_MASK_ROLE W Roles logging levels.
audit-log.logging-level.mask."group_permission" AUDIT_LOG_MASK_GROUP_PERMISSION W Group permission logging levels.
audit-log.logging-level.mask."report_template" AUDIT_LOG_MASK_REPORT_TEMPLATE W Report template logging levels.
audit-log.sink.type AUDIT_LOG_SINK_TYPE none 外部水槽的类型。可能的选项:无、elasticsearch
audit-log.sink.index_pattern AUDIT_LOG_SINK_INDEX_PATTERN @{TENANT}_AUDIT_LOG_@{DATE} 存储审计日志的索引名称 索引名称可以包含下一个占位符(非强制): @{TENANT} - 由租户ID替换 @{DATE} - 由audit_log.sink.date_format中提供的格式的当前日期替换
audit-log.sink.date_format AUDIT_LOG_SINK_DATE_FORMAT YYYY.MM.dd 日期格式。该模式的详细信息可以在这里找到:https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
audit-log.sink.scheme_name AUDIT_LOG_SINK_SCHEME_NAME http http或https
audit-log.sink.host AUDIT_LOG_SINK_HOST localhost 外置水槽系统主机
audit-log.sink.port AUDIT_LOG_SINK_PORT 9200 外部水槽系统端口
audit-log.sink.user_name AUDIT_LOG_SINK_USER_NAME 用于访问外部接收器系统的用户名
audit-log.sink.password AUDIT_LOG_SINK_PASSWORD 用于访问外部接收器系统的密码

设备状态参数

参数环境变量默认值描述
state.defaultInactivityTimeoutInSec DEFAULT_INACTIVITY_TIMEOUT 600 设备不活动超时是一个全局配置参数,定义服务器何时将设备标记为“不活动”。参数值以秒为单位。用户可以通过设置“inactivityTimeout”服务器端属性来覆盖单个设备的此参数(注意:期望值以毫秒为单位)。我们建议此参数与会话不活动超时(“transport.sessions.inactivity_timeout”或TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT)参数同步,该参数负责检测过时的设备连接会话。会话不活动超时参数的值应大于或等于设备不活动超时。请注意,会话不活动超时以毫秒为单位设置,而设备不活动超时以秒为单位。
state.defaultStateCheckIntervalInSec DEFAULT_STATE_CHECK_INTERVAL 60 在指定时间后检查设备状态的时间间隔。时间以秒为单位
state.persistToTelemetry PERSIST_STATE_TO_TELEMETRY false 控制我们是否将设备“活动”标志存储在属性(默认)或遥测中。如果您决定更改此参数,则应按照以下方式之一重新创建设备信息视图: 如果“persistToTelemetry”从“false”更改为“true”:“CREATE OR REPLACE VIEW device_info_view AS SELECT * FROM device_info_active_ts_view;”如果“persistToTelemetry”从“true”更改为“false”:“CREATE OR REPLACE VIEW device_info_view AS SELECT * FROM device_info_active_attribute_view;”
state.telemetryTtl STATE_TELEMETRY_TTL 0 定义设备状态遥测数据的生存时间的毫秒值(例如“active”、“lastActivityTime”)。仅当state.persistToTelemetry设置为“true”且Cassandra用于时间序列数据时使用。0表示生存时间机制已禁用。
state.initFetchPackSize TB_DEVICE_STATE_INIT_FETCH_PACK_SIZE 50000 初始化设备活动状态时每批获取的设备记录数
state.rule.node.deviceState.rateLimit DEVICE_STATE_NODE_RATE_LIMIT_CONFIGURATION 1:1,30:60,60:3600 定义可以触发设备连接事件的速率。以逗号分隔的容量列表:定义令牌桶速率限制算法的带宽容量和重新填充持续时间的持续时间对。笔芯设置为贪婪。请参阅Bucket4j库文档了解更多详细信息。

TBEL参数

参数环境变量默认值描述
tbel.enabled TBEL_ENABLED true 启用/禁用TBEL功能。
tbel.max_total_args_size TBEL_MAX_TOTAL_ARGS_SIZE 100000 限制传递给函数以执行脚本的参数数量
tbel.max_result_size TBEL_MAX_RESULT_SIZE 300000 处理脚本后结果中允许的最大符号数
tbel.max_script_body_size TBEL_MAX_SCRIPT_BODY_SIZE 50000 脚本主体中允许的最大符号数
tbel.max_memory_limit_mb TBEL_MAX_MEMORY_LIMIT_MB 8 允许的最大TBEL脚本执行内存
tbel.max_errors TBEL_MAX_ERRORS 3 TBEL脚本被列入黑名单之前允许的最大执行错误数
tbel.max_requests_timeout TBEL_MAX_REQUEST_TIMEOUT 500 TBEL Eval最大请求超时(以毫秒为单位)。0 - 无超时
tbel.max_black_list_duration_sec TBEL_MAX_BLACKLIST_DURATION_SEC 60 黑名单功能在列表中停留的最长时间(以秒为单位)。
tbel.thread_pool_size TBEL_THREAD_POOL_SIZE 50 指定javascript执行器服务的线程池大小
tbel.compiled_scripts_cache_size TBEL_COMPILED_SCRIPTS_CACHE_SIZE 1000 TBEL编译脚本的最大缓存大小
tbel.stats.enabled TB_TBEL_STATS_ENABLED false 启用/禁用TBEL引擎的统计信息收集
tbel.stats.print_interval_ms TB_TBEL_STATS_PRINT_INTERVAL_MS 10000 TBEL统计数据的记录间隔

JS参数

参数环境变量默认值描述
js.evaluator JS_EVALUATOR local 本地(Nashorn引擎,已弃用)或远程JS执行器(NodeJS)
js.max_total_args_size JS_MAX_TOTAL_ARGS_SIZE 150000 限制传递给函数以执行脚本的参数数量
js.max_result_size JS_MAX_RESULT_SIZE 300000 处理脚本后结果中允许的最大符号数
js.max_script_body_size JS_MAX_SCRIPT_BODY_SIZE 50000 脚本正文中允许的最大符号数
js.local.js_thread_pool_size LOCAL_JS_THREAD_POOL_SIZE 50 指定javascript执行器服务的线程池大小
js.local.use_js_sandbox USE_LOCAL_JS_SANDBOX true 使用沙盒(安全)JVM JavaScript环境
js.local.monitor_thread_pool_size LOCAL_JS_SANDBOX_MONITOR_THREAD_POOL_SIZE 4 指定JavaScript沙箱资源监视器的线程池大小
js.local.max_cpu_time LOCAL_JS_SANDBOX_MAX_CPU_TIME 8000 脚本执行允许的最大CPU时间(以毫秒为单位)
js.local.max_memory LOCAL_JS_SANDBOX_MAX_MEMORY 104857600 JS执行器线程可以分配的最大内存(以字节为单位)(近似计算)。由于Nashorn 0.4.2的实现,不建议将零内存限制与非零CPU限制结合使用。对于大多数情况,100MiB实际上是无限的
js.local.max_errors LOCAL_JS_SANDBOX_MAX_ERRORS 3 JavaScript将被列入黑名单之前允许的最大JavaScript执行错误数
js.local.max_requests_timeout LOCAL_JS_MAX_REQUEST_TIMEOUT 0 JS Eval最大请求超时. 0 - no timeout
js.local.max_black_list_duration_sec LOCAL_JS_SANDBOX_MAX_BLACKLIST_DURATION_SEC 60 黑名单功能在列表中停留的最长时间(以秒为单位)。
js.local.stats.enabled TB_JS_LOCAL_STATS_ENABLED false 启用/禁用本地JS执行器的统计信息收集
js.local.stats.print_interval_ms TB_JS_LOCAL_STATS_PRINT_INTERVAL_MS 10000 本地JS执行器统计信息的日志记录间隔
js.remote.js_thread_pool_size REMOTE_JS_THREAD_POOL_SIZE 50 指定javascript执行器服务的线程池大小
js.remote.max_errors REMOTE_JS_SANDBOX_MAX_ERRORS 3 JavaScript将被列入黑名单之前允许的最大JavaScript执行错误数
js.remote.max_black_list_duration_sec REMOTE_JS_SANDBOX_MAX_BLACKLIST_DURATION_SEC 60 黑名单功能在列表中停留的最长时间(以秒为单位)。
js.remote.stats.enabled TB_JS_REMOTE_STATS_ENABLED false 启用/禁用远程JS执行器的统计信息收集
js.remote.stats.print_interval_ms TB_JS_REMOTE_STATS_PRINT_INTERVAL_MS 10000 远程JS执行器统计记录的时间间隔

传输配置参数

参数环境变量默认值描述
transport.sessions.inactivity_timeout TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT 600000 会话空闲超时为全局配置,定义设备最后一条消息到达后传输会话保持开放的时长(毫秒)。设备发送任何消息(含keepalive)时会更新会话最后活动时间。若无活动则会关闭会话并删除所有订阅。建议与设备空闲超时(state.defaultInactivityTimeoutInSec或DEFAULT_INACTIVITY_TIMEOUT)同步,该参数负责核心服务中设备连接状态检测。会话空闲超时应大于等于设备空闲超时。注意会话空闲超时为毫秒,设备空闲超时为秒。
transport.sessions.report_timeout TB_TRANSPORT_SESSIONS_REPORT_TIMEOUT 3000 定期检查过期会话及上报会话最后活动时间变更的间隔
transport.activity.reporting_strategy TB_TRANSPORT_ACTIVITY_REPORTING_STRATEGY LAST 该属性指定每个报告周期内报告活动事件的策略。接受的值为“FIRST”、“LAST”、“FIRST_AND_LAST”和“ALL”。
  • “FIRST”:仅报告每个报告周期中的第一个活动事件。
  • “LAST”:仅报告报告周期中的最后一个活动事件。
  • “FIRST_AND_LAST”:报告报告周期中的第一个和最后一个活动事件。
  • “ALL”:报告报告周期中的所有活动事件。
transport.json.type_cast_enabled JSON_TYPE_CAST_ENABLED true 处理遥测/属性JSON时尽可能将String转为Numeric
transport.json.max_string_value_length JSON_MAX_STRING_VALUE_LENGTH 0 处理遥测/属性JSON时允许的最大字符串长度(0表示禁用长度检查)
transport.client_side_rpc.timeout CLIENT_SIDE_RPC_TIMEOUT 60000 客户端侧RPC命令处理超时间隔(毫秒)
transport.api_enabled TB_TRANSPORT_API_ENABLED true 启用/禁用http/mqtt/coap/lwm2m传输协议(比某些协议的“启用”属性具有更高的优先级)
transport.log.enabled TB_TRANSPORT_LOG_ENABLED true 启用/禁用将传输消息记录到遥测。例如LwM2M注册更新日志
transport.log.max_length TB_TRANSPORT_LOG_MAX_LENGTH 1024 日志消息最大长度。超出时将截断至指定值
transport.rate_limits.ip_limits_enabled TB_TRANSPORT_IP_RATE_LIMITS_ENABLED false 启用或禁用通用速率限制。设备和租户特定的速率限制在租户配置中进行控制。
transport.rate_limits.max_wrong_credentials_per_ip TB_TRANSPORT_MAX_WRONG_CREDENTIALS_PER_IP 10 使用无效凭据的最大连接尝试次数
transport.rate_limits.ip_block_timeout TB_TRANSPORT_IP_BLOCK_TIMEOUT 60000 阻止IP地址过期的超时(以毫秒为单位)
transport.http.enabled HTTP_ENABLED true 启用/禁用本地HTTP传输协议
transport.http.request_timeout HTTP_REQUEST_TIMEOUT 60000 HTTP请求处理超时(以毫秒为单位)
transport.http.max_request_timeout HTTP_MAX_REQUEST_TIMEOUT 300000 HTTP最大请求处理超时(以毫秒为单位)
transport.http.max_payload_size HTTP_TRANSPORT_MAX_PAYLOAD_SIZE_LIMIT_CONFIGURATION /api/v1/*/rpc/**=65536;/api/v1/**=52428800 urlPattern=maxPayloadSize对的列表(分号分隔),定义指定URL模式的最大HTTP请求大小。首次匹配后其余将被跳过
transport.mqtt.enabled MQTT_ENABLED true 启用/禁用mqtt传输协议。
transport.mqtt.bind_address MQTT_BIND_ADDRESS 0.0.0.0 MQTT绑定地址
transport.mqtt.bind_port MQTT_BIND_PORT 1883 MQTT绑定端口
transport.mqtt.proxy_enabled MQTT_PROXY_PROTOCOL_ENABLED false 启用代理协议支持。默认禁用。如果启用,则支持v1和v2。对于在日志中获取客户端的真实IP地址和速率限制很有用。
transport.mqtt.timeout MQTT_TIMEOUT 10000 MQTT处理超时(以毫秒为单位)
transport.mqtt.disconnect_timeout MQTT_DISCONNECT_TIMEOUT 1000 MQTT断开连接超时(以毫秒为单位)。服务器发送断开连接消息后等待客户端断开连接的时间。
transport.mqtt.msg_queue_size_per_device_limit MQTT_MSG_QUEUE_SIZE_PER_DEVICE_LIMIT 100 消息在设备连接状态之前在队列中等待。此限制在TenantProfileLimits机制之前的低级别起作用
transport.mqtt.gateway_metrics_report_interval_sec MQTT_GATEWAY_METRICS_REPORT_INTERVAL_SEC 60 网关指标定期上报时间间隔
transport.mqtt.netty.leak_detector_level NETTY_LEAK_DETECTOR_LVL DISABLED Netty内存泄漏检测级别
transport.mqtt.netty.boss_group_thread_count NETTY_BOSS_GROUP_THREADS 1 Netty BOSS线程数
transport.mqtt.netty.worker_group_thread_count NETTY_WORKER_GROUP_THREADS 12 Netty工作线程数
transport.mqtt.netty.max_payload_size NETTY_MAX_PAYLOAD_SIZE 65536 最大有效负载大小(以字节为单位)
transport.mqtt.netty.so_keep_alive NETTY_SO_KEEPALIVE false 启用TCP保活。这意味着当连接空闲一段时间后,TCP开始发送keepalive探测
transport.mqtt.ssl.enabled MQTT_SSL_ENABLED false 启用/禁用SSL支持
transport.mqtt.ssl.bind_address MQTT_SSL_BIND_ADDRESS 0.0.0.0 MQTT SSL绑定地址
transport.mqtt.ssl.bind_port MQTT_SSL_BIND_PORT 8883 MQTT SSL绑定端口
transport.mqtt.ssl.protocol MQTT_SSL_PROTOCOL TLSv1.2 SSL协议:参见https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html#sslcontext-algorithms
transport.mqtt.ssl.credentials.type MQTT_SSL_CREDENTIALS_TYPE PEM 服务器凭证类型(PEM-pem证书文件;KEYSTORE-java keystore)
transport.mqtt.ssl.credentials.pem.cert_file MQTT_SSL_PEM_CERT mqttserver.pem 服务器证书文件路径(含服务器证书或证书链,可包含服务器私钥)
transport.mqtt.ssl.credentials.pem.key_file MQTT_SSL_PEM_KEY mqttserver_key.pem 服务器证书私钥文件路径。默认可选。若证书文件中无私钥则为必填;
transport.mqtt.ssl.credentials.pem.key_password MQTT_SSL_PEM_KEY_PASSWORD server_key_password 服务器证书私钥密码(可选)
transport.mqtt.ssl.credentials.keystore.type MQTT_SSL_KEY_STORE_TYPE JKS Keystore类型(JKS或PKCS12)
transport.mqtt.ssl.credentials.keystore.store_file MQTT_SSL_KEY_STORE mqttserver.jks 存放SSL证书的keystore路径
transport.mqtt.ssl.credentials.keystore.store_password MQTT_SSL_KEY_STORE_PASSWORD server_ks_password 访问keystore的密码
transport.mqtt.ssl.credentials.keystore.key_alias MQTT_SSL_KEY_ALIAS 私钥的可选别名。如果未设置,平台将从密钥库加载第一个私钥
transport.mqtt.ssl.credentials.keystore.key_password MQTT_SSL_KEY_PASSWORD server_key_password 用于访问私钥的可选密码。如果不设置,平台会尝试加载不受密码保护的私钥;
transport.mqtt.ssl.skip_validity_check_for_client_cert MQTT_SSL_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERT false 跳过客户端证书的有效性检查。
transport.coap.enabled COAP_ENABLED true 启用/禁用CoAP传输协议。
transport.coap.timeout COAP_TIMEOUT 10000 CoAP处理超时(毫秒)
transport.coap.piggyback_timeout COAP_PIGGYBACK_TIMEOUT 500 CoaP搭载响应超时(以毫秒为单位)
transport.coap.psm_activity_timer COAP_PSM_ACTIVITY_TIMER 10000 如果设备配置中未指定,则默认PSM活动计时器
transport.coap.paging_transmission_window COAP_PAGING_TRANSMISSION_WINDOW 10000 如果设备配置中未指定,则默认PSM活动计时器
transport.lwm2m.enabled LWM2M_ENABLED true 启用/禁用LwM2M传输协议。
transport.lwm2m.dtls.retransmission_timeout LWM2M_DTLS_RETRANSMISSION_TIMEOUT_MS 9000 RFC7925_RETRANSMISSION_TIMEOUT_IN_MILLISECONDS = 9000
transport.lwm2m.dtls.connection_id_length LWM2M_DTLS_CONNECTION_ID_LENGTH 8 LWM2M的LWM2M DTLS连接ID长度。RFC 9146,DTLS 1.2的连接标识符 默认值:关闭。
控制DTLS连接ID长度(CID)的使用。
  • 'off'将其停用。
  • “on”激活连接ID支持(与CID 0或更多0相同)。
  • 正值定义生成的CID大小(以字节为单位)。
  • 值0表示我们接受使用CID,但不会为外部对等方生成CID(启用支持,但不支持传入流量)。
  • 0到 <= 4之间的值:使用SingleNodeConnectionIdGenerator
  • > 4的值:使用MultiNodeConnectionIdGenerator
transport.lwm2m.server.id LWM2M_SERVER_ID 123 LwM2M服务器ID
transport.lwm2m.server.bind_address LWM2M_BIND_ADDRESS 0.0.0.0 LwM2M服务器绑定地址。默认绑定到所有接口
transport.lwm2m.server.bind_port LWM2M_BIND_PORT 5685 LwM2M服务器绑定端口
transport.lwm2m.server.security.bind_address LWM2M_SECURITY_BIND_ADDRESS 0.0.0.0 DTLS的LwM2M服务器绑定地址。默认绑定到所有接口
transport.lwm2m.server.security.bind_port LWM2M_SECURITY_BIND_PORT 5686 用于DTLS的LwM2M服务器绑定端口
transport.lwm2m.server.security.credentials.enabled LWM2M_SERVER_CREDENTIALS_ENABLED false 是否启用LwM2M服务器X509证书/RPK支持
transport.lwm2m.server.security.credentials.type LWM2M_SERVER_CREDENTIALS_TYPE PEM 服务器凭证类型(PEM-pem证书文件;KEYSTORE-java keystore)
transport.lwm2m.server.security.credentials.pem.cert_file LWM2M_SERVER_PEM_CERT lwm2mserver.pem 服务器证书文件路径(含服务器证书或证书链,可包含服务器私钥)
transport.lwm2m.server.security.credentials.pem.key_file LWM2M_SERVER_PEM_KEY lwm2mserver_key.pem 服务器证书私钥文件的路径。默认可选。如果服务器证书文件中不存在私钥,则为必需;
transport.lwm2m.server.security.credentials.pem.key_password LWM2M_SERVER_PEM_KEY_PASSWORD server_key_password 服务器证书私钥密码(可选)
transport.lwm2m.server.security.credentials.keystore.type LWM2M_SERVER_KEY_STORE_TYPE JKS Keystore类型(JKS或PKCS12)
transport.lwm2m.server.security.credentials.keystore.store_file LWM2M_SERVER_KEY_STORE lwm2mserver.jks 存放SSL证书的keystore路径
transport.lwm2m.server.security.credentials.keystore.store_password LWM2M_SERVER_KEY_STORE_PASSWORD server_ks_password 访问keystore的密码
transport.lwm2m.server.security.credentials.keystore.key_alias LWM2M_SERVER_KEY_ALIAS server 密钥别名
transport.lwm2m.server.security.credentials.keystore.key_password LWM2M_SERVER_KEY_PASSWORD server_ks_password 访问密钥的密码
transport.lwm2m.server.security.skip_validity_check_for_client_cert TB_LWM2M_SERVER_SECURITY_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERT false 仅证书_x509:
transport.lwm2m.bootstrap.enabled LWM2M_ENABLED_BS true 启用/禁用引导服务器
transport.lwm2m.bootstrap.id LWM2M_SERVER_ID_BS 0 在对象的Bootstrap模式下启动后LwM2M客户端中的默认值:名称“LwM2M Security”字段:“Short Server ID”(deviceProfile:Bootstrap.BOOTSTRAP SERVER.Short ID)
transport.lwm2m.bootstrap.bind_address LWM2M_BS_BIND_ADDRESS 0.0.0.0 LwM2M引导服务器绑定地址。默认绑定到所有接口
transport.lwm2m.bootstrap.bind_port LWM2M_BS_BIND_PORT 5687 LwM2M引导服务器绑定端口
transport.lwm2m.bootstrap.security.bind_address LWM2M_BS_SECURITY_BIND_ADDRESS 0.0.0.0 DTLS的LwM2M引导服务器绑定地址。默认绑定到所有接口
transport.lwm2m.bootstrap.security.bind_port LWM2M_BS_SECURITY_BIND_PORT 5688 DTLS的LwM2M引导服务器绑定地址。默认绑定到所有接口
transport.lwm2m.bootstrap.security.credentials.enabled LWM2M_BS_CREDENTIALS_ENABLED false 是否启用LWM2M引导服务器X509证书/RPK支持
transport.lwm2m.bootstrap.security.credentials.type LWM2M_BS_CREDENTIALS_TYPE PEM 服务器凭证类型(PEM-pem证书文件;KEYSTORE-java keystore)
transport.lwm2m.bootstrap.security.credentials.pem.cert_file LWM2M_BS_PEM_CERT lwm2mserver.pem 服务器证书文件路径(含服务器证书或证书链,可包含服务器私钥)
transport.lwm2m.bootstrap.security.credentials.pem.key_file LWM2M_BS_PEM_KEY lwm2mserver_key.pem 服务器证书私钥文件的路径。默认可选。如果服务器证书文件中不存在私钥,则需要
transport.lwm2m.bootstrap.security.credentials.pem.key_password LWM2M_BS_PEM_KEY_PASSWORD server_key_password 服务器证书私钥密码(可选)
transport.lwm2m.bootstrap.security.credentials.keystore.type LWM2M_BS_KEY_STORE_TYPE JKS Keystore类型(JKS或PKCS12)
transport.lwm2m.bootstrap.security.credentials.keystore.store_file LWM2M_BS_KEY_STORE lwm2mserver.jks 存放SSL证书的keystore路径
transport.lwm2m.bootstrap.security.credentials.keystore.store_password LWM2M_BS_KEY_STORE_PASSWORD server_ks_password 访问keystore的密码
transport.lwm2m.bootstrap.security.credentials.keystore.key_alias LWM2M_BS_KEY_ALIAS bootstrap 密钥别名
transport.lwm2m.bootstrap.security.credentials.keystore.key_password LWM2M_BS_KEY_PASSWORD server_ks_password 访问密钥的密码
transport.lwm2m.security.trust-credentials.enabled LWM2M_TRUST_CREDENTIALS_ENABLED false 是否加载X509信任证书
transport.lwm2m.security.trust-credentials.type LWM2M_TRUST_CREDENTIALS_TYPE PEM 信任证书存储类型(PEM - pem证书文件;KEYSTORE - java密钥库)
transport.lwm2m.security.trust-credentials.pem.cert_file LWM2M_TRUST_PEM_CERT lwm2mtruststorechain.pem 证书文件的路径(保存信任证书)
transport.lwm2m.security.trust-credentials.keystore.type LWM2M_TRUST_KEY_STORE_TYPE JKS Keystore类型(JKS或PKCS12)
transport.lwm2m.security.trust-credentials.keystore.store_file LWM2M_TRUST_KEY_STORE lwm2mtruststorechain.jks 保存X509证书的密钥存储的路径
transport.lwm2m.security.trust-credentials.keystore.store_password LWM2M_TRUST_KEY_STORE_PASSWORD server_ks_password 访问keystore的密码
transport.lwm2m.security.recommended_ciphers LWM2M_RECOMMENDED_CIPHERS false 设置推荐密码套件的使用;true - 仅允许推荐的密码套件;false - 允许不推荐的密码套件
transport.lwm2m.security.recommended_supported_groups LWM2M_RECOMMENDED_SUPPORTED_GROUPS true 设置推荐支持组的使用(曲线);true - 仅允许推荐的支持组,false - 允许不推荐的支持组
transport.lwm2m.timeout LWM2M_TIMEOUT 120000 LwM2M操作超时
transport.lwm2m.uplink_pool_size LWM2M_UPLINK_POOL_SIZE 10 用于处理LwM2M上行链路的线程池大小
transport.lwm2m.downlink_pool_size LWM2M_DOWNLINK_POOL_SIZE 10 用于处理LwM2M下行链路的线程池大小
transport.lwm2m.ota_pool_size LWM2M_OTA_POOL_SIZE 10 用于处理OTA更新的线程池大小
transport.lwm2m.clean_period_in_sec LWM2M_CLEAN_PERIOD_IN_SEC 2 店内登记清理期
transport.lwm2m.log_max_length LWM2M_LOG_MAX_LENGTH 1024 最大日志大小
transport.lwm2m.psm_activity_timer LWM2M_PSM_ACTIVITY_TIMER 10000 PSM活动计时器(如果设备配置中未指定)
transport.lwm2m.paging_transmission_window LWM2M_PAGING_TRANSMISSION_WINDOW 10000 如果设备配置中未指定,则用于eDRX支持的寻呼传输窗口
transport.snmp.enabled SNMP_ENABLED true 启用/禁用SNMP传输协议
transport.snmp.bind_address SNMP_BIND_ADDRESS 0.0.0.0 SNMP绑定地址
transport.snmp.bind_port SNMP_BIND_PORT 0 SNMP绑定端口。默认为零(随机)。使用SNMP TRAP时 - 确保指定一些静态值,例如1620
transport.snmp.response_processing.parallelism_level SNMP_RESPONSE_PROCESSING_PARALLELISM_LEVEL 4 负责处理来自SNMP设备响应的执行器(workStealingPool)的并行级别
transport.snmp.underlying_protocol SNMP_UNDERLYING_PROTOCOL udp 将SNMP配置为通过UDP或TCP工作
transport.snmp.max_request_oids SNMP_MAX_REQUEST_OIDS 100 PDU的最大大小(单个SNMP请求中的OID映射数量)。如果映射数量超过此数量,请求将被拆分为多个PDU
transport.snmp.request_chunk_delay_ms SNMP_REQUEST_CHUNK_DELAY_MS 100 发送每个请求块后的延迟(如果由于max_request_oids请求被分成多个PDU)
transport.snmp.response.ignore_type_cast_errors SNMP_RESPONSE_IGNORE_TYPE_CAST_ERRORS false 忽略与配置的OID映射的数据类型不匹配的SNMP响应值(默认为false - 如果响应的任何值与配置的数据类型不匹配,将引发错误)
transport.snmp.scheduler_thread_pool_size SNMP_SCHEDULER_THREAD_POOL_SIZE 4 执行设备查询任务的调度程序的线程池大小
transport.snmp.batch_retries SNMP_BOOTSTRAP_RETRIES 8 引导期间单个SNMP设备批次的最大重试尝试次数。
transport.stats.enabled TB_TRANSPORT_STATS_ENABLED true 启用/禁用传输统计收集
transport.stats.print-interval-ms TB_TRANSPORT_STATS_PRINT_INTERVAL_MS 60000 传输统计日志间隔
transport.gateway.dashboard.sync.enabled TB_GATEWAY_DASHBOARD_SYNC_ENABLED true 启用/禁用网关仪表板与git存储库同步
transport.gateway.dashboard.sync.repository_url TB_GATEWAY_DASHBOARD_SYNC_REPOSITORY_URL https://github.com/thingsboard/gateway-management-extensions-dist.git 网关仪表板存储库的URL
transport.gateway.dashboard.sync.branch TB_GATEWAY_DASHBOARD_SYNC_BRANCH release/4.3.0 要使用的网关仪表板存储库的分支
transport.gateway.dashboard.sync.fetch_frequency TB_GATEWAY_DASHBOARD_SYNC_FETCH_FREQUENCY 24 获取网关仪表板存储库的频率(以小时为单位)

CoAP服务端参数

参数环境变量默认值描述
coap.server.enabled COAP_SERVER_ENABLED true 启用/禁用Coap服务器。
coap.bind_address COAP_BIND_ADDRESS 0.0.0.0 CoAP绑定地址
coap.bind_port COAP_BIND_PORT 5683 CoAP绑定端口
coap.dtls.enabled COAP_DTLS_ENABLED false 启用/禁用DTLS 1.2支持
coap.dtls.retransmission_timeout COAP_DTLS_RETRANSMISSION_TIMEOUT_MS 9000 RFC7925_RETRANSMISSION_TIMEOUT_IN_MILLISECONDS = 9000
coap.dtls.bind_address COAP_DTLS_BIND_ADDRESS 0.0.0.0 CoAP DTLS绑定地址
coap.dtls.bind_port COAP_DTLS_BIND_PORT 5684 CoAP DTLS绑定端口
coap.dtls.connection_id_length COAP_DTLS_CONNECTION_ID_LENGTH 8 CoAP DTLS连接ID长度。RFC 9146,DTLS 1.2的连接标识符 默认值:关闭。
控制DTLS连接ID长度(CID)的使用。
  • 'off'将其停用。
  • “on”激活连接ID支持(与CID 0或更多0相同)。
  • 正值定义生成的CID大小(以字节为单位)。
  • 值0表示我们接受使用CID,但不会为外部对等方生成CID(启用支持,但不支持传入流量)。
  • 0到 <= 4之间的值:使用SingleNodeConnectionIdGenerator
  • 值 > 4:使用MultiNodeConnectionIdGenerator
coap.dtls.max_transmission_unit COAP_DTLS_MAX_TRANSMISSION_UNIT 1024 指定MTU(最大传输单元)。如果未使用LAN MTU,则应使用,例如如果使用IP隧道或者客户端使用小于LAN MTU的值。默认 = 1024最小值 = 64如果设置为0 - 使用LAN MTU。
coap.dtls.max_fragment_length COAP_DTLS_MAX_FRAGMENT_LENGTH 1024 DTLS最大片段长度(RFC 6066,第4节)。默认值 = 1024可能的值:512、1024、2048、4096。如果设置为0,则使用默认最大片段大小2^14字节(16,384字节)。如果没有此扩展,TLS指定固定的最大明文片段长度为2^14字节。由于内存限制或带宽限制,受限客户端可能需要协商较小的最大片段长度。为了协商较小的最大片段长度,客户端可以在(扩展的)客户端问候中包含“max_fragment_length”类型的扩展。该扩展的“extension_data”字段应包含:
 enum { 2^9(1) == 512, 2^10(2) == 1024, 2^11(3) == 2048, 2^12(4) == 4096, (255) } MaxFragmentLength; 
TLS已经要求客户端和服务器支持握手消息的分段。
coap.dtls.credentials.type COAP_DTLS_CREDENTIALS_TYPE PEM 服务器凭证类型(PEM-pem证书文件;KEYSTORE-java keystore)
coap.dtls.credentials.pem.cert_file COAP_DTLS_PEM_CERT coapserver.pem 服务器证书文件路径(含服务器证书或证书链,可包含服务器私钥)
coap.dtls.credentials.pem.key_file COAP_DTLS_PEM_KEY coapserver_key.pem 服务器证书私钥文件的路径。默认可选。如果服务器证书文件中不存在私钥,则为必需;
coap.dtls.credentials.pem.key_password COAP_DTLS_PEM_KEY_PASSWORD server_key_password 服务器证书私钥密码(可选)
coap.dtls.credentials.keystore.type COAP_DTLS_KEY_STORE_TYPE JKS Keystore类型(JKS或PKCS12)
coap.dtls.credentials.keystore.store_file COAP_DTLS_KEY_STORE coapserver.jks 存放SSL证书的keystore路径
coap.dtls.credentials.keystore.store_password COAP_DTLS_KEY_STORE_PASSWORD server_ks_password 访问keystore的密码
coap.dtls.credentials.keystore.key_alias COAP_DTLS_KEY_ALIAS serveralias 密钥别名
coap.dtls.credentials.keystore.key_password COAP_DTLS_KEY_PASSWORD server_key_password 访问密钥的密码
coap.dtls.x509.skip_validity_check_for_client_cert TB_COAP_X509_DTLS_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERT false 跳过客户端证书的有效性检查。
coap.dtls.x509.dtls_session_inactivity_timeout TB_COAP_X509_DTLS_SESSION_INACTIVITY_TIMEOUT 86400000 DTLS会话不活动超时。用于清理缓存
coap.dtls.x509.dtls_session_report_timeout TB_COAP_X509_DTLS_SESSION_REPORT_TIMEOUT 1800000 定期驱逐超时DTLS会话的时间间隔

设备连接属性

参数环境变量默认值描述
device.connectivity.http.enabled DEVICE_CONNECTIVITY_HTTP_ENABLED true 如果为true,检查连接服务将使用DEVICE_CONNECTIVITY_HTTP_HOST和DEVICE_CONNECTIVITY_HTTP_PORT变量将curl命令包含到所有测试命令的列表中
device.connectivity.http.host DEVICE_CONNECTIVITY_HTTP_HOST http传输服务的主机。如果为空,则将使用基本URL。
device.connectivity.http.port DEVICE_CONNECTIVITY_HTTP_PORT 8080 http传输服务的端口。如果为空,将使用默认的http端口。
device.connectivity.https.enabled DEVICE_CONNECTIVITY_HTTPS_ENABLED false 如果为true,检查连接服务将使用DEVICE_CONNECTIVITY_HTTPS_HOST和DEVICE_CONNECTIVITY_HTTPS_PORT变量将curl命令包含到所有测试命令的列表中
device.connectivity.https.host DEVICE_CONNECTIVITY_HTTPS_HOST http传输服务的主机。如果为空,则将使用基本URL。
device.connectivity.https.port DEVICE_CONNECTIVITY_HTTPS_PORT 443 http传输服务的端口。如果为空,则将使用默认的https端口。
device.connectivity.mqtt.enabled DEVICE_CONNECTIVITY_MQTT_ENABLED true 若为true,测试命令列表中会加入mosquitto命令将包含在使用DEVICE_CONNECTIVITY_MQTT_HOST和DEVICE_CONNECTIVITY_MQTT_PORT的所有测试命令列表中
device.connectivity.mqtt.host DEVICE_CONNECTIVITY_MQTT_HOST mqtt传输服务的主机。如果为空,则将使用基本url主机。
device.connectivity.mqtt.port DEVICE_CONNECTIVITY_MQTT_PORT 1883 mqtt传输服务端口
device.connectivity.mqtts.enabled DEVICE_CONNECTIVITY_MQTTS_ENABLED false 若为true,测试命令列表中会加入mosquitto命令将包含在使用DEVICE_CONNECTIVITY_MQTTS_HOST和DEVICE_CONNECTIVITY_MQTTS_PORT< 的所有测试命令列表中
device.connectivity.mqtts.host DEVICE_CONNECTIVITY_MQTTS_HOST mqtt传输服务的主机。如果为空,则将使用基本URL主机。
device.connectivity.mqtts.port DEVICE_CONNECTIVITY_MQTTS_PORT 8883 mqtt传输服务的端口。如果为空,则将使用mqtts的默认端口。
device.connectivity.mqtts.pem_cert_file DEVICE_CONNECTIVITY_MQTTS_CA_ROOT_CERT cafile.pem MQTT CA根证书文件的路径
device.connectivity.coap.enabled DEVICE_CONNECTIVITY_COAP_ENABLED true 如果为true,coap命令将包含在使用DEVICE_CONNECTIVITY_COAP_HOST和DEVICE_CONNECTIVITY_COAP_PORT的所有测试命令的列表中。
device.connectivity.coap.host DEVICE_CONNECTIVITY_COAP_HOST CoAP传输服务主机。如果为空,则将使用基本URL主机。
device.connectivity.coap.port DEVICE_CONNECTIVITY_COAP_PORT 5683 CoAP传输服务端口。如果为空,则将使用coap的默认端口。
device.connectivity.coaps.enabled DEVICE_CONNECTIVITY_COAPS_ENABLED false 如果为true,coap命令将包含在使用DEVICE_CONNECTIVITY_COAPS_HOST和DEVICE_CONNECTIVITY_COAPS_PORT的所有测试命令的列表中。
device.connectivity.coaps.host DEVICE_CONNECTIVITY_COAPS_HOST CoAP传输服务主机。如果为空,则将使用基本URL主机。
device.connectivity.coaps.port DEVICE_CONNECTIVITY_COAPS_PORT 5684 CoAP传输服务端口。如果为空,则将使用coaps的默认端口。
device.connectivity.coaps.pem_cert_file DEVICE_CONNECTIVITY_COAPS_CA_ROOT_CERT cafile.pem COAP CA根证书文件的路径
device.connectivity.gateway.image_version DEVICE_CONNECTIVITY_GATEWAY_IMAGE_VERSION 3.8-stable docker-compose文件中使用的thingsboard/tb-gateway镜像的docker标签用于网关启动

Edge参数

参数环境变量默认值描述
edges.enabled EDGES_ENABLED true 启用/禁用边缘实例
edges.rpc.port EDGES_RPC_PORT 7070 RPC端口绑定
edges.rpc.client_max_keep_alive_time_sec EDGES_RPC_CLIENT_MAX_KEEP_ALIVE_TIME_SEC 1 指定客户端发送的keepalive ping之间应经过的最短时间。这可以防止客户端过于频繁地发送ping,这可能会给服务器带来麻烦(如果滥用,甚至可能成为拒绝服务攻击媒介)。如果客户端发送ping的频率超过此间隔,服务器可能会终止连接。
edges.rpc.keep_alive_time_sec EDGES_RPC_KEEP_ALIVE_TIME_SEC 10 设置不活动时间(连接上没有读取操作),之后服务器将向客户端发送keepalive ping。这用于确保连接仍然有效,并防止网络中介由于不活动而丢弃连接。这是服务器主动检查客户端是否仍然响应的一种方法。
edges.rpc.keep_alive_timeout_sec EDGES_RPC_KEEP_ALIVE_TIMEOUT_SEC 5 指定服务器等待其keepalive ping响应的最长时间。如果在此时间范围内未确认ping,服务器将认为连接已失效并可能将其关闭。此超时有助于检测无响应的客户端。
edges.rpc.ssl.enabled EDGES_RPC_SSL_ENABLED false 启用/禁用SSL支持
edges.rpc.ssl.cert EDGES_RPC_SSL_CERT certChainFile.pem 在TLS连接到云期间使用的证书文件
edges.rpc.ssl.private_key EDGES_RPC_SSL_PRIVATE_KEY privateKeyFile.pem 与Cert证书关联的私钥文件。该密钥用于安全连接期间的加密过程
edges.rpc.max_inbound_message_size EDGES_RPC_MAX_INBOUND_MESSAGE_SIZE 4194304 云可以从边缘处理的入站消息的最大大小(以字节为单位)。默认情况下,它可以处理高达4 MB的消息
edges.rpc.max_telemetry_message_size EDGES_RPC_MAX_TELEMETRY_MESSAGE_SIZE 0 云发送到边缘的遥测(时间序列和属性)消息的最大长度。默认情况下,没有限制。
edges.storage.max_read_records_count EDGES_STORAGE_MAX_READ_RECORDS_COUNT 50 从数据库读取并发送到边缘的边缘事件的最大记录数
edges.storage.no_read_records_sleep EDGES_NO_READ_RECORDS_SLEEP 1000 下次检查数据库中的边缘事件之前等待的毫秒数
edges.storage.sleep_between_batches EDGES_SLEEP_BETWEEN_BATCHES 60000 将失败的一批边缘事件重新发送到边缘之前等待的毫秒数
edges.storage.misordering_compensation_millis EDGES_MISORDERING_COMPENSATION_MILLIS 60000 获取边缘事件时从开始时间戳中减去的时间(以毫秒为单位)。这补偿了“created_time”(用于分区)和“seqId”(用于排序)之间可能存在的错误顺序。如果没有这个,seqId较小但created_time较大的事件可能会被跳过,尤其是跨分区边界时。
edges.max_high_priority_queue_size_per_session EDGES_MAX_HIGH_PRIORITY_QUEUE_SIZE_PER_SESSION 10000 每个边缘会话的高优先级边缘事件的最大数量。没有持久性——存储在内存中
edges.scheduler_pool_size EDGES_SCHEDULER_POOL_SIZE 4 用于检查数据库边缘事件的线程数
edges.send_scheduler_pool_size EDGES_SEND_SCHEDULER_POOL_SIZE 4 用于通过gRPC发送下行消息的线程数
edges.grpc_callback_thread_pool_size EDGES_GRPC_CALLBACK_POOL_SIZE 4 用于将DB中的边缘事件转换为下行消息并发送出去的线程数
edges.state.persistToTelemetry EDGES_PERSIST_STATE_TO_TELEMETRY false 将边缘状态(活动、上次连接、上次断开连接)保留到时间序列或属性表中。'false'表示将边缘状态存储到属性表中
edges.stats.enabled EDGES_STATS_ENABLED true 启用或禁用边缘通信统计数据报告(真或假)
edges.stats.ttl EDGES_STATS_TTL 30 时间序列中存储的边缘通信统计数据的生存时间(以天为单位)
edges.stats.report-interval-millis EDGES_STATS_REPORT_INTERVAL_MS 600000 多久报告一次边缘通信统计数据(以毫秒为单位)

Trendz参数

参数环境变量默认值描述
trendz.enabled TRENDZ_ENABLED true 启用/禁用Trendz同步
trendz.default_tb_url DEFAULT_TB_URL Default ThingsBoard URL used for startup synchronization
trendz.default_trendz_url DEFAULT_TRENDZ_URL Default Trendz URL used for startup synchronization
trendz.request_timeout_ms TRENDZ_REQUEST_TIMEOUT_MS 15000 Request timeout in ms
trendz.usage_request_timeout_ms TRENDZ_USAGE_REQUEST_TIMEOUT_MS 3000 Usage request timeout in ms

Spring文档常规参数

参数环境变量默认值描述
springdoc.api-docs.enabled SWAGGER_ENABLED true 如果false swagger API文档将不可用
springdoc.default-produces-media-type SWAGGER_DEFAULT_PRODUCES_MEDIA_TYPE application/json Swagger默认生成媒体类型

Swagger常规参数

参数环境变量默认值描述
swagger.api_path SWAGGER_API_PATH /api/** swagger UI链接的一般swagger匹配模式
swagger.exclude_api_path SWAGGER_EXCLUDE_API_PATH /api/v1/integrations/** Excluded API path match pattern of swagger UI links
swagger.security_path_regex SWAGGER_SECURITY_PATH_REGEX /api/.* swagger UI链接的通用swagger匹配模式路径
swagger.non_security_path_regex SWAGGER_NON_SECURITY_PATH_REGEX /api/(?:noauth|v1)/.* swagger UI链接的非安全API路径匹配模式
swagger.title SWAGGER_TITLE ThingsBoard REST API API文档UI页面上的标题
swagger.description SWAGGER_DESCRIPTION ThingsBoard Professional Edition IoT platform REST API documentation. API文档UI页面上的描述
swagger.contact.name SWAGGER_CONTACT_NAME ThingsBoard, Inc. API文档UI页面上的联系人姓名
swagger.contact.url SWAGGER_CONTACT_URL https://thingsboard.io API文档UI页面上的联系URL
swagger.contact.email SWAGGER_CONTACT_EMAIL info@thingsboard.io API文档UI页面上的联系电子邮件
swagger.license.title SWAGGER_LICENSE_TITLE Apache License Version 2.0 API文档UI页面上的许可证标题
swagger.license.url SWAGGER_LICENSE_URL https://github.com/thingsboard/thingsboard/blob/master/LICENSE 链接到API文档UI页面上的许可证正文
swagger.version SWAGGER_VERSION 要显示的API文档的版本。默认为包版本。
swagger.group_name SWAGGER_GROUP_NAME thingsboard API文档UI页面上的组名称(定义)。
swagger.doc_expansion SWAGGER_DOC_EXPANSION list 控制API操作和标签的初始显示状态(无或列表)

队列配置参数

参数环境变量默认值描述
queue.type TB_QUEUE_TYPE in-memory 内存中或kafka(Apache Kafka)
queue.prefix TB_QUEUE_PREFIX 全局队列前缀。若指定,则在默认topic名前添加:'prefix.default_topic_name'。应用于所有topic(及kafka consumer group)。
queue.in_memory.stats.print-interval-ms TB_QUEUE_IN_MEMORY_STATS_PRINT_INTERVAL_MS 60000 对于调试级别
queue.kafka.bootstrap.servers TB_KAFKA_SERVERS localhost:9092 “主机:端口”格式的Kafka Bootstrap节点
queue.kafka.ssl.enabled TB_KAFKA_SSL_ENABLED false 启用/禁用Kafka SSL通信
queue.kafka.ssl.truststore.location TB_KAFKA_SSL_TRUSTSTORE_LOCATION truststore文件路径
queue.kafka.ssl.truststore.password TB_KAFKA_SSL_TRUSTSTORE_PASSWORD 若指定了truststore则为其密码
queue.kafka.ssl.keystore.location TB_KAFKA_SSL_KEYSTORE_LOCATION keystore文件路径。客户端可选,用于客户端双向认证
queue.kafka.ssl.keystore.password TB_KAFKA_SSL_KEYSTORE_PASSWORD 密钥存储文件的存储密码。这对于客户端来说是可选的,并且仅在配置了“ssl.keystore.location”时才需要。PEM格式不支持密钥存储密码
queue.kafka.ssl.key.password TB_KAFKA_SSL_KEY_PASSWORD 密钥库文件中私钥的密码或“keystore.key”中指定的PEM密钥的密码
queue.kafka.acks TB_KAFKA_ACKS all 生产者要求领导者在考虑请求完成之前收到的确认数量。这控制发送的记录的持久性。允许以下设置:0、1和全部
queue.kafka.retries TB_KAFKA_RETRIES 1 重试次数。重发因瞬时错误发送失败的记录
queue.kafka.compression.type TB_KAFKA_COMPRESSION_TYPE none none或gzip
queue.kafka.batch.size TB_KAFKA_BATCH_SIZE 16384 默认批量大小。为待发送批量的上限
queue.kafka.linger.ms TB_KAFKA_LINGER_MS 1 创建少许人工延迟,即不立即发送记录
queue.kafka.max.request.size TB_KAFKA_MAX_REQUEST_SIZE 1048576 单次请求最大字节数。限制生产者单次请求发送的批次数以避免发送过大请求
queue.kafka.max.in.flight.requests.per.connection TB_KAFKA_MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION 5 客户端在单连接上阻塞前可发送的未确认请求最大数
queue.kafka.buffer.memory TB_BUFFER_MEMORY 33554432 生产者用于缓冲待发送记录的内存总字节数
queue.kafka.replication_factor TB_QUEUE_KAFKA_REPLICATION_FACTOR 1 Kafka多broker上的数据副本数
queue.kafka.max_poll_interval_ms TB_QUEUE_KAFKA_MAX_POLL_INTERVAL_MS 300000 使用消费者组管理时,调用poll()方法之间的最大延迟。这对消费者在获取更多记录之前可以空闲的时间设置了上限
queue.kafka.max_poll_records TB_QUEUE_KAFKA_MAX_POLL_RECORDS 8192 单次调用poll()方法返回的最大记录数
queue.kafka.max_partition_fetch_bytes TB_QUEUE_KAFKA_MAX_PARTITION_FETCH_BYTES 16777216 服务器每分区返回的最大数据量。消费者按批获取记录
queue.kafka.fetch_max_bytes TB_QUEUE_KAFKA_FETCH_MAX_BYTES 134217728 服务器返回的最大数据量。消费者按批获取记录
queue.kafka.request.timeout.ms TB_QUEUE_KAFKA_REQUEST_TIMEOUT_MS 30000 (30秒)
queue.kafka.session.timeout.ms TB_QUEUE_KAFKA_SESSION_TIMEOUT_MS 10000 (10秒)
queue.kafka.auto_offset_reset TB_QUEUE_KAFKA_AUTO_OFFSET_RESET earliest earliest、latest或none
queue.kafka.use_confluent_cloud TB_QUEUE_KAFKA_USE_CONFLUENT_CLOUD false 启用/禁用Confluent Cloud
queue.kafka.confluent.ssl.algorithm TB_QUEUE_KAFKA_CONFLUENT_SSL_ALGORITHM https 客户端验证服务器主机名的端点标识算法。默认https
queue.kafka.confluent.sasl.mechanism TB_QUEUE_KAFKA_CONFLUENT_SASL_MECHANISM PLAIN 认证Schema Registry请求的机制。SASL/PLAIN应仅与TLS/SSL传输层配合使用以确保明文密码不未加密传输
queue.kafka.confluent.sasl.config TB_QUEUE_KAFKA_CONFLUENT_SASL_JAAS_CONFIG org.apache.kafka.common.security.plain.PlainLoginModule required username=\"CLUSTER_API_KEY\" password=\"CLUSTER_API_SECRET\"; 使用JAAS配置指定broker上的多个SASL机制
queue.kafka.confluent.security.protocol TB_QUEUE_KAFKA_CONFLUENT_SECURITY_PROTOCOL SASL_SSL 与broker通信的协议。有效值:PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL
queue.kafka.consumer-properties-per-topic.tb_ota_package.key max.poll.records 每个特定主题的Kafka消费者的键值属性,例如tb_ota_package是ota的主题名称,tb_rule_engine.sq是默认SequentialByOriginator队列的主题名称。检查TB_QUEUE_CORE_OTA_TOPIC和TB_QUEUE_RE_SQ_TOPIC参数
queue.kafka.consumer-properties-per-topic.tb_ota_package.key.value TB_QUEUE_KAFKA_OTA_MAX_POLL_RECORDS 10 每个主题的特定消费者属性值示例
queue.kafka.consumer-properties-per-topic.tb_version_control.key max.poll.interval.ms VC每个主题的特定消费者属性值示例
queue.kafka.consumer-properties-per-topic.tb_version_control.key.value TB_QUEUE_KAFKA_VC_MAX_POLL_INTERVAL_MS 600000 VC每个主题的特定消费者属性值示例
queue.kafka.consumer-properties-per-topic.tb_edge.key max.poll.records 针对边缘服务更新主题的消费者的属性。
queue.kafka.consumer-properties-per-topic.tb_edge.key.value TB_QUEUE_KAFKA_EDGE_EVENTS_MAX_POLL_RECORDS 10 定义每个请求可以从tb_edge主题轮询的最大记录数。
queue.kafka.consumer-properties-per-topic.tb_edge.notifications.key max.poll.records 针对高优先级边缘通知的消费者的属性。这些通知包括RPC调用、生命周期事件和新队列消息,需要最小的延迟和快速的处理。
queue.kafka.consumer-properties-per-topic.tb_edge.notifications.key.value TB_QUEUE_KAFKA_EDGE_HP_EVENTS_MAX_POLL_RECORDS 10 定义可以从tb_edge.notifications.SERVICE_ID主题轮询的最大记录数。
queue.kafka.consumer-properties-per-topic.tb_edge_event.notifications.key max.poll.records 针对特定边缘主题的下行链路消费者的属性。主题名称是使用租户和边缘标识符动态构建的。
queue.kafka.consumer-properties-per-topic.tb_edge_event.notifications.key.value TB_QUEUE_KAFKA_EDGE_NOTIFICATIONS_MAX_POLL_RECORDS 10 定义可以从tb_edge_event.notifications.TENANT_ID.EDGE_ID主题轮询的最大记录数。
queue.kafka.consumer-properties-per-topic.tb_housekeeper.key max.poll.records Housekeeper任务主题的使用者属性
queue.kafka.consumer-properties-per-topic.tb_housekeeper.key.value TB_QUEUE_KAFKA_HOUSEKEEPER_MAX_POLL_RECORDS 1 单次轮询中返回的记录数量。对于管家任务主题,我们应该一条一条地消费消息(任务)
queue.kafka.consumer-properties-per-topic.tb_housekeeper.reprocessing.key max.poll.records Housekeeper重新处理主题的消费者属性
queue.kafka.consumer-properties-per-topic.tb_housekeeper.reprocessing.key.value TB_QUEUE_KAFKA_HOUSEKEEPER_REPROCESSING_MAX_POLL_RECORDS 1 单次轮询中返回的记录数量。对于Housekeeper再处理topic,我们应该一条一条地消费消息(任务)
queue.kafka.consumer-properties-per-topic.edqs.events.key max.poll.records edqs.events主题的Kafka消费者的键值属性
queue.kafka.consumer-properties-per-topic.edqs.events.key.value TB_QUEUE_KAFKA_EDQS_EVENTS_MAX_POLL_RECORDS 512 edqs.events主题的最大轮询记录
queue.kafka.consumer-properties-per-topic.edqs.state.key max.poll.records edqs.state主题的Kafka消费者的键值属性
queue.kafka.consumer-properties-per-topic.edqs.state.key.value TB_QUEUE_KAFKA_EDQS_STATE_MAX_POLL_RECORDS 512 edqs.state主题的最大轮询记录
queue.kafka.consumer-properties-per-topic.tasks.key max.poll.records 任务主题的Kafka使用者的键值属性
queue.kafka.consumer-properties-per-topic.tasks.key.value TB_QUEUE_KAFKA_TASKS_MAX_POLL_RECORDS 1 任务主题的最大轮询记录
queue.kafka.consumer-properties-per-topic-inline TB_QUEUE_KAFKA_CONSUMER_PROPERTIES_PER_TOPIC_INLINE 如果您使用环境变量覆盖任何默认的Kafka主题名称,则还必须在“consumer-properties-per-topic-inline”中指定新主题的相关使用者属性。否则,主题将不会继承其预期配置(例如max.poll.records、超时等)。每个条目为特定主题设置一个属性。要为主题定义多个属性,请重复主题键。格式:“topic1:key=value;topic1:key=value;topic2:key=value” 示例:tb_core_updated:max.poll.records=10;tb_core_updated:bootstrap.servers=kafka1:9092,kafka2:9092;tb_edge_updated:auto.offset.reset=latest
queue.kafka.other-inline TB_QUEUE_KAFKA_OTHER_PROPERTIES 在本节中,您可以为Kafka消费者/生产者/管理员指定自定义参数(分号分隔)
queue.kafka.topic-properties.rule-engine TB_QUEUE_KAFKA_RE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 规则引擎的Kafka属性
queue.kafka.topic-properties.core TB_QUEUE_KAFKA_CORE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 Core topic的Kafka属性
queue.kafka.topic-properties.transport-api TB_QUEUE_KAFKA_TA_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1 Transport Api topic的Kafka属性
queue.kafka.topic-properties.notifications TB_QUEUE_KAFKA_NOTIFICATIONS_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 通知topic的Kafka属性
queue.kafka.topic-properties.js-executor TB_QUEUE_KAFKA_JE_TOPIC_PROPERTIES retention.ms:86400000;segment.bytes:52428800;retention.bytes:104857600;partitions:30;min.insync.replicas:1 JS执行器主题的Kafka属性
queue.kafka.topic-properties.ota-updates TB_QUEUE_KAFKA_OTA_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1 OTA更新主题的Kafka属性
queue.kafka.topic-properties.version-control TB_QUEUE_KAFKA_VC_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 版本控制主题的Kafka属性
queue.kafka.topic-properties.integration-api TB_QUEUE_KAFKA_INTEGRATION_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1 Kafka properties for Integration Api topics
queue.kafka.topic-properties.housekeeper TB_QUEUE_KAFKA_HOUSEKEEPER_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:10;min.insync.replicas:1 Housekeeper任务topic的Kafka属性
queue.kafka.topic-properties.housekeeper-reprocessing TB_QUEUE_KAFKA_HOUSEKEEPER_REPROCESSING_TOPIC_PROPERTIES retention.ms:7776000000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 Housekeeper重新处理主题的Kafka属性;Retention.ms设置为90天;分区设置为1,因为一次仅运行一个重新处理服务
queue.kafka.topic-properties.edge TB_QUEUE_KAFKA_EDGE_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 Edge主题的Kafka属性
queue.kafka.topic-properties.edge-event TB_QUEUE_KAFKA_EDGE_EVENT_TOPIC_PROPERTIES retention.ms:2592000000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 Edge事件主题的Kafka属性
queue.kafka.topic-properties.calculated-field TB_QUEUE_KAFKA_CF_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 字段计算主题的Kafka属性
queue.kafka.topic-properties.calculated-field-state TB_QUEUE_KAFKA_CF_STATE_TOPIC_PROPERTIES retention.ms:-1;segment.bytes:52428800;retention.bytes:104857600000;partitions:1;min.insync.replicas:1;cleanup.policy:compact 字段计算状态主题的Kafka属性
queue.kafka.topic-properties.edqs-events TB_QUEUE_KAFKA_EDQS_EVENTS_TOPIC_PROPERTIES retention.ms:86400000;segment.bytes:52428800;retention.bytes:-1;partitions:1;min.insync.replicas:1 EDQS事件主题的Kafka属性
queue.kafka.topic-properties.edqs-requests TB_QUEUE_KAFKA_EDQS_REQUESTS_TOPIC_PROPERTIES retention.ms:180000;segment.bytes:52428800;retention.bytes:1048576000;partitions:1;min.insync.replicas:1 EDQS请求主题的Kafka属性(默认值:保留3分钟)
queue.kafka.topic-properties.edqs-state TB_QUEUE_KAFKA_EDQS_STATE_TOPIC_PROPERTIES retention.ms:-1;segment.bytes:52428800;retention.bytes:-1;partitions:1;min.insync.replicas:1;cleanup.policy:compact EDQS状态主题的Kafka属性(无限保留、压缩)
queue.kafka.topic-properties.tasks TB_QUEUE_KAFKA_TASKS_TOPIC_PROPERTIES retention.ms:604800000;segment.bytes:52428800;retention.bytes:104857600;partitions:1;min.insync.replicas:1 任务主题的Kafka属性
queue.kafka.consumer-stats.enabled TB_QUEUE_KAFKA_CONSUMER_STATS_ENABLED true 打印Kafka主题中消费者组偏移量和最后消息偏移量之间的滞后
queue.kafka.consumer-stats.print-interval-ms TB_QUEUE_KAFKA_CONSUMER_STATS_MIN_PRINT_INTERVAL_MS 60000 Kafka消费者组统计数据的统计打印间隔
queue.kafka.consumer-stats.kafka-response-timeout-ms TB_QUEUE_KAFKA_CONSUMER_STATS_RESPONSE_TIMEOUT_MS 1000 等待Kafka的统计数据加载请求完成的时间
queue.kafka.topics_cache_ttl_ms TB_QUEUE_KAFKA_TOPICS_CACHE_TTL_MS 300000 topic缓存TTL(毫秒)。默认5分钟
queue.partitions.hash_function_name TB_QUEUE_PARTITIONS_HASH_FUNCTION_NAME murmur3_128 murmur3_32、murmur3_128或sha256
queue.transport_api.requests_topic TB_QUEUE_TRANSPORT_API_REQUEST_TOPIC tb_transport.api.requests 消费传输微服务api请求的topic
queue.transport_api.responses_topic TB_QUEUE_TRANSPORT_API_RESPONSE_TOPIC tb_transport.api.responses 向传输微服务发送api响应的topic
queue.transport_api.max_pending_requests TB_QUEUE_TRANSPORT_MAX_PENDING_REQUESTS 10000 服务器待处理的传输微服务api请求最大数
queue.transport_api.max_requests_timeout TB_QUEUE_TRANSPORT_MAX_REQUEST_TIMEOUT 10000 服务器处理传输微服务api请求的最大超时(毫秒)
queue.transport_api.max_callback_threads TB_QUEUE_TRANSPORT_MAX_CALLBACK_THREADS 100 用于调用回调的线程数
queue.transport_api.max_core_handler_threads TB_QUEUE_TRANSPORT_MAX_CORE_HANDLER_THREADS 16 用于传输API请求的线程数量
queue.transport_api.request_poll_interval TB_QUEUE_TRANSPORT_REQUEST_POLL_INTERVAL_MS 25 轮询传输微服务api请求的间隔(毫秒)
queue.transport_api.response_poll_interval TB_QUEUE_TRANSPORT_RESPONSE_POLL_INTERVAL_MS 25 轮询传输微服务api响应的间隔(毫秒)
queue.core.topic TB_QUEUE_CORE_TOPIC tb_core 默认topic名
queue.core.notifications_topic TB_QUEUE_CORE_NOTIFICATIONS_TOPIC tb_core.notifications 需要最低延迟和处理时间的高优先级通知
queue.core.poll-interval TB_QUEUE_CORE_POLL_INTERVAL_MS 25 Core微服务轮询消息的间隔(毫秒)
queue.core.partitions TB_QUEUE_CORE_PARTITIONS 10 Core微服务使用的分区数
queue.core.pack-processing-timeout TB_QUEUE_CORE_PACK_PROCESSING_TIMEOUT_MS 2000 Core微服务处理消息包的超时
queue.core.consumer-per-partition TB_QUEUE_CORE_CONSUMER_PER_PARTITION true 为核心队列启用/禁用每个分区的单独使用者
queue.core.ota.topic TB_QUEUE_CORE_OTA_TOPIC tb_ota_package 默认topic名for OTA updates
queue.core.ota.pack-interval-ms TB_QUEUE_CORE_OTA_PACK_INTERVAL_MS 60000 处理设备OTA更新的时间间隔。用于避免由于许多并行OTA更新而对网络造成任何损害
queue.core.ota.pack-size TB_QUEUE_CORE_OTA_PACK_SIZE 100 从队列中获取的OTA更新通知的大小。队列存储成对的固件和设备ID
queue.core.usage-stats-topic TB_QUEUE_US_TOPIC tb_usage_stats 统计主题名称
queue.core.stats.enabled TB_QUEUE_CORE_STATS_ENABLED true 启用/禁用Core微服务统计
queue.core.stats.print-interval-ms TB_QUEUE_CORE_STATS_PRINT_INTERVAL_MS 60000 Core微服务统计打印间隔
queue.core.housekeeper.topic TB_HOUSEKEEPER_TOPIC tb_housekeeper Housekeeper任务topic名
queue.core.housekeeper.reprocessing-topic TB_HOUSEKEEPER_REPROCESSING_TOPIC tb_housekeeper.reprocessing Housekeeper任务topic名to be reprocessed
queue.core.housekeeper.poll-interval-ms TB_HOUSEKEEPER_POLL_INTERVAL_MS 500 与管家相关的主题的投票间隔
queue.core.housekeeper.task-processing-timeout-ms TB_HOUSEKEEPER_TASK_PROCESSING_TIMEOUT_MS 120000 任务处理超时(以毫秒为单位)。未能按时完成的任务将提交重新处理
queue.core.housekeeper.disabled-task-types TB_HOUSEKEEPER_DISABLED_TASK_TYPES 不应处理的任务类型的逗号分隔列表。可用的任务类型:DELETE_ATTRIBUTES、DELETE_TELEMETRY(DELETE_LATEST_TS和DELETE_TS_HISTORY将被禁用)、DELETE_LATEST_TS、DELETE_TS_HISTORY、DELETE_EVENTS、DELETE_ALARMS、UNASSIGN_ALARMS
queue.core.housekeeper.task-reprocessing-delay-ms TB_HOUSEKEEPER_TASK_REPROCESSING_DELAY_MS 3000 任务重新处理之间的延迟(以毫秒为单位)
queue.core.housekeeper.max-reprocessing-attempts TB_HOUSEKEEPER_MAX_REPROCESSING_ATTEMPTS 10 任务重新处理尝试的最大数量。超过后任务将被丢弃
queue.core.housekeeper.entities-cleanup-frequency TB_HOUSEKEEPER_ENTITIES_CLEANUP_FREQUENCY 3600 Expiration check frequency in seconds for entities that have ttl
queue.core.housekeeper.stats.enabled TB_HOUSEKEEPER_STATS_ENABLED true 启用/禁用管家统计
queue.core.housekeeper.stats.print-interval-ms TB_HOUSEKEEPER_STATS_PRINT_INTERVAL_MS 60000 Housekeeper统计打印间隔
queue.edqs.sync.enabled TB_EDQS_SYNC_ENABLED false 启用/禁用EDQS同步
queue.edqs.sync.entity_batch_size TB_EDQS_SYNC_ENTITY_BATCH_SIZE 10000 与EDQS同步的实体的批量大小
queue.edqs.sync.ts_batch_size TB_EDQS_SYNC_TS_BATCH_SIZE 10000 与EDQS同步的时间序列数据的批量大小
queue.edqs.api.supported TB_EDQS_API_SUPPORTED false 是否将实体数据查询请求转发到EDQS(否则使用PostgreSQL实现)
queue.edqs.api.auto_enable TB_EDQS_API_AUTO_ENABLE true 当数据同步到Kafka完成时是否自动启用EDQS API(如果queue.edqs.api.supported为true)
queue.edqs.readiness_check_interval TB_EDQS_READINESS_CHECK_INTERVAL_MS 60000 检查就绪EDQS服务器的时间间隔(以毫秒为单位)
queue.edqs.mode TB_EDQS_MODE local EDQS模式:本地(对于整体)或远程(具有单独的EDQS微服务)
queue.edqs.local.rocksdb_path TB_EDQS_ROCKSDB_PATH ${user.home}/.rocksdb/edqs 在本地模式下运行时用于EDQS备份的RocksDB路径
queue.edqs.partitions TB_EDQS_PARTITIONS 12 EDQS主题的分区数量
queue.edqs.partitioning_strategy TB_EDQS_PARTITIONING_STRATEGY tenant EDQS分区策略:tenant(分区通过tenant id解析)或none(无具体策略,通过message key解析)
queue.edqs.events_topic TB_EDQS_EVENTS_TOPIC edqs.events EDQS活动主题
queue.edqs.state_topic TB_EDQS_STATE_TOPIC edqs.state EDQS状态主题
queue.edqs.requests_topic TB_EDQS_REQUESTS_TOPIC edqs.requests EDQS请求主题
queue.edqs.responses_topic TB_EDQS_RESPONSES_TOPIC edqs.responses EDQS回复主题
queue.edqs.poll_interval TB_EDQS_POLL_INTERVAL_MS 25 EDQS主题的轮询间隔
queue.edqs.max_pending_requests TB_EDQS_MAX_PENDING_REQUESTS 10000 EDQS待处理请求的最大数量
queue.edqs.max_request_timeout TB_EDQS_MAX_REQUEST_TIMEOUT 20000 向EDQS请求的最大超时
queue.edqs.request_executor_size TB_EDQS_REQUEST_EXECUTOR_SIZE 50 EDQS请求执行器的线程池大小
queue.edqs.versions_cache_ttl TB_EDQS_VERSIONS_CACHE_TTL_MINUTES 60 EDQS版本缓存的生存时间为几分钟。必须大于同步过程所需的时间。
queue.edqs.string_compression_length_threshold TB_EDQS_STRING_COMPRESSION_LENGTH_THRESHOLD 512 长度超过此阈值的字符串将被压缩
queue.edqs.stats.enabled TB_EDQS_STATS_ENABLED true 启用/禁用EDQS统计
queue.edqs.stats.slow_query_threshold TB_EDQS_SLOW_QUERY_THRESHOLD_MS 3000 记录慢速查询的阈值(以毫秒为单位)
queue.vc.topic TB_QUEUE_VC_TOPIC tb_version_control 默认topic名
queue.vc.partitions TB_QUEUE_VC_PARTITIONS 10 与此队列关联的分区数。用于缩放可以并行处理的消息数量
queue.vc.poll-interval TB_QUEUE_VC_INTERVAL_MS 25 如果没有新消息到达,轮询消息之间的时间间隔(以毫秒为单位)
queue.vc.pack-processing-timeout TB_QUEUE_VC_PACK_PROCESSING_TIMEOUT_MS 180000 重试处理包中所有失败和超时消息之前的超时
queue.vc.request-timeout TB_QUEUE_VC_REQUEST_TIMEOUT 180000 向VC执行器请求的超时(请求实体版本、提交费用等)
queue.vc.msg-chunk-size TB_QUEUE_VC_MSG_CHUNK_SIZE 250000 单个队列消息大小限制
queue.js.request_topic REMOTE_JS_EVAL_REQUEST_TOPIC js_eval.requests JS Eval请求topic
queue.js.response_topic_prefix REMOTE_JS_EVAL_RESPONSE_TOPIC js_eval.responses 与节点id组合的JS Eval响应topic前缀
queue.js.max_pending_requests REMOTE_JS_MAX_PENDING_REQUESTS 10000 JS Eval最大待处理请求数
queue.js.max_eval_requests_timeout REMOTE_JS_MAX_EVAL_REQUEST_TIMEOUT 60000 JS Eval最大请求超时
queue.js.max_requests_timeout REMOTE_JS_MAX_REQUEST_TIMEOUT 10000 JS最大请求超时时间
queue.js.max_exec_requests_timeout REMOTE_JS_MAX_EXEC_REQUEST_TIMEOUT 2000 JS执行最大请求超时
queue.js.response_poll_interval REMOTE_JS_RESPONSE_POLL_INTERVAL_MS 25 JS响应轮询间隔
queue.rule-engine.topic TB_QUEUE_RULE_ENGINE_TOPIC tb_rule_engine 已弃用。将在近期版本中移除
queue.rule-engine.notifications_topic TB_QUEUE_RULE_ENGINE_NOTIFICATIONS_TOPIC tb_rule_engine.notifications 需要最低延迟和处理时间的高优先级通知
queue.rule-engine.poll-interval TB_QUEUE_RULE_ENGINE_POLL_INTERVAL_MS 25 规则引擎轮询消息的间隔(毫秒)
queue.rule-engine.pack-processing-timeout TB_QUEUE_RULE_ENGINE_PACK_PROCESSING_TIMEOUT_MS 2000 规则引擎处理消息包的超时
queue.rule-engine.stats.enabled TB_QUEUE_RULE_ENGINE_STATS_ENABLED true 启用/禁用规则引擎统计
queue.rule-engine.stats.print-interval-ms TB_QUEUE_RULE_ENGINE_STATS_PRINT_INTERVAL_MS 60000 规则引擎统计打印间隔
queue.rule-engine.stats.max-error-message-length TB_QUEUE_RULE_ENGINE_MAX_ERROR_MESSAGE_LENGTH 4096 统计打印错误信息的最大长度
queue.rule-engine.topic-deletion-delay TB_QUEUE_RULE_ENGINE_TOPIC_DELETION_DELAY_SEC 15 队列被删除(或配置文件的隔离选项被禁用)后,规则引擎将在此期间继续读取相关主题,然后再删除实际主题
queue.rule-engine.management-thread-pool-size TB_QUEUE_RULE_ENGINE_MGMT_THREAD_POOL_SIZE 12 处理分区更改、配置更新、队列删除等操作的线程池的大小
queue.calculated_fields.event_topic TB_QUEUE_CF_EVENT_TOPIC tb_cf_event 规则引擎中字段计算(CF)事件的主题名称
queue.calculated_fields.state_topic TB_QUEUE_CF_STATE_TOPIC tb_cf_state 字段计算(CF)压缩状态的主题名称
queue.calculated_fields.notifications_topic TB_QUEUE_CF_NOTIFICATIONS_TOPIC calculated_field.notifications 需要最低延迟和处理时间的高优先级通知
queue.calculated_fields.poll_interval TB_QUEUE_CF_POLL_INTERVAL_MS 1000 轮询消息的间隔(毫秒)by CF (Rule Engine) microservices
queue.calculated_fields.pack_processing_timeout TB_QUEUE_CF_PACK_PROCESSING_TIMEOUT_MS 60000 CF微服务处理消息包超时
queue.calculated_fields.pool_size TB_QUEUE_CF_POOL_SIZE 8 用于处理传入消息的线程池大小
queue.calculated_fields.rocks_db_path TB_QUEUE_CF_ROCKS_DB_PATH ${user.home}/.rocksdb/cf_states RocksDB存储CF状态的路径
queue.calculated_fields.init_fetch_pack_size TB_QUEUE_CF_FETCH_PACK_SIZE 50000 获取大小指定每个初始获取请求将从数据库中获取多少行
queue.calculated_fields.init_tenant_fetch_pack_size TB_QUEUE_CF_TENANT_FETCH_PACK_SIZE 1000 提取大小指定每个租户提取的每个请求将从数据库中提取多少行
queue.calculated_fields.telemetry_fetch_pack_size TB_QUEUE_CF_TELEMETRY_FETCH_PACK_SIZE 2000 The fetch size specifies how many rows will be fetched from the database per request for telemetry fetching
queue.calculated_fields.reprocessing_timeout TB_QUEUE_CF_REPROCESSING_TIMEOUT_MS 300000 Timeout for CF reprocessing in milliseconds, default is 5 minutes
queue.transport.notifications_topic TB_QUEUE_TRANSPORT_NOTIFICATIONS_TOPIC tb_transport.notifications 需要最低延迟和处理时间的高优先级通知
queue.transport.poll_interval TB_QUEUE_TRANSPORT_NOTIFICATIONS_POLL_INTERVAL_MS 25 轮询消息的间隔(毫秒)
queue.edge.topic TB_QUEUE_EDGE_TOPIC tb_edge 用于通知边缘服务有关实体更新、分配等的主题名称。
queue.edge.notifications_topic TB_QUEUE_EDGE_NOTIFICATIONS_TOPIC tb_edge.notifications 需要最短延迟和处理时间的高优先级边缘通知(rpc、生命周期、队列中的新消息)的主题前缀。每个tb-core都有自己的主题:PREFIX.SERVICE_ID
queue.edge.event_notifications_topic TB_QUEUE_EDGE_EVENT_NOTIFICATIONS_TOPIC tb_edge_event.notifications 要推送到特定边缘的下行链路的主题前缀。每条边都有自己独特的主题:PREFIX.TENANT_ID.EDGE_ID
queue.edge.partitions TB_QUEUE_EDGE_PARTITIONS 10 Edge服务使用的分区数量
queue.edge.poll-interval TB_QUEUE_EDGE_POLL_INTERVAL_MS 25 与边缘服务相关的主题的轮询间隔
queue.edge.pack-processing-timeout TB_QUEUE_EDGE_PACK_PROCESSING_TIMEOUT_MS 10000 Edge服务处理消息包的超时
queue.edge.pack-processing-retries TB_QUEUE_EDGE_MESSAGE_PROCESSING_RETRIES 3 边缘服务重试处理失败消息包
queue.edge.consumer-per-partition TB_QUEUE_EDGE_CONSUMER_PER_PARTITION false 为边缘队列启用/禁用每个分区的单独使用者
queue.edge.stats.enabled TB_QUEUE_EDGE_STATS_ENABLED true 启用/禁用边缘服务的统计信息
queue.edge.stats.print-interval-ms TB_QUEUE_EDGE_STATS_PRINT_INTERVAL_MS 60000 Edge服务统计打印间隔
queue.integration.partitions TB_QUEUE_INTEGRATION_PARTITIONS 3 Name of hash function used for consistent hash ring in Cluster Mode. See architecture docs for more details. Valid values - murmur3_32, murmur3_128 or sha256
queue.integration.notifications_topic TB_QUEUE_INTEGRATION_NOTIFICATIONS_TOPIC tb_integration_executor.notifications For high-priority notifications that require minimum latency and processing time
queue.integration.downlink_topic TB_QUEUE_INTEGRATION_DOWNLINK_TOPIC tb_ie.downlink Default downlink topic name used by queue
queue.integration.downlink_topics TB_QUEUE_INTEGRATION_DOWNLINK_TOPICS Downlink topic names for integration type (semicolon separated). Example: "MQTT:tb_ie.downlink.mqtt;HTTP:tb_ie.downlink.http" If not specified, the default topic will construct as before - 'downlink_topic' + IntegrationType.name()
queue.integration.uplink_topic TB_QUEUE_INTEGRATION_UPLINK_TOPIC tb_ie.uplink Default uplink topic name used by queue
queue.integration.poll_interval TB_QUEUE_INTEGRATION_POLL_INTERVAL_MS 25 Interval in milliseconds to poll messages by integrations
queue.integration.pack-processing-timeout TB_QUEUE_INTEGRATION_PACK_PROCESSING_TIMEOUT_MS 10000 Timeout for processing a message pack by integrations
queue.integration_api.requests_topic TB_QUEUE_INTEGRATION_EXECUTOR_API_REQUEST_TOPIC tb_ie.api.requests Default Integration Api request topic name used by queue
queue.integration_api.responses_topic TB_QUEUE_INTEGRATION_EXECUTOR_API_RESPONSE_TOPIC tb_ie.api.responses Default Integration Api response topic name used by queue
queue.integration_api.max_pending_requests TB_QUEUE_INTEGRATION_EXECUTOR_MAX_PENDING_REQUESTS 10000 Maximum pending api requests from integration executor to be handled by server<
queue.integration_api.max_requests_timeout TB_QUEUE_INTEGRATION_EXECUTOR_MAX_REQUEST_TIMEOUT 10000 Maximum timeout in milliseconds to handle api request from integration executor microservice by server
queue.integration_api.max_callback_threads TB_QUEUE_INTEGRATION_EXECUTOR_MAX_CALLBACK_THREADS 10 Amount of threads used to invoke callbacks
queue.integration_api.request_poll_interval TB_QUEUE_INTEGRATION_EXECUTOR_REQUEST_POLL_INTERVAL_MS 25 Interval in milliseconds to poll api requests from integration executor microservices
queue.integration_api.response_poll_interval TB_QUEUE_INTEGRATION_EXECUTOR_RESPONSE_POLL_INTERVAL_MS 25 Interval in milliseconds to poll api response from integration executor microservices
queue.tasks.poll_interval TB_QUEUE_TASKS_POLL_INTERVAL_MS 500 任务主题的轮询间隔(以毫秒为单位)
queue.tasks.partitions TB_QUEUE_TASKS_PARTITIONS 12 任务队列的分区计数
queue.tasks.partitions_per_type TB_QUEUE_TASKS_PARTITIONS_PER_TYPE 每种类型的任务队列的自定义分区计数。格式:'TYPE1:24;TYPE2:36',例如'CF_REPROCESSING:24;TENANT_EXPORT:6'
queue.tasks.partitioning_strategy TB_QUEUE_TASKS_PARTITIONING_STRATEGY tenant 任务分区策略:“租户”或“实体”。默认情况下,使用“租户” - 特定租户的任务在同一分区中处理。在单租户环境中,使用“实体”策略在多个分区之间分配任务。
queue.tasks.stats.topic TB_QUEUE_TASKS_STATS_TOPIC jobs.stats 任务统计主题的名称
queue.tasks.stats.poll_interval TB_QUEUE_TASKS_STATS_POLL_INTERVAL_MS 500 任务统计主题的轮询间隔(以毫秒为单位)
queue.tasks.stats.processing_interval TB_QUEUE_TASKS_STATS_PROCESSING_INTERVAL_MS 1000 处理作业统计信息的时间间隔(以毫秒为单位)
queue.report.mode TB_REPORT_SERVICE_MODE local 报表服务模式:local或remote(配合tb-report微服务)
queue.report.notifications_topic TB_QUEUE_REPORT_NOTIFICATIONS_TOPIC tb_report.notifications TB Report通知主题名称
queue.report.poll_interval TB_QUEUE_REPORT_POLL_INTERVAL_MS 125 TB Report队列轮询间隔(毫秒)

事件配置参数

参数环境变量默认值描述
event.debug.max-symbols TB_MAX_DEBUG_EVENT_SYMBOLS 4096 每个调试事件的最大符号数。如果需要,活动内容将被截断
event.debug.rate_limits.enabled DEBUG_MODE_RATE_LIMITS_PER_TENANT_ENABLED true If true rate limits will be active
event.debug.rate_limits.integration INTEGRATION_DEBUG_MODE_RATE_LIMITS_PER_TENANT 50000:3600 No more than 50000 messages per hour
event.debug.rate_limits.converter CONVERTER_DEBUG_MODE_RATE_LIMITS_PER_TENANT 50000:3600 No more than 50000 messages per hour

通用服务参数

参数环境变量默认值描述
service.type TB_SERVICE_TYPE monolith 整体式或tb-core或tb-rule-engine
service.id TB_SERVICE_ID 本服务的唯一ID(空则自动生成)
service.integrations.supported TB_SERVICE_INTEGRATIONS_SUPPORTED ALL Allow to enable integration on service/microservice integration executor. Allowed values: OCEANCONNECT, SIGFOX, THINGPARK, TPE, CHIRPSTACK, TUYA, UDP, TCP, TTN, TTI, AZURE_EVENT_HUB, OPC_UA, IBM_WATSON_IOT, AWS_IOT, AWS_SQS, LORIOT, COAP, AZURE_SERVICE_BUS, HTTP, MQTT or ALL to allow all
service.integrations.excluded TB_SERVICE_INTEGRATIONS_EXCLUDED NONE List of integrations to exclude from processing on service/microservice integration executor. Allowed values: OCEANCONNECT, SIGFOX, THINGPARK, TPE, CHIRPSTACK, TUYA, UDP, TCP, TTN, TTI, AZURE_EVENT_HUB, OPC_UA, IBM_WATSON_IOT, AWS_IOT, AWS_SQS, LORIOT, COAP, AZURE_SERVICE_BUS, HTTP, MQTT. By default NONE
service.rule_engine.assigned_tenant_profiles TB_RULE_ENGINE_ASSIGNED_TENANT_PROFILES 分配给此规则引擎的租户配置ID的逗号分隔列表。该规则引擎将仅对具有这些配置文件的租户负责(如果配置文件中启用了“隔离”选项)。
service.rule_engine.pubsub.executor_thread_pool_size TB_RULE_ENGINE_PUBSUB_EXECUTOR_THREAD_POOL_SIZE 0 pubsub规则节点执行器提供程序的线程池大小。如果未设置 - 将使用默认的pubsub执行程序提供程序值(5 *可用处理器的数量)

指标参数

参数环境变量默认值描述
metrics.enabled METRICS_ENABLED false 启用/禁用actuator指标。
metrics.timer.percentiles METRICS_TIMER_PERCENTILES 0.5 计时器指标的执行器返回的指标百分位数。双精度值列表(除以,)。
metrics.system_info.persist_frequency METRICS_SYSTEM_INFO_PERSIST_FREQUENCY_SECONDS 60 以秒为单位保留系统信息(CPU、内存使用情况等)的频率
metrics.system_info.ttl METRICS_SYSTEM_INFO_TTL_DAYS 7 系统信息时间序列的TTL(以天为单位)

版本控制参数

参数环境变量默认值描述
vc.thread_pool_size TB_VC_POOL_SIZE 6 用于处理导出任务的池大小
vc.git.io_pool_size TB_VC_GIT_POOL_SIZE 3 用于处理git IO操作的池大小
vc.git.repositories-folder TB_VC_GIT_REPOSITORIES_FOLDER ${java.io.tmpdir}/repositories 默认存储库路径

通知系统参数

参数环境变量默认值描述
notification_system.thread_pool_size TB_NOTIFICATION_SYSTEM_THREAD_POOL_SIZE 10 指定通知系统处理通知规则和通知发送的线程池大小。推荐值 <= 10
notification_system.rules.deduplication_durations TB_NOTIFICATION_RULES_DEDUPLICATION_DURATIONS NEW_PLATFORM_VERSION:0;RATE_LIMITS:14400000; 触发器类型的去重时长(毫秒,分号分隔)。格式:'NotificationRuleTriggerType1:123;NotificationRuleTriggerType2:456'

通用管理参数

参数环境变量默认值描述
management.endpoints.web.exposure.include METRICS_ENDPOINTS_EXPOSE info 暴露指标端点(使用'prometheus'启用prometheus指标)。
management.health.elasticsearch.enabled "false" 启用org.springframework.boot.actuate.elasticsearch.ElasticsearchRestClientHealthIndicator.doHealthCheck

ThingsBoard移动应用程序设置

参数环境变量默认值描述
mobileApp.domain TB_MOBILE_APP_DOMAIN thingsboard.cloud Thingsboard Live移动应用程序的服务器域名
mobileApp.googlePlayLink TB_MOBILE_APP_GOOGLE_PLAY_LINK https://play.google.com/store/apps/details?id=org.thingsboard.cloud Thingsboard Live移动应用程序的Google Play商店链接
mobileApp.appStoreLink TB_MOBILE_APP_APP_STORE_LINK https://apps.apple.com/ua/app/thingsboard-cloud/id6499209395 Thingsboard Live移动应用程序的App Store链接
mqtt.client.retransmission.max_attempts TB_MQTT_CLIENT_RETRANSMISSION_MAX_ATTEMPTS 3 允许的最大重传尝试次数。如果尝试计数超过此值,重传将停止,待处理的消息将被丢弃。
mqtt.client.retransmission.initial_delay_millis TB_MQTT_CLIENT_RETRANSMISSION_INITIAL_DELAY_MILLIS 5000 第一次重传尝试之前的基本延迟(以毫秒为单位),从发送消息的那一刻开始测量。随后的延迟是使用指数退避计算的。该基本延迟也用作应用抖动的参考值。
mqtt.client.retransmission.jitter_factor TB_MQTT_CLIENT_RETRANSMISSION_JITTER_FACTOR 0.15 应用于计算的重传延迟的抖动因子。实际延迟在通过将基本延迟乘以(1 - jitter_factor)和(1 + jitter_factor)之间的因子定义的范围内随机化。例如,jitter_factor为0.15意味着实际延迟可能会变化达基本延迟的 ±15%。