概述
此参数说明为部分常用参数说明
数据加密传输(SSL/TLS)
核心服务配置
环境变量 | 默认值 | 描述 |
SSL_ENABLED | false | 启用/禁用 SSL 支持 |
SSL_CREDENTIALS_TYPE | pem | 服务器凭据类型(PEM – pem 证书文件;KEYSTORE – java 密钥库) |
PEM证书文件
环境变量 | 默认值 | 描述 |
SSL_PEM_CERT | server.pem | 服务器证书文件的路径(持有服务器证书或证书链,可能包括服务器私钥) |
SSL_PEM_KEY | server_key.pem | 服务器证书私钥文件的路径(可选) |
SSL_PEM_KEY_PASSWORD | server_key_password | 服务器证书私钥密码(可选) |
KEYSTORE密钥库
环境变量 | 默认值 | 描述 |
SSL_KEY_STORE_TYPE | PKCS12 | 密钥库的类型 |
SSL_KEY_STORE | classpath:keystore/keystore.p12 | 保存 SSL 证书的密钥库的路径 |
SSL_KEY_STORE_PASSWORD | thingsboard | 用于访问密钥库的密码 |
SSL_KEY_ALIAS | tomcat | 密钥别名 |
SSL_KEY_PASSWORD | thingsboard | 用于访问密钥库中密钥的密码 |
MQTT设备接入服务配置
环境变量 | 默认值 | 描述 |
MQTT_SSL_ENABLED | false | 启用/禁用 SSL 支持 |
MQTT_SSL_CREDENTIALS_TYPE | pem | 服务器凭据类型(PEM – pem 证书文件;KEYSTORE – java 密钥库) |
PEM证书文件
环境变量 | 默认值 | 描述 |
MQTT_SSL_PEM_CERT | server.pem | 服务器证书文件的路径(持有服务器证书或证书链,可能包括服务器私钥) |
MQTT_SSL_PEM_KEY | server_key.pem | 服务器证书私钥文件的路径(可选) |
MQTT_SSL_PEM_KEY_PASSWORD | server_key_password | 服务器证书私钥密码(可选) |
KEYSTORE密钥库
环境变量 | 默认值 | 描述 |
MQTT_SSL_KEY_STORE_TYPE | JKS | 密钥库的类型 |
MQTT_SSL_KEY_STORE | classpath:keystore/keystore.p12 | 密钥库文件路径 |
MQTT_SSL_KEY_STORE_PASSWORD | thingsboard | 密钥库密码 |
MQTT_SSL_KEY_ALIAS | tomcat | 密钥库内的证书别名 |
MQTT_SSL_KEY_PASSWORD | thingsboard | 密钥库内证书的密码 |
MQTT_SSL_SKIP_VALIDITY_CHECK_FOR_CLIENT_CERT | true | 是否验证设备的x509证书有效性 |
核心、规则引擎参数配置
环境变量 | 默认值 | 描述 |
HTTP_BIND_ADDRESS | 0.0.0.0 | HTTP 服务器绑定地址 |
HTTP_BIND_PORT | 8080 | HTTP 服务器绑定端口 |
HTTP2_ENABLED | true | 启用/禁用 HTTP/2 支持 |
HTTP2_ENABLED | true | 启用/禁用 HTTP/2 支持(仅在启用服务器 SSL 时生效) |
HTTP_LOG_CONTROLLER_ERROR_STACK_TRACE | false | 当 REST API 抛出异常时使用堆栈跟踪记录错误 |
TB_SERVER_WS_DYNAMIC_PAGE_LINK_REFRESH_INTERVAL_SEC | 60 | 动态告警端实体数据查询的刷新率。 |
TB_SERVER_WS_DYNAMIC_PAGE_LINK_REFRESH_POOL_SIZE | 1 | 执行动态查询的线程池大小。 |
TB_SERVER_WS_DYNAMIC_PAGE_LINK_MAX_PER_USER | 10 | 每个用户的最大动态查询数。例如,用户在所有浏览器中同时打开的警报小部件不超过 10 个。 |
TB_SERVER_WS_MAX_ENTITIES_PER_DATA_SUBSCRIPTION | 10000 | 为单个实体订阅返回的最大实体数。例如,地图小部件上的实体不超过 10000 个。 |
TB_SERVER_WS_MAX_ENTITIES_PER_ALARM_SUBSCRIPTION | 10000 | 单个警报订阅返回的最大警报数。例如,警报小部件上的警报不超过 10000 个。 |
TB_SERVER_REST_LIMITS_TENANT_ENABLED | false | 启用/禁用每个租户的 REST API 速率限制 |
TB_SERVER_REST_LIMITS_TENANT_CONFIGURATION | 100:1,2000:60 | 在以秒为单位的指定时间间隔内,限制每台服务器上每个租户的最大 REST API 调用。逗号分隔的限制列表:秒对 |
TB_SERVER_REST_LIMITS_CUSTOMER_ENABLED | false | 启用/禁用每个客户的 REST API 速率限制 |
TB_SERVER_REST_LIMITS_CUSTOMER_CONFIGURATION | 50:1,1000:60 | 在指定的时间间隔内限制每个服务器上每个客户的最大 REST API 调用(以秒为单位)。逗号分隔的限制列表:秒对 |
MIN_SERVER_SIDE_RPC_TIMEOUT | 5000 | 服务器端 RPC 超时的最小值 |
DEFAULT_SERVER_SIDE_RPC_TIMEOUT | 10000 | 服务器端 RPC 超时的默认值 |
API配置
环境变量 | 默认值 | 描述 |
TB_SERVER_REST_LIMITS_TENANT_ENABLED | false | 启用/禁用每个租户的 REST API 速率限制 |
TB_SERVER_REST_LIMITS_TENANT_CONFIGURATION | 100:1,2000:60 | 在以秒为单位的指定时间间隔内,限制每台服务器上每个租户的最大 REST API 调用。逗号分隔的限制列表:秒对 |
TB_SERVER_REST_LIMITS_CUSTOMER_ENABLED | false | 启用/禁用每个客户的 REST API 速率限制 |
TB_SERVER_REST_LIMITS_CUSTOMER_CONFIGURATION | 50:1,1000:60 | 在指定的时间间隔内限制每个服务器上每个客户的最大 REST API 调用(以秒为单位)。逗号分隔的限制列表:秒对 |
MIN_SERVER_SIDE_RPC_TIMEOUT | 5000 | 服务器端 RPC 超时的最小值 |
实时数据(WebSocket)配置
环境变量 | 默认值 | 描述 |
TB_SERVER_WS_SEND_TIMEOUT | 5000 | 以毫秒为单位向客户端 WebSocket 会话发送数据的超时时间 |
TB_SERVER_WS_PING_TIMEOUT | 30000 | 以毫秒为单位向客户端 WebSocket PING的超时时间 |
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SESSIONS_PER_TENANT | 0 | 限制每台服务器上每个租户的 WebSocket 会话数量。0值不限制 |
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SESSIONS_PER_CUSTOMER | 0 | 限制每台服务器上每个客户可用的 WebSocket 会话数量。0值不限制 |
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SESSIONS_PER_REGULAR_USER | 0 | 限制每台服务器上每个普通用户的 WebSocket 会话数量。0值不限制 |
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SESSIONS_PER_PUBLIC_USER | 0 | 限制每台服务器上每个公共用户的 WebSocket 会话数量。0值不限制 |
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_QUEUE_PER_WS_SESSION | 500 | 限制每个 WebSocket 会话的待处理消息队列的大小 |
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SUBSCRIPTIONS_PER_TENANT | 0 | 限制每台服务器上每个租户的 WebSocket 订阅量。0值不限制 |
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SUBSCRIPTIONS_PER_CUSTOMER | 0 | 限制每台服务器上每个客户可用的 WebSocket 订阅量。0值不限制 |
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SUBSCRIPTIONS_PER_REGULAR_USER | 0 | 限制每台服务器上每个普通用户的 WebSocket 订阅量。0值不限制 |
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_SUBSCRIPTIONS_PER_PUBLIC_USER | 0 | 限制每台服务器上每个公共用户的 WebSocket 订阅量。0值不限制 |
TB_SERVER_WS_TENANT_RATE_LIMITS_MAX_UPDATES_PER_SESSION | 300:1,3000:60 | 每个Session的WebSocket接口访问速率配置。例如:1秒访问300次,60秒访问3000次。 |
TB_SERVER_WS_DYNAMIC_PAGE_LINK_REFRESH_INTERVAL_SEC | 60 | 动态告警端实体数据查询的刷新率。 |
TB_SERVER_WS_DYNAMIC_PAGE_LINK_REFRESH_POOL_SIZE | 1 | 执行动态查询的线程池大小。 |
TB_SERVER_WS_DYNAMIC_PAGE_LINK_MAX_PER_USER | 10 | 每个用户的最大动态查询数。例如,用户在所有浏览器中同时打开的警报小部件不超过 10 个。 |
TB_SERVER_WS_MAX_ENTITIES_PER_DATA_SUBSCRIPTION | 10000 | 为单个实体订阅返回的最大实体数。例如,地图小部件上的实体不超过 10000 个。 |
TB_SERVER_WS_MAX_ENTITIES_PER_ALARM_SUBSCRIPTION | 10000 | 单个警报订阅返回的最大警报数。例如,警报小部件上的警报不超过 10000 个。 |
Zookeeper 连接参数
环境变量 | 默认值 | 描述 |
ZOOKEEPER_ENABLED | false | 启用/禁用 zookeeper 发现服务。用于集群 |
ZOOKEEPER_URL | localhost:2181 | Zookeeper 连接字符串 |
ZOOKEEPER_RETRY_INTERVAL_MS | 3000 | Zookeeper 重试间隔(以毫秒为单位) |
ZOOKEEPER_CONNECTION_TIMEOUT_MS | 3000 | Zookeeper 连接超时(以毫秒为单位) |
ZOOKEEPER_SESSION_TIMEOUT_MS | 3000 | Zookeeper 会话超时(以毫秒为单位) |
ZOOKEEPER_NODES_DIR | /thingsboard | zookeeper“文件系统”中的目录名称 |
集群统计参数
环境变量 | 默认值 | 描述 |
TB_CLUSTER_STATS_ENABLED | false | 启用/禁用集群统计信息。根据每种类型计算集群节点之间发送的消息数。 |
TB_CLUSTER_STATS_PRINT_INTERVAL_MS | 10000 | 将集群统计信息打印到日志文件的时间间隔。 |
软件性能监控(prometheus)
环境变量 | 默认值 | 描述 |
METRICS_ENABLED | ||
METRICS_TIMER_PERCENTILES | ||
METRICS_ENDPOINTS_EXPOSE | ||
WEB_APPLICATION_ENABLE | ||
WEB_APPLICATION_TYPE | ||
HTTP_BIND_PORT |
插件配置参数
环境变量 | 默认值 | 描述 |
PLUGINS_SCAN_PACKAGES | org.thingsboard.server.extensions,org.thingsboard.rule.engine | 在插件的类路径扫描期间使用的逗号分隔包列表 |
安全参数
环境变量 | 默认值 | 描述 |
JWT_TOKEN_EXPIRATION_TIME | 9000 | 用户 JWT 令牌过期时间(以秒为单位) |
JWT_REFRESH_TOKEN_EXPIRATION_TIME | 604800 | 用户 JWT 刷新令牌过期时间(以秒为单位) |
JWT_TOKEN_ISSUER | thingsboard.io | User JWT Token issuer |
JWT_TOKEN_SIGNING_KEY | thingsboardDefaultSigningKey | 用户 JWT 令牌签名密钥 |
SECURITY_USER_TOKEN_ACCESS_ENABLED | true | 启用/禁用系统管理员对租户管理员 JWT 令牌的访问或租户管理员对客户用户 JWT 令牌的访问 |
SECURITY_USER_LOGIN_CASE_SENSITIVE | true | 启用/禁用区分大小写的用户名登录 |
SECURITY_CLAIM_ALLOW_CLAIMING_BY_DEFAULT | true | 启用/禁用声明设备,如果为 false -> 设备的 [claimingAllowed] SERVER_SCOPE 属性必须设置为 [true] 以允许声明特定设备 |
SECURITY_CLAIM_DURATION | 86400000 | 允许认领设备的时间(以毫秒为单位)。24小时。请注意此值必须等于 claimDevices.timeToLiveInMinutes 值 |
SECURITY_OAUTH2_LOGIN_PROCESSING_URL | /login/oauth2/code/ | 将处理来自外部用户管理系统的访问代码的重定向 URL |
使用统计参数
环境变量 | 默认值 | 描述 |
USAGE_STATS_REPORT_ENABLED | true | 启用/禁用有关 API 使用情况的统计信息收集。默认情况下在系统和租户级别收集。 |
USAGE_STATS_REPORT_PER_CUSTOMER_ENABLED | false | 在客户级别启用/禁用有关 API 使用情况的统计信息收集。 |
USAGE_STATS_REPORT_INTERVAL | 10 | 上报统计的时间间隔。默认情况下,汇总统计信息每 10 秒发送一次。 |
USAGE_STATS_CHECK_CYCLE | 60000 | 检查下一个周期开始并重新启用被阻止的租户/客户的时间间隔。 |
界面参数
环境变量 | 默认值 | 描述 |
DASHBOARD_MAX_DATAPOINTS_LIMIT | 5000 | 小部件获取的最大允许数据点 |
数据库(PgSql)配置
基础数据库配置
环境变量 | 默认值 | 描述 |
SQL_ATTRIBUTES_BATCH_SIZE | 10000 | 持久属性更新的批量大小 |
SQL_ATTRIBUTES_BATCH_MAX_DELAY_MS | 100 | 属性条目队列轮询的最大超时。以毫秒为单位设置的值 |
SQL_ATTRIBUTES_BATCH_STATS_PRINT_MS | 10000 | 打印属性更新统计信息的时间间隔(以毫秒为单位) |
SQL_ATTRIBUTES_BATCH_THREADS | 4 | 执行属性批量插入/更新语句的线程数 |
SQL_TS_BATCH_SIZE | 10000 | 持久时间序列插入的批量大小 |
SQL_TS_BATCH_MAX_DELAY_MS | 100 | 时间序列条目队列轮询的最大超时。以毫秒为单位设置的值 |
SQL_TS_BATCH_STATS_PRINT_MS | 10000 | 打印时间序列插入统计信息的时间间隔(以毫秒为单位) |
SQL_TS_BATCH_THREADS | 4 | 对时序数据执行批量insert/update语句的线程数 |
SQL_TS_LATEST_BATCH_SIZE | 10000 | 用于持久保存最新遥测更新的批量大小 |
SQL_TS_LATEST_BATCH_MAX_DELAY_MS | 100 | 最新遥测条目队列轮询的最大超时。设置的值以毫秒为单位 |
SQL_TS_LATEST_BATCH_STATS_PRINT_MS | 10000 | 打印最新遥测更新统计数据的时间间隔(以毫秒为单位) |
SQL_TS_LATEST_BATCH_THREADS | 4 | 执行批量插入/更新最新数据语句的线程数 |
SQL_TS_UPDATE_BY_LATEST_TIMESTAMP | true | 仅当新记录的时间戳大于或等于先前保存的最新值的时间戳时,才更新最新值。最新值与历史值分开存储,以便从数据库快速查找。无论如何,历史价值的插入都会发生。 |
SQL_BATCH_SORT | false | 指定批量更新前是否对实体进行排序。应启用集群模式以避免死锁 |
SQL_REMOVE_NULL_CHARS | true | 指定在插入之前是否从属性和时间序列的 strValue 中删除空字符 |
SQL_LOG_QUERIES | false | 记录慢速 SQL 查询。使用 SQL_LOG_QUERIES_THRESHOLD 阈值确定慢查询 |
SQL_LOG_QUERIES_THRESHOLD | 5000 | 要记录的慢 SQL 查询的阈值。 |
SQL_POSTGRES_TS_KV_PARTITIONING | 月数 | 指定时间戳键值存储的分区大小。示例:天、月、年、不定 |
SQL_RELATIONS_MAX_LEVEL | 50 | 该值必须足够小,以尽早防止无限递归 |
历史数据存储配置
环境变量 | 默认值 | 描述 |
DATABASE_TS_MAX_INTERVALS | 700 | 单个 API 调用生成的用于获取遥测记录的最大数据库查询数 |
DATABASE_TS_TYPE | sql | Cassandra、sql或timescale(对于混合模式,DATABASE_TS_TYPE值应为cassandra或timescale) |
DATABASE_TS_LATEST_TYPE | sql | Cassandra、sql或timescale(对于混合模式,DATABASE_TS_TYPE值应为cassandra或timescale) |
sql(3选1)
无需timescale插件,通过java程序管理分区分表信息。
timescale(3选1)
需要postgresql的timescale插件。使用timescale插件管理分区分表。
环境变量 | 默认值 | 描述 |
SQL_TIMESCALE_CHUNK_TIME_INTERVAL | 604800000 | 时序数据库分区时间间隔 |
SQL_TIMESCALE_BATCH_THREADS | 3 | 时序数据库进行批量操作(插入/更新语句)的并发线程数。 |
cassandra(3选1)
环境变量 | 默认值 | 描述 |
CASSANDRA_CLUSTER_NAME | Thingsboard Cluster | 集群名称 |
CASSANDRA_KEYSPACE_NAME | thingsboard | 键空间名称 |
CASSANDRA_URL | 127.0.0.1:9042 | 指定节点列表 |
CASSANDRA_LOCAL_DATACENTER | datacenter1 | 指定本地数据中心名称 |
CASSANDRA_USE_SSL | false | 启用/禁用安全连接 |
CASSANDRA_SSL_HOSTNAME_VALIDATION | true | 启用/禁用 Cassandra 服务器主机名的验证。如果启用,Cassandra 服务器的主机名必须与服务器证书的 CN 匹配 |
CASSANDRA_SSL_TRUST_STORE | 为服务器的客户端身份验证设置信任库(可选,如果未设置,则使用默认 SSLContext 中的信任库) | |
CASSANDRA_SSL_TRUST_STORE_PASSWORD | Cassandra 信任库的密码 | |
CASSANDRA_SSL_KEY_STORE | 为客户端的服务器身份验证设置密钥库(可选,如果未设置,则使用默认 SSLContext 中的密钥库)。仅当 Cassandra 服务器需要客户端身份验证时才需要密钥库 | |
CASSANDRA_SSL_KEY_STORE_PASSWORD | Cassandra 密钥库的密码 | |
CASSANDRA_SSL_CIPHER_SUITES | 逗号分隔的密码套件列表(可选,如果未设置,则使用 Java 默认密码套件) | |
CASSANDRA_USE_JMX | false | E启用/禁用 JMX |
CASSANDRA_USE_METRICS | false | 启用/禁用指标收集 |
CASSANDRA_COMPRESSION | none | 压缩算法(none,snappy,lz4) |
CASSANDRA_CLUSTER_INIT_TIMEOUT_MS | 300000 | 以毫秒为单位指定 cassandra 集群初始化超时(如果在启动期间没有主机可用) |
CASSANDRA_CLUSTER_INIT_RETRY_INTERVAL_MS | 3000 | 指定 cassandra cluster 初始化重试间隔(如果在启动期间没有主机可用) |
CASSANDRA_MAX_REQUESTS_PER_CONNECTION_LOCAL | 32768 | Cassandra 每个连接的最大本地请求数 |
CASSANDRA_MAX_REQUESTS_PER_CONNECTION_REMOTE | 32768 | Cassandra 每个连接的最大远程请求数 |
CASSANDRA_USE_CREDENTIALS | false | 凭证参数(为ture,使用下面的用户名、密码) |
CASSANDRA_USERNAME | 用户名 | |
CASSANDRA_PASSWORD | 密码 | |
CASSANDRA_SOCKET_TIMEOUT | 5000 | 通用 Cassandra 驱动程序参数 |
CASSANDRA_SOCKET_READ_TIMEOUT | 20000 | 通用 Cassandra 驱动程序参数 |
CASSANDRA_SOCKET_KEEP_ALIVE | true | 通用 Cassandra 驱动程序参数 |
CASSANDRA_SOCKET_REUSE_ADDRESS | true | 通用 Cassandra 驱动程序参数 |
CASSANDRA_SOCKET_SO_LINGER | 通用 Cassandra 驱动程序参数 | |
CASSANDRA_SOCKET_TCP_NO_DELAY | false | 通用 Cassandra 驱动程序参数 |
CASSANDRA_SOCKET_RECEIVE_BUFFER_SIZE | 通用 Cassandra 驱动程序参数 | |
CASSANDRA_SOCKET_SEND_BUFFER_SIZE | 通用 Cassandra 驱动程序参数 | |
CASSANDRA_READ_CONSISTENCY_LEVEL | ONE | Cassandra 读取一致性级别 |
CASSANDRA_WRITE_CONSISTENCY_LEVEL | ONE | Cassandra 写入一致性级别 |
CASSANDRA_DEFAULT_FETCH_SIZE | 2000 | Cassandra 查询获取大小 |
TS_KV_PARTITIONING | MONTHS | 指定时间戳键值存储的分区大小。允许值MINUTES、HOURS、DAYS、MONTHS、INDEFINITE |
TS_KV_PARTITIONS_MAX_CACHE_SIZE | 100000 | 每个服务缓存在内存中的分区数。有助于减少再次重新插入相同分区的负载。 |
TS_KV_TTL | 0 | Cassandra Record 的时间序列生存时间(以秒为单位)。0 – 记录永不过期。 |
TS_EVENTS_TTL | 0 | 事件(LC_EVENT, STATS) Cassandra Record 的生存时间(以秒为单位)。0 – 记录永不过期。 |
DEBUG_EVENTS_TTL | 604800 | 以秒为单位指定调试日志的 TTL。当前值对应一周。 |
CASSANDRA_QUERY_BUFFER_SIZE | 200000 | 等待执行的最大 Cassandra 查询数 |
CASSANDRA_QUERY_CONCURRENT_LIMIT | 1000 | 最大并发 Cassandra 查询数 |
PERMIT_MAX_WAIT_TIME | 120000 | 查询等待执行的最长时间(以毫秒为单位) |
CASSANDRA_QUERY_DISPATCHER_THREADS | 2 | 分派 cassandra 查询的线程数量 |
CASSANDRA_QUERY_CALLBACK_THREADS | 4 | 用于调用查询结果回调的线程数 |
CASSANDRA_QUERY_POLL_MS | 50 | Cassandra 查询队列轮询间隔(以毫秒为单位) |
CASSANDRA_QUERY_RATE_LIMIT_PRINT_MS | 10000 | 打印 Cassandra 查询队列统计信息的时间间隔(以毫秒为单位) |
CASSANDRA_QUERY_SET_NULL_VALUES_ENABLED | false | 在保存时将除目标之外的所有数据类型值设置为空 |
CASSANDRA_QUERY_PRINT_FREQ | 0 | 以指定频率记录一个 cassandra 查询(0 – 日志记录被禁用) |
CASSANDRA_QUERY_TENANT_RATE_LIMITS_ENABLED | false | 每个租户启用/禁用 cassandra 查询速率限制 |
CASSANDRA_QUERY_TENANT_RATE_LIMITS_CONFIGURATION | 1000:1,30000:60 | 在以秒为单位的指定时间间隔内,限制每台服务器上每个租户的最大 Cassandra 查询数。逗号分隔的 limit:seconds 对列表。 |
CASSANDRA_QUERY_TENANT_RATE_LIMITS_PRINT_TENANT_NAMES | false | 打印Cassandra查询队列统计时是否打印限速租户名 |
磁盘回收策略
当前主题的配置参数适用于核心服务(CORE)。
环境变量 | 默认值 | 描述 |
SQL_TTL_TS_ENABLED | true | 用于指定是否对时间序列记录使用 TTL(生存时间)的参数 |
SQL_TTL_TS_EXECUTION_INTERVAL | 86400000 | 该参数指定时间序列记录的TTL任务的执行周期。以毫秒为单位设置的值。默认值对应于一天 |
SQL_TTL_TS_TS_KEY_VALUE_TTL | 0 | 平台级时序数据的 TTL(生存时间)值的参数,单位:秒。租户级TTL优先级高于平台级TTL。0 – 数据永不过期。 |
SQL_TTL_EVENTS_ENABLED | true | 用于指定是否对事件记录使用 TTL(生存时间)的参数 |
SQL_TTL_EVENTS_EXECUTION_INTERVAL | 2220000 | 该参数指定事件记录的TTL任务执行周期。以毫秒为单位设置的值。(最大随机初始延迟和固定周期)。37 分钟以避免常见的间隔峰值 |
SQL_TTL_EVENTS_EVENTS_TTL | 0 | 用于指定事件(LC_EVENT、STATS)记录的 TTL(生存时间)值的参数。以秒为单位设置的值。0 – 记录永不过期。 |
SQL_TTL_EVENTS_DEBUG_EVENTS_TTL | 604800 | 用于指定调试事件(DEBUG_CONVERTER、DEBUG_INTEGRATION、DEBUG_RULE_NODE、DEBUG_RULE_CHAIN)记录的 TTL(生存时间)值的参数。以秒为单位设置的值。0 – 记录永不过期。默认值对应于一周。 |
SQL_TTL_EDGE_EVENTS_ENABLED | true | 启用/禁用边缘事件的 TTL(生存时间) |
SQL_TTL_EDGE_EVENTS_EXECUTION_INTERVAL | 86400000 | 毫秒数。当前值对应一天 |
SQL_TTL_EDGE_EVENTS_TTL | 2628000 | 秒数。当前值对应一个月 |
SQL_ALARMS_TTL_CHECKING_INTERVAL | 7200000 | 毫秒数。当前值对应两小时 |
SQL_ALARMS_TTL_REMOVAL_BATCH_SIZE | 3000 | 不是一次性而是批量删除过时的警报 |
SQL_TTL_RPC_ENABLED | true | 用于启用或禁用持久 RPC 的 TTL(生存时间)的参数 |
SQL_RPC_TTL_CHECKING_INTERVAL | 7200000 | 用于指定检查 TTL(生存时间)的频率的参数。毫秒数。当前值对应两小时 |
SQL_TTL_AUDIT_LOG_ENABLED | true | 启用/禁用审核日志事件的 TTL(生存时间) |
SQL_TTL_AUDIT_LOG_EXECUTION_INTERVAL | 86400000 | 毫秒数。当前值对应一天 |
SQL_TTL_AUDIT_LOG_EVENTS_TTL | 2628000 | 秒数。当前值对应一个月 |
Actor配置参数
环境变量 | 默认值 | 描述 |
ACTORS_SYSTEM_THROUGHPUT | 5 | 在切换到处理下一个参与者的消息之前,参与者系统将为每个参与者处理的消息数。 |
ACTORS_SYSTEM_SCHEDULER_POOL_SIZE | 1 | Actor 系统调度程序的线程池大小。 |
ACTORS_SYSTEM_MAX_ACTOR_INIT_ATTEMPTS | 10 | 在禁用 actor 之前尝试初始化 actor 的最大次数。 |
ACTORS_SYSTEM_APP_DISPATCHER_POOL_SIZE | 1 | 主要参与者系统调度程序的线程池大小。 |
ACTORS_SYSTEM_TENANT_DISPATCHER_POOL_SIZE | 2 | 为租户参与者处理消息的参与者系统调度程序的线程池大小。 |
ACTORS_SYSTEM_DEVICE_DISPATCHER_POOL_SIZE | 4 | 为设备参与者处理消息的参与者系统调度程序的线程池大小。 |
ACTORS_SYSTEM_RULE_DISPATCHER_POOL_SIZE | 4 | 为规则引擎(链/节点)参与者处理消息的参与者系统调度程序的线程池大小。 |
ACTORS_TENANT_CREATE_COMPONENTS_ON_INIT | true | 在初始化中创建组件 |
ACTORS_MAX_CONCURRENT_SESSION_PER_DEVICE | 1 | 每个设备的最大并发会话数(一个设备,允许几个客户端使用相同设备凭证访问) |
ACTORS_SESSION_SYNC_TIMEOUT | 10000 | 使用同步会话(HTTP、CoAP)处理请求的默认超时时间(以毫秒为单位) |
ACTORS_RULE_DB_CALLBACK_THREAD_POOL_SIZE | 50 | 指定数据库请求回调执行器服务的线程池大小 |
ACTORS_RULE_JS_THREAD_POOL_SIZE | 50 | 为 javascript 执行程序服务指定线程池大小 |
ACTORS_RULE_MAIL_THREAD_POOL_SIZE | 50 | 为邮件发送者执行器服务指定线程池大小 |
ACTORS_RULE_SMS_THREAD_POOL_SIZE | 50 | 为短信发送执行器服务指定线程池大小 |
ACTORS_RULE_ALLOW_SYSTEM_MAIL_SERVICE | true | 是否允许规则使用系统邮件服务 |
ACTORS_RULE_ALLOW_SYSTEM_SMS_SERVICE | true | 是否允许规则使用系统短信服务 |
ACTORS_RULE_EXTERNAL_CALL_THREAD_POOL_SIZE | 50 | 指定外部调用服务的线程池大小 |
ACTORS_RULE_CHAIN_ERROR_FREQUENCY | 3000 | 特定参与者的错误每指定的毫秒数持续一次 |
ACTORS_RULE_CHAIN_DEBUG_MODE_RATE_LIMITS_PER_TENANT_ENABLED | true | 为每个租户的所有规则节点启用/禁用持续调试事件的速率限制。 |
ACTORS_RULE_CHAIN_DEBUG_MODE_RATE_LIMITS_PER_TENANT_CONFIGURATION | 50000:3600 | 速率限制的值。默认情况下,每小时不超过 5 万个事件。 |
ACTORS_RULE_NODE_ERROR_FREQUENCY | 3000 | 特定参与者的错误每指定的毫秒数持续一次 |
ACTORS_RULE_TRANSACTION_QUEUE_SIZE | 15000 | 为事务规则节点存储消息的队列大小 |
ACTORS_RULE_TRANSACTION_DURATION | 60000 | 事务完成的时间(以毫秒为单位) |
ACTORS_RPC_MAX_RETRIES | 5 | 在请求传递失败的情况下,持久性 RPC 调用重试的最大次数。 |
ACTORS_RPC_SEQUENTIAL | false | 启用/禁用按设备顺序处理 RPC 调用。 |
ACTORS_STATISTICS_ENABLED | true | 启用/禁用演员统计 |
ACTORS_JS_STATISTICS_PRINT_INTERVAL_MS | 10000 | 打印 JS 执行器统计信息的频率 |
ACTORS_STATISTICS_PERSIST_FREQUENCY | 3600000 | Actor 统计持续频率(以毫秒为单位) |
缓存参数
环境变量 | 默认值 | 描述 |
CACHE_TYPE | caffeine | 缓存提供者。caffeine用于独立安装,redis用于集群安装 |
CACHE_MAXIMUM_POOL_SIZE | 16 | 处理调用外部缓存的期货的最大池大小 |
CACHE_ATTRIBUTES_ENABLED | true | 在caffeine或redis中缓存属性请求 |
caffeine(2选1)
环境变量 | 默认值 | 描述 |
caffeine.specs.relations.timeToLiveInMinutes | 1440 | Relations 缓存 TTL |
caffeine.specs.relations.maxSize | 10000 | Relations 缓存最大大小。maxSize: 0 表示禁用缓存 |
caffeine.specs.deviceCredentials.timeToLiveInMinutes | 1440 | 设备凭证 缓存 TTL |
caffeine.specs.deviceCredentials.maxSize | 10000 | 设备凭证 缓存最值 |
caffeine.specs.devices.timeToLiveInMinutes | 1440 | devices 缓存 TTL |
caffeine.specs.devices.maxSize | 10000 | devices 缓存最大值 |
caffeine.specs.sessions.timeToLiveInMinutes | 1440 | sessions 缓存 TTL |
caffeine.specs.sessions.maxSize | 10000 | sessions 缓存最大值 |
caffeine.specs.assets.timeToLiveInMinutes | 1440 | 资产 缓存 TTL |
caffeine.specs.assets.maxSize | 10000 | 资产 缓存最大值 |
caffeine.specs.downlink.timeToLiveInMinutes | 1440 | 下行 缓存TTL |
caffeine.specs.downlink.maxSize | 100000 | 下行 缓存最大值 |
caffeine.specs.entityViews.timeToLiveInMinutes | 1440 | 实体查看 缓存TTL |
caffeine.specs.entityViews.maxSize | 10000 | 实体查看 缓存最大值 |
caffeine.specs.roles.timeToLiveInMinutes | 1440 | 角色 缓存TTL |
caffeine.specs.roles.maxSize | 10000 | 角色 缓存最大值 |
caffeine.specs.permissions.timeToLiveInMinutes | 1440 | 权限 缓存TTL |
caffeine.specs.permissions.maxSize | 10000 | 权限 缓存最大值 |
caffeine.specs.owners.timeToLiveInMinutes | 1440 | 所有者 缓存TTL |
caffeine.specs.owners.maxSize | 100000 | 所有者 缓存最大值 |
caffeine.specs.claimDevices.timeToLiveInMinutes | 1440 | claimDevices 缓存TTL |
caffeine.specs.claimDevices.maxSize | 10000 | claimDevices 缓存最大值 |
caffeine.specs.securitySettings.timeToLiveInMinutes | 1440 | 全选设置 缓存TTL |
caffeine.specs.securitySettings.maxSize | 10000 | 安全设置 缓存最大值 |
caffeine.specs.remoteIntegrations.timeToLiveInMinutes | 1440 | remoteIntegrations 缓存TTL |
caffeine.specs.remoteIntegrations.maxSize | 10000 | remoteIntegrations 缓存最大值 |
caffeine.specs.tenantProfiles.timeToLiveInMinutes | 1440 | 租户配置文件 缓存TTL |
caffeine.specs.tenantProfiles.maxSize | 10000 | 租户配置文件 缓存最大值 |
caffeine.specs.deviceProfiles.timeToLiveInMinutes | 1440 | 设备配置(产品) 缓存TTL |
caffeine.specs.deviceProfiles.maxSize | 10000 | 设备配置(产品) 缓存最大值 |
caffeine.specs.attributes.timeToLiveInMinutes | 1440 | 属性 缓存TTL |
caffeine.specs.attributes.maxSize | 100000 | 属性 缓存最大值 |
caffeine.specs.tokensOutdatageTime.timeToLiveInMinutes | 20000 | tokensOutdatageTime 缓存TTL |
caffeine.specs.tokensOutdatageTime.maxSize | 10000 | tokensOutdatageTime 缓存最大值 |
Redis(2选1)
环境变量 | 默认值 | 描述 |
REDIS_CONNECTION_TYPE | standalone | Redis 连接类型 –独立或集群 |
REDIS_HOST | localhost | Redis连接主机 |
REDIS_PORT | 6379 | Redis连接端口 |
REDIS_USE_DEFAULT_CLIENT_CONFIG | true | 使用默认客户端配置 |
REDIS_CLIENT_NAME | standalone | 仅当您未使用默认 ClientConfig 时才可使用此值 |
REDIS_CLIENT_CONNECT_TIMEOUT | 30000 | 仅当您未使用默认 ClientConfig 时才可使用此值 |
REDIS_CLIENT_READ_TIMEOUT | 60000 | 仅当您未使用默认 ClientConfig 时才可使用此值 |
REDIS_CLIENT_USE_POOL_CONFIG | false | 仅当您未使用默认 ClientConfig 时才可使用此值 |
REDIS_NODES | 以逗号分隔的“主机:端口”对列表,用于引导 | |
REDIS_MAX_REDIRECTS | 12 | 跨集群执行命令时要遵循的最大重定向数 |
REDIS_USE_DEFAULT_POOL_CONFIG | true | 使用默认的 redis 池配置。如果设置为“true”,REDIS_POOL_CONFIG_* 属性将被忽略。 |
REDIS_DB | 0 | Redis数据库索引 |
REDIS_PASSWORD | Redis数据库密码 | |
REDIS_POOL_CONFIG_MAX_TOTAL | 128 | 通用redis 池设置 |
REDIS_POOL_CONFIG_MAX_IDLE | 128 | 通用redis 池设置 |
REDIS_POOL_CONFIG_MIN_IDLE | 16 | 通用redis 池设置 |
REDIS_POOL_CONFIG_TEST_ON_BORROW | true | 通用redis 池设置 |
REDIS_POOL_CONFIG_TEST_ON_RETURN | true | 通用redis 池设置 |
REDIS_POOL_CONFIG_TEST_WHILE_IDLE | true | 通用redis 池设置 |
消息中间件
环境变量 | 默认值 | 描述 |
TB_QUEUE_TYPE | in-memory | 消息中间件类型,例如:in-memory、kafka、rabbitmq等。 |
内存配置(多选1)
环境变量 | 默认值 | 描述 |
TB_QUEUE_IN_MEMORY_STATS_PRINT_INTERVAL_MS | 60000 | 消息队列实时情况的打印频率。 |
Kafka配置(多选1)
环境变量 | 默认值 | 描述 |
TB_KAFKA_SERVERS | localhost:9092 | Kafka集群内服务节点信息,多个节点用逗号分隔。 |
TB_KAFKA_COMPRESSION_TYPE | none | 数据压缩类型,支持gzip。 |
TB_KAFKA_BATCH_SIZE | 16384(16KB) | 生产者 |
TB_KAFKA_LINGER_MS | 1 | 生产者 |
TB_KAFKA_MAX_REQUEST_SIZE | 1048576(1MB) | 生产者 |
TB_KAFKA_MAX_IN_FLIGHT_REQUESTS_PER_CONNECTION | 5 | 生产者 |
TB_BUFFER_MEMORY | 33554432(32MB) | 生产者 |
TB_QUEUE_KAFKA_MAX_POLL_RECORDS | 8192 | 每次拉取的最大消息量 |
TB_QUEUE_KAFKA_MAX_PARTITION_FETCH_BYTES | 16777216(16MB) | 每次拉取数据时每个分区返回的最大字节数,不能比max.message.size配置的值小。 |
TB_QUEUE_KAFKA_FETCH_MAX_BYTES | 134217728(128MB) | 每次拉取数据时返回的最大字节数。 |
TB_QUEUE_KAFKA_MAX_POLL_INTERVAL_MS | 300000 | 消费组内消费者拉取消息的最大等待延迟,用于判定消费者是否有效。 |
TB_QUEUE_KAFKA_CONSUMER_STATS_ENABLED |
kafka账号密码验证
环境变量 | 默认值 | 描述 |
TB_QUEUE_KAFKA_USE_CONFLUENT_CLOUD | false | 是否使用鉴权信息 |
TB_QUEUE_KAFKA_CONFLUENT_SECURITY_PROTOCOL | SASL_SSL | Kafka的Broker支持的鉴权协议 |
TB_QUEUE_KAFKA_CONFLUENT_SSL_ALGORITHM | https | 传输协议 |
TB_QUEUE_KAFKA_CONFLUENT_SASL_MECHANISM | PLAIN | java程序中kafka客户端认证机制 |
TB_QUEUE_KAFKA_CONFLUENT_SASL_JAAS_CONFIG | org.apache.kafka.common.security.plain.PlainLoginModule required username=”CLUSTER_API_KEY” password=”CLUSTER_API_SECRET” | java程序中kafka客户端鉴权信息 |
TB_QUEUE_KAFKA_CONFLUENT_USERNAME | 无 | 脚本引擎的鉴权用户名 |
TB_QUEUE_KAFKA_CONFLUENT_PASSWORD | 无 | 脚本引擎的鉴权密码 |
设备接入服务配置
环境变量 | 默认值 | 描述 |
TB_TRANSPORT_SESSIONS_INACTIVITY_TIMEOUT | 300000 | 传输服务中设备会话的待激活超时。如果设备发送任何消息,包括保持活动消息,则更新设备会话的最后活动时间。 |
TB_TRANSPORT_SESSIONS_REPORT_TIMEOUT | 3000 | 定期检查过期会话和报告会话上次活动时间更改的时间间隔。 |
TB_TRANSPORT_RATE_LIMITS_ENABLED | false | |
TB_TRANSPORT_RATE_LIMITS_TENANT | 1000:1,20000:60 | |
TB_TRANSPORT_RATE_LIMITS_DEVICE | 10:1,300:60 | |
JSON_TYPE_CAST_ENABLED | true | 在处理遥测/属性 JSON 时,如果可能,将字符串数据类型转换为数字 |
JSON_MAX_STRING_VALUE_LENGTH | 0 | 处理遥测/属性 JSON 时允许的最大字符串值长度(0 值禁用字符串值长度检查) |
CLIENT_SIDE_RPC_TIMEOUT | 60000 | |
TB_TRANSPORT_API_ENABLED | true | 启用/禁用 http/mqtt/coap 传输协议(比某些协议的“启用”属性具有更高的优先级) |
TB_TRANSPORT_LOG_ENABLED | true | 启用/禁用传输消息到遥测的日志。例如,记录 LwM2M 注册更新。 |
TB_TRANSPORT_LOG_MAX_LENGTH | 1024 | 日志消息的最大长度。如果需要,内容将被截断为指定值。 |
TB_TRANSPORT_STATS_ENABLED | true | 启用/禁用传输统计信息的收集 |
TB_TRANSPORT_STATS_PRINT_INTERVAL_MS | 60000 | 传输统计记录的间隔。 |
设备连接状态参数
环境变量 | 默认值 | 描述 |
DEFAULT_INACTIVITY_TIMEOUT | 600 | 设备不活动超时(以秒为单位) |
DEFAULT_STATE_CHECK_INTERVAL | 60 | 设备不活动检查周期(以秒为单位) |
PERSIST_STATE_TO_TELEMETRY | false |
MQTT协议接入
环境变量 | 默认值 | 描述 |
MQTT_ENABLED | true | 单体模式是否开启MQTT服务 |
TCP/UDP协议接入
环境变量 | 默认值 | 描述 |
TCP_ENABLED | true | 单体模式是否开启TCP/UDP服务 |
视频GBT28181协议接入
环境变量 | 默认值 | 描述 |
GBT28181_ENABLED | false | 单体模式是否开启GBT28181服务 |
GBT28181_SIP_IP | 172.120.255.120 | 摄像头服务接入的IP,容器网卡的IP |
GBT28181_SIP_PORT | 5060 | 摄像头接入服务的端口 |
GBT28181_SIP_ID | 44010200492000000001 | 摄像头接入服务的唯一编号 |
GBT28181_SIP_DOMAIN | 4401020049 | 摄像头接入服务的区域编号,根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007) |
GBT28181_SIP_PASSWORD | 61332286 | 摄像头接入服务的密码 |
GBT28181_MEDIA_IP | localhost | 流媒体服务ZLM的对外服务IP或域名。摄像头会向该地址推送视频流 |
GBT28181_MEDIA_HTTP_PORT | 28080 | 流媒体服务ZLM的对外服务端口 |
GBT28181_MEDIA_GENERAL_ID | f6GfbO0BGEaROKLP | 流媒体服务ZLM的编号 |
GBT28181_MEDIA_API_SECRET | 5PnbPDCcxQGeK15OowHPPdSgort2Cx9Y | 流媒体服务ZLM的接口鉴权密钥 |
GBT28181_MEDIA_RTP_PORT_RANGE | 30000,30500 | 流媒体服务ZLM的点播端口范围 |
COAP协议接入
环境变量 | 默认值 | 描述 |
COAP_ENABLED | true | 单体模式是否开启COAP服务 |
LWM2M协议接入
环境变量 | 默认值 | 描述 |
LWM2M_ENABLED | true | 单体模式是否开启LWM2M服务 |
HTTP协议接入
环境变量 | 默认值 | 描述 |
HTTP_ENABLED | true | 单体模式是否开启HTTP服务 |
SNMP协议接入
环境变量 | 默认值 | 描述 |
SNMP_ENABLED | true | 单体模式是否开启SNMP服务 |
脚本引擎配置
脚本引擎类型
环境变量 | 默认值 | 描述 |
JS_EVALUATOR | local | 脚本引擎类型,例如:local, remote |
本地脚本引擎
使用平台服务内部的脚本引擎。
环境变量 | 默认值 | 描述 |
LOCAL_JS_SANDBOX_MAX_BLACKLIST_DURATION_SEC | 60 | 时间窗口大小,默认60秒 |
LOCAL_JS_SANDBOX_MAX_ERRORS | 3 | 时间窗口内允许的脚本执行错误数量 |
远程脚本引擎
环境变量 | 默认值 | 描述 |
REMOTE_JS_SANDBOX_MAX_BLACKLIST_DURATION_SEC | 60 | 时间窗口大小,默认60秒 |
REMOTE_JS_SANDBOX_MAX_ERRORS | 3 | 时间窗口内允许的脚本执行错误数量 |
文件上传参数
环境变量 | 默认值 | 描述 |
file.storage.type | minio | 文件上传存储方式local, minio |
file.storage.type.randomFileName | true | 是否重命名文件 |
file.storage.type.local.uploadDir | 文件上传地址,只有type = local生效 | |
file.storage.type.local.downloadPath | /downloadFile/ | 下载路由,只有type = local生效 |
file.storage.type.local.uploadPath | 上传路由,只有type = local生效 | |
file.storage.type.local.staticUrl | oss静态访问路径 只有type = local生效 | |
file.storage.type.local.randomFileName | ||
file.storage.minio.minioUrl | minio储存地址 | |
file.storage.minio.minioName | minio账户 | |
file.storage.minio.minioPass | minio访问密码 | |
file.storage.minio.bucketName | minio储存桶名称,名称参考 | |
file.storage.minio.randomFileName |
账号相关参数
环境变量 | 默认值 | 描述 |
account.info.emailSuffix | thingskit.com | ThingsKit创建的账号,存储thingsboard数据库默认加上后缀 |
account.info.defaultPassword | 123456 | ThingsKit创建租户管理员的默认密码 |
account.info.reset | true | ThingsKit创建的账号,默认密码是否需要重置 |
third.wechat.url | https://api.weixin.qq.com | 微信小程序配置url |
third.wechat.appId | 微信小程序的APP_ID | |
third.wechat.appSecret | 微信小程序的APP_SECRET |
FRP服务参数
环境变量 | 默认值 | 描述 |
frp.server.address | 127.0.0.1 | ThingsKit部署的FRP服务地址,用于边缘网关的内网穿透 |