产品定价 立即试用
社区版
入门 文档 指南 安装 架构 API 常见问题
目录


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内部URLThingsBoard内部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 LTSUbuntu 24.04 LTS上安装Trendz Analytics

Ubuntu安装前重要说明

Trendz Analytics的部分功能(如predictionsmetric explorationsPython 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

下一步