layout: docwithnav-trendz assignees:
- ashvayka title: 在 Ubuntu 上安装 ThingsBoard Trendz Analytics description: 在 Ubuntu 上安装 ThingsBoard Trendz Analytics
trendz-settings: 0: image: /images/trendz/install/sync/trendz-settings-1.png title: “以系统管理员身份登录ThingsBoard。” 1: image: /images/trendz/install/sync/trendz-settings-2.png title: “打开Trendz设置页面。” 2: image: /images/trendz/install/sync/trendz-settings-3.png title: “如果看到"同步成功完成"消息,说明同步已自动完成,无需进一步操作。” trendz-sync: 0: image: /images/trendz/install/sync/trendz-sync-1.png title: “如果看到错误消息,请按以下步骤操作。” 1: image: /images/trendz/install/sync/trendz-sync-2.png title: “输入正确的Trendz内部URL和ThingsBoard内部URL。” 2: image: /images/trendz/install/sync/trendz-sync-3.png title: “点击保存配置。” 3: image: /images/trendz/install/sync/trendz-sync-4.png title: “点击重试发现。” 4: image: /images/trendz/install/sync/trendz-sync-5.png title: “一旦出现"同步成功完成"消息,同步即完成。”
本指南说明如何在Ubuntu 22.04 LTS或Ubuntu 24.04 LTS上安装Trendz Analytics。
Ubuntu安装前重要说明
Trendz Analytics的部分功能(如predictions、metric explorations和Python calculation fields)依赖Python executor。
Python executor仅能通过Docker运行。即使在Ubuntu上,也要使用Docker才能完整使用Trendz。 建议遵循Docker (Linux或Mac OS) 安装指南,采用Docker安装而非Ubuntu。
仅在有充分理由使用Ubuntu + Docker组合方案时再继续阅读本文。
Prerequisites
Hardware Requirements
取决于分析数据量与接入系统的设备数量。 单机运行 Trendz Analytics 至少需要 1GB 可用内存。
中小型部署中,Trendz 可与 ThingsBoard 安装在同一台服务器上。
Software Requirements
- 已安装 Docker CE。安装方法见此处
-
已安装 Docker Compose。安装方法见此处
- ThingsBoard 版本 4.3.0 或更高。若使用 4.2.1 或更早版本,请参阅此指南将 Trendz 连接到 ThingsBoard。
- 已激活的 Trendz Analytics 插件。激活方法请参阅此指南。
Installation Steps
Step 1. Install Java 17 (OpenJDK)
ThingsBoard 服务运行在 Java 17 上。请按以下说明安装 OpenJDK 17:
1
sudo apt update && sudo apt install openjdk-17-jdk-headless
将您的操作系统配置为默认使用 OpenJDK 17。您可以通过运行以下命令来配置默认版本:
1
sudo update-alternatives --config java
要检查系统上已安装的 Java 版本,请使用以下命令:
1
java -version
预期输出为:
1
2
3
openjdk version "17.x.xx"
OpenJDK Runtime Environment (...)
OpenJDK 64-Bit Server VM (...)
Step 2. Trendz Analytics service installation
下载安装包。
1
wget https://dist.thingsboard.io/trendz-1.15.0.4.deb
安装Trendz Analytics服务
1
sudo dpkg -i trendz-1.15.0.4.deb
Step 3. Configure Trendz database
Trendz使用PostgreSQL作为数据库。可在同一服务器为Trendz安装PostgreSQL,或使用云商的托管PostgreSQL服务。
- PostgreSQL Installation
要安装 PostgreSQL 数据库,请运行以下命令:
1
2
3
4
5
6
7
8
# Automated repository configuration:
sudo apt install -y postgresql-common
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
# install and launch the postgresql service:
sudo apt update
sudo apt -y install postgresql-16
sudo service postgresql start
安装 PostgreSQL 后,建议为 PostgreSQL 主用户 设置密码。
以下命令将切换当前用户为 PostgreSQL 用户并在 PostgreSQL 中直接设置密码。
1
sudo -u postgres psql -c "\password"
然后输入并确认密码。
- Create Database for Trendz
连接数据库并创建trendz库:
1
psql -U postgres -d postgres -h 127.0.0.1 -W
创建名为”trendz”的数据库:
1
CREATE DATABASE trendz;
按”Ctrl+D”两次退出。
- Configure database connection for Trendz
编辑Trendz配置文件
1
sudo nano /etc/trendz/conf/trendz.conf
在配置文件中添加以下行。勿忘将”PUT_YOUR_POSTGRESQL_PASSWORD_HERE”替换为真实的postgres用户密码:
1
2
3
4
# DB Configuration
export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/trendz
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=PUT_YOUR_POSTGRESQL_PASSWORD_HERE
Step 4. Run installation script
Trendz服务安装完毕且DB配置更新后,执行以下脚本:
1
sudo /usr/share/trendz/bin/install/install.sh
Step 5. Start Trendz service
执行以下命令启动Trendz Analytics:
1
sudo service trendz start
Step 6. Sync ThingsBoard With Trendz
最后一步是确认 ThingsBoard 已与 Trendz 同步。操作如下:
- 以 Sysadmin 身份登录 ThingsBoard。
- 打开 Trendz Settings 页面。
若看到 “Synchronization completed successfully” 提示,说明同步已自动完成,无需进一步操作。
若出现错误提示,请按以下步骤排查:
- 确认 Trendz 正在运行。
- 填写正确的 Trendz internal URL,且 ThingsBoard 服务可访问。
- 填写正确的 ThingsBoard internal URL,且 Trendz 服务可访问。
- 点击 Save configuration。
- 点击 Retry discovery。
当出现 “Synchronization completed successfully” 后,同步即完成。
Step 7. Install Trendz Python Executor
要使用Trendz Python Calculation Fields或Prediction Models等全部Trendz能力, 需安装Trendz Python Executor——该服务可安全运行Python代码。
安装方法见。
Authentication
默认可在 http://localhost:8888 访问 Trendz UI。
Trendz 使用 ThingsBoard 作为认证服务,首次认证需使用 ThingsBoard 中的 Tenant Administrator 凭证。
Topology Discovery
首次登录 Trendz 后,需发现拓扑以使 Trendz 识别资产、设备、其配置与关系:
- 点击 Discover Topology 按钮开始拓扑发现。
- 等待拓扑发现完成。
- 点击 Finish 按钮关闭拓扑发现页面并解锁 Trendz 主要功能。
更多关于 Trendz 如何使用拓扑的信息,请参阅此处。
Troubleshooting
Trendz日志位于以下目录:
1
/var/log/trendz
检查backend是否有错误可执行:
1
cat /var/log/trendz/trendz.log | grep ERROR
HTTPS configuration
可使用 HAProxy 配置 HTTPS 访问。 若 Trendz 托管在云端并为实例分配了有效 DNS 名称,即可实现。
Trendz 与 ThingsBoard 同机部署
若服务器已安装 HAProxy/Let’s Encrypt 且 ThingsBoard 已启用 HTTPS,请参考本节。
打开 HAProxy 配置文件
1
sudo nano /etc/haproxy/haproxy.cfg
找到 frontend https_in 段落,添加新的访问列表以按域名匹配流量并转发到 Trendz 后端:
1
2
acl trendz_http hdr(host) -i new-trendz-domain.com
use_backend tb-trendz if trendz_http
在同一文件中注册 Trendz 后端:
1
2
3
4
5
6
backend tb-trendz
balance leastconn
option tcp-check
option log-health-checks
server tbTrendz1 127.0.0.1:8888 check inter 5s
http-request set-header X-Forwarded-Port %[dst_port]
为新域名生成 SSL 证书:
1
sudo certbot-certonly --domain new-trendz-domain.com --email some@email.io
刷新 HAProxy 配置:
1
sudo haproxy-refresh
至此 Trendz UI 的 HTTPS 已配置完成,可通过以下地址访问: https://new-trendz-domain.com
新服务器全新安装
请参阅此指南安装 HAProxy 并使用 Let’s Encrypt 生成有效 SSL 证书。
同一域名下托管 ThingsBoard 与 Trendz
ThingsBoard 与 Trendz 可共享同一域名。此时 ThingsBoard 页面通过以下链接加载:
1
https://{my-domain}/
Trendz 页面通过以下链接加载
1
https://{my-domain}/trendz/
启用该配置需更新 HAProxy,将特定请求路由到 Trendz 服务。 打开 HAProxy 配置文件
1
sudo nano /etc/haproxy/haproxy.cfg
找到 frontend https_in 段落,添加新的访问列表以按 URL 路径匹配流量并转发到 Trendz 后端:
1
2
3
4
...
acl trendz_acl path_beg /trendz/ path_beg /apiTrendz/
....
use_backend tb-trendz if trendz_acl
下一步
-
快速入门指南 - 快速了解 Trendz 主要功能。
-
指标探索器 - 学习使用 Trendz Metric Explorer 探索和创建指标。
-
异常检测 - 学习识别数据中的异常。
-
字段计算 - 了解字段计算及使用方法。
-
状态 - 学习基于原始遥测定义和分析资产状态。
-
预测 - 学习进行预测及遥测行为预测。
-
筛选器 - 学习在分析中筛选数据集。
-
可用可视化部件 - 了解 Trendz 中可用的可视化部件及配置方法。
-
分享与嵌入可视化 - 学习将 Trendz 可视化添加到 ThingsBoard 仪表盘或第三方网页。
-
AI 助手 - 学习使用 Trendz AI 功能。