- 服务端通用参数
- 应用信息参数
- Zookeeper连接参数
- 集群参数
- 插件配置参数
- 安全参数
- 邮件设置参数
- 使用统计参数
- UI设置参数
- 数据库遥测参数
- Cassandra驱动配置参数
- SQL配置参数
- Actor系统参数
- 平台集成参数
- 报告参数
- 缓存参数
- Spring数据参数
- Redis/Valkey配置参数
- 更新版本参数
- Spring CORS配置参数
- 常规Spring参数
- SQL DAO配置参数
- 审计日志参数
- 设备状态参数
- TBEL参数
- JS参数
- 传输配置参数
- CoAP服务端参数
- 设备连接属性
- Edge参数
- Trendz参数
- Spring文档常规参数
- Swagger常规参数
- 队列配置参数
- 事件配置参数
- 通用服务参数
- 指标参数
- 版本控制参数
- 通知系统参数
- 通用管理参数
- ThingsBoard移动应用程序设置
服务端通用参数
| 参数 | 环境变量 | 默认值 | 描述 |
| 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将恢复到排队状态。注意:
|
| 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”。
|
| 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)的使用。
|
| 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)的使用。
|
| 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%。 |