Skip to content

ThingsBoard application.yml / 配置参数讲解 ​

原稿给出了配置分类提纲;本文在此基础上,按官网最新 Configuration Reference 整理成可落地的改法 + 分类导读 + 常用变量。
完整参数表极长,请以官网各页为准;本篇帮你知道改哪里、改什么、去哪查。

官方入口(PE 文档站,CE 多数变量名相同):

文档链接
如何修改配置How to change config
Core / Rule EngineCore and Rule Engine
HTTP TransportHTTP Transport
MQTT TransportMQTT Transport
其它CoAP / LwM2M / SNMP / VC 等见官网 Configuration 目录

源码 / 安装包中的主配置文件通常叫 thingsboard.yml(不是 Spring Boot 默认的 application.yml,但写法相同:${ENV:默认值})。


1、先搞清:推荐怎么改配置 ​

官网明确建议:优先用环境变量,尽量少直接改默认 yml,升级时不用反复合并文件。

yml 里一行长这样:

yaml
server:
  address: "${HTTP_BIND_ADDRESS:0.0.0.0}"
  port: "${HTTP_BIND_PORT:8080}"

含义:

  • 环境变量名:HTTP_BIND_ADDRESS / HTTP_BIND_PORT
  • 冒号后面:未设置环境变量时的默认值

1.1 Linux 单体(deb/rpm) ​

编辑:

bash
sudo nano /usr/share/thingsboard/conf/thingsboard.conf
# /etc/thingsboard/conf 常为上述目录的软链

追加:

bash
export HTTP_BIND_PORT=8081
export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
export SPRING_DATASOURCE_PASSWORD=你的密码

重启:

bash
sudo systemctl restart thingsboard

1.2 Windows 安装包 ​

配置目录:

text
YOUR_INSTALL_DIR/conf/thingsboard.yml

可改默认值,或设置同名系统环境变量后重启 ThingsBoard 服务。

1.3 Docker Compose ​

在对应服务的 environment(或 .env / env_file)里写变量,例如:

yaml
environment:
  HTTP_BIND_PORT: "8080"
  SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/thingsboard
  SPRING_DATASOURCE_PASSWORD: postgres
  TB_QUEUE_TYPE: kafka
  TB_KAFKA_SERVERS: kafka:9092

然后:

bash
docker compose up -d

专栏示例见:Ubuntu 系统部署 ThingsBoard 4.3.x。

1.4 Kubernetes ​

在 Deployment / StatefulSet 的 env,或 ConfigMap / Secret 中注入同上环境变量。见:K8s Minikube 部署。

1.5 源码本地跑 ​

IDEA 运行配置里加 Environment variables,或改 application 模块下的 thingsboard.yml(开发方便;提交仓库前注意别带上生产密码)。


2、配置分几块?(对照原稿提纲) ​

ThingsBoard 不是「一个 yml 搞定所有进程」:

进程 / 角色配置主要管什么官网页
Core + Rule Engine(tb-node / 单体主进程)HTTP API、库、安全、Actor、队列、缓存、本地内嵌 Transport 等Core/RE
HTTP Transport(独立微服务时)设备 HTTP API 端口、超时、队列对接HTTP
MQTT Transport1883/8883、SSL、限流、队列MQTT
CoAP / LwM2M / SNMP Transport各协议端口与会话官网同目录各页
Version ControlGit 版本控制执行器官网 VC 配置页
logback.xml日志级别、文件滚动与体积与 conf 同目录

单体安装时:很多 Transport 配置会出现在 Core/RE 的「Local xxx transport」 段;微服务拆开后,则各自进程用自己的配置页。


3、Core / Rule Engine:分类导读 + 常用变量 ​

下列分类名称对应原稿提纲与官网章节;每个分类只列最常用的环境变量,完整列表点开官网 Core/RE 页搜索变量名。

3.1 HTTP server parameters(HTTP 服务器) ​

环境变量默认说明
HTTP_BIND_ADDRESS0.0.0.0监听地址
HTTP_BIND_PORT8080Web UI / REST 端口

3.2 Zookeeper connection parameters(Zookeeper) ​

集群服务发现用。单体默认常关闭。

环境变量默认说明
ZOOKEEPER_ENABLEDfalse是否启用
ZOOKEEPER_URLlocalhost:2181连接串

3.3 Security parameters(安全) ​

含登录、Claim、OAuth2 回调路径、安全头等。

环境变量默认说明
SECURITY_OAUTH2_LOGIN_PROCESSING_URL/login/oauth2/code/OAuth2 回调路径(与 配置 OAuth2 一致)
SECURITY_BASIC_ENABLEDfalseBasic 认证相关
SECURITY_USER_TOKEN_ACCESS_ENABLEDtrue用户 Token 访问

3.4 Common database / SQL / Cassandra(数据库) ​

环境变量默认说明
DATABASE_TS_TYPEsql时序库:sql 或 cassandra(混合库)
DATABASE_TS_LATEST_TYPEsqllatest 时序存储类型
DATABASE_TS_MAX_INTERVALS700单次拉遥测最大拆分区间数
SPRING_DATASOURCE_URL(安装时配置)PostgreSQL JDBC
SPRING_DATASOURCE_USERNAMEpostgres用户名
SPRING_DATASOURCE_PASSWORD密码,务必改掉默认

说明:实体、属性、告警等始终在 PostgreSQL;Cassandra 只可选地承载时序。见官网 Database 架构说明。

3.5 Cache / Caffeine / Redis(缓存) ​

环境变量默认说明
CACHE_TYPE(见官网)caffeine / redis 等
REDIS_HOSTlocalhostRedis/Valkey 主机
REDIS_PORT6379端口
REDIS_PASSWORD密码
REDIS_CONNECTION_TYPEstandalonestandalone / cluster / sentinel

K8s 脚本里缓存组件常叫 Valkey,变量族仍多为 REDIS_*。

3.6 Queue parameters(队列) ​

环境变量默认说明
TB_QUEUE_TYPE视部署in-memory / kafka / rabbitmq 等
TB_KAFKA_SERVERSKafka bootstrap,如 kafka:9092

集群不要用纯内存队列。Docker 示例见部署文方式 B。

3.7 Actor / JS / Transport(本地)/ Edge / Metrics… ​

原稿还列出:

  • Actor system parameters
  • JavaScript evaluator parameters
  • Transport parameters + Local HTTP/MQTT/CoAP/LwM2M/SNMP
  • Edges / Swagger / Event / Service / Metrics
  • Local Version Control
  • Usage statistics / UI / Audit log / Device connectivity
  • Platform integrations / Reports(偏 PE)
  • License parameters(PE 许可证;CE 可忽略)
  • Spring freemarker / CORS / gzip / 异步超时

这些在 Core and Rule Engine Configuration 左侧目录可逐项展开。日常二开最常动的是:端口、数据源、队列、Redis、TS 类型、安全/OAuth2。

3.8 单体里「Local MQTT」等 ​

未拆 Transport 微服务时,MQTT/HTTP 等监听仍由主进程配置,例如(名称以你版本 yml 为准,官网 Local MQTT 段):

环境变量默认说明
MQTT_BIND_ADDRESS0.0.0.0MQTT 监听地址
MQTT_BIND_PORT1883MQTT 端口
MQTT_SSL_ENABLEDfalse是否开 MQTTS
MQTT_SSL_BIND_PORT8883MQTTS 端口

4、独立 HTTP Transport 配置(微服务) ​

进程默认 HTTP 端口与 Core 不同(常见默认 8081),避免和 UI 的 8080 冲突。

环境变量默认说明
HTTP_BIND_ADDRESS0.0.0.0绑定地址
HTTP_BIND_PORT8081HTTP Transport 端口
HTTP_REQUEST_TIMEOUT60000请求超时(ms)
HTTP_TRANSPORT_MAX_PAYLOAD_SIZE_LIMIT_CONFIGURATION见官网按路径限制 payload
TB_QUEUE_TYPE常为 kafka与 Core 通信的队列类型
TB_QUEUE_TRANSPORT_API_REQUEST_TOPICtb_transport.api.requests与 Core 的 API 请求主题

完整表:HTTP Transport Configuration。


5、独立 MQTT Transport 配置(微服务) ​

环境变量默认说明
MQTT_BIND_ADDRESS0.0.0.0监听地址
MQTT_BIND_PORT1883明文 MQTT
MQTT_SSL_ENABLEDfalse启用 SSL
MQTT_SSL_BIND_PORT8883MQTTS
MQTT_SSL_PEM_CERT / MQTT_SSL_PEM_KEYPEM 证书与密钥
MQTT_MSG_QUEUE_SIZE_PER_DEVICE_LIMIT100单设备消息队列上限
TB_TRANSPORT_IP_RATE_LIMITS_ENABLEDfalseIP 限流
TB_QUEUE_TYPEkafka队列

完整表:MQTT Transport Configuration。


6、CoAP / LwM2M / SNMP / Version Control(提纲) ​

原稿还列出这些 Transport 与 VC 的共同子类:

  • Server Parameters
  • Zookeeper
  • Cache / Redis
  • 协议 Server parameters
  • Queue / Service / Metrics / Management

规律与 HTTP/MQTT 相同:协议端口与会话在本进程;队列把数据送到 Core/RE。请到官网 Configuration 目录打开对应页按变量名搜索。

Version Control Server:配合规则链/实体版本控制;与专栏 项目结构 中的 version-control、vc-executor 对应。


7、logback.xml(日志) ​

原稿:

The configuration file for logging. Allows controlling the log level, the size of log files and the total size/volume of logs.

安装后一般与 thingsboard.yml 同目录(如 /usr/share/thingsboard/conf/logback.xml)。可调:

  • 包级别日志(如 org.thingsboard → DEBUG,排错后改回)
  • 单个文件大小、滚动个数、总保留量

改完需重启进程。Docker 下也可看容器日志驱动限制(专栏 Compose 示例里有 max-size / max-file)。


8、按场景速查 ​

你想…优先改
改 Web 端口HTTP_BIND_PORT
连自己的 PostgreSQLSPRING_DATASOURCE_URL / USERNAME / PASSWORD
时序上 CassandraDATABASE_TS_TYPE=cassandra + Cassandra 相关项
上 Kafka 队列TB_QUEUE_TYPE=kafka,TB_KAFKA_SERVERS=...
开 MQTTSMQTT_SSL_ENABLED + 证书路径
OAuth2 回调路径SECURITY_OAUTH2_LOGIN_PROCESSING_URL
独立 HTTP 设备接入端口HTTP Transport 的 HTTP_BIND_PORT(常 8081)
少改文件、好升级只 export 环境变量,别大段改 yml

9、原稿完整分类索引(Core/RE) ​

便于对照官网目录:

  1. HTTP server parameters【HTTP 服务器参数】
  2. Zookeeper connection parameters【Zookeeper 连接参数】
  3. Cluster stats parameters【集群统计参数】
  4. Plugins configuration parameters【插件配置参数】
  5. Security parameters【安全参数】
  6. Usage statistics parameters【使用统计参数】
  7. UI parameters【UI 参数】
  8. Common database parameters【公共数据库参数】
  9. Cassandra driver configuration parameters【Cassandra 驱动】
  10. SQL configuration parameters【SQL 配置】
  11. Actor system parameters【Actor 系统】
  12. Platform integrations parameters【平台集成】
  13. Reports parameters【报告】
  14. Cache parameters【缓存】
  15. Caffeine parameters【Caffeine】
  16. Redis connection parameters【Redis】
  17. Check new version updates parameters【检查新版本】
  18. Spring freemarker / CORS / 异步超时 / gzip 静态资源
  19. SQL DAO Configuration
  20. Audit log / Device connectivity state
  21. JavaScript evaluator parameters
  22. Transport + Local HTTP/MQTT/CoAP/LwM2M/SNMP
  23. Edges / License / Swagger
  24. Queue / Event / Service / Metrics
  25. Local Version Control parameters

另:HTTP / MQTT / CoAP / LwM2M / SNMP Transport Parameters、Version Control Server Parameters、logback.xml。


补充(辅) ​

  • CE / PE: 配置页在 PE 文档站较完整;CE 无 License、部分 Reports/Integration 能力,但 HTTP_*、SPRING_DATASOURCE_*、TB_QUEUE_*、MQTT_* 等通用。
  • 改库密码后必须同步改 ThingsBoard 侧变量,并重启。
  • 参数默认值随小版本可能微调,以你安装版本对应的官网页 / 自带 yml 为准。
  • 官方参数页每个条目都带环境变量名与默认值,适合全文搜索。

相关文章 ​

官方文档 ​