产品定价 立即试用
Trendz Analytics
安装 > 本地部署 > Docker (Linux或Mac OS)
入门 文档 指南
如何激活Trendz
目录

使用 Docker 安装 ThingsBoard Trendz Analytics(Linux 或 Mac OS)

本指南帮助您使用Docker在Linux或Mac OS上安装并启动Trendz Analytics。

Prerequisites

  • 已安装 Docker CE。安装方法见此处
  • 已安装 Docker Compose。安装方法见此处

  • ThingsBoard 版本 4.3.0 或更高。若使用 4.2.1 或更早版本,请参阅此指南将 Trendz 连接到 ThingsBoard。
  • 已激活的 Trendz Analytics 插件。激活方法请参阅此指南

Installation Steps

Step 1. Docker Compose setup

Trendz可与ThingsBoard共用同一Docker Compose文件,或使用独立的Docker Compose文件运行。

中小型安装建议Trendz与ThingsBoard共用同一Docker Compose文件。

打开包含 ThingsBoard 服务的 Docker Compose 文件:

1
sudo nano docker-compose.yml

确认文件中包含以下内容:

  • 以下服务:
    • trendz
    • trendz-python-executor
    • trendz-postgres
  • 以下卷:
    • trendz-conf
    • trendz-data
    • trendz-python-executor-conf
    • trendz-python-executor-data
    • trendz-postgres-data

若有缺失,请按 ThingsBoard Docker 安装说明 更新 Docker Compose 文件。

Docker Compose 文件应与说明中示例一致。

为 Trendz Analytics 服务创建 Docker Compose 文件:

1
sudo nano docker-compose.yml

将以下配置添加到 YAML 文件中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
services:
  trendz:
    profiles: ['trendz']
    restart: always
    image: "thingsboard/trendz:1.15.0.4"
    ports:
      - "8888:8888"
    environment:
      SPRING_DATASOURCE_URL: jdbc:postgresql://trendz-postgres:5432/trendz
      SPRING_DATASOURCE_USERNAME: postgres
      SPRING_DATASOURCE_PASSWORD: postgres
      SCRIPT_ENGINE_DOCKER_PROVIDER_URL: trendz-python-executor:8181
      SCRIPT_ENGINE_TIMEOUT: 30000
    volumes:
      - trendz-conf:/trendz-config-files
      - trendz-data:/data
    depends_on:
      - trendz-postgres
  trendz-python-executor:
    profiles: ['trendz']
    restart: always
    image: "thingsboard/trendz-python-executor:1.15.0.4"
    ports:
      - "8181:8181"
    environment:
      EXECUTOR_MANAGER: 1
      EXECUTOR_SCRIPT_ENGINE: 6
      THROTTLING_QUEUE_CAPACITY: 10
      THROTTLING_THREAD_POOL_SIZE: 6
      NETWORK_BUFFER_SIZE: 5242880
    volumes:
      - trendz-python-executor-conf:/python-executor-config-files
      - trendz-python-executor-data:/data
  trendz-postgres:
    profiles: ['trendz']
    restart: always
    image: "postgres:16"
    ports:
      - "5432:5432"
    environment:
      POSTGRES_DB: trendz
      POSTGRES_PASSWORD: postgres
    volumes:
      - trendz-postgres-data:/var/lib/postgresql/data
volumes:
  trendz-conf:
    name: trendz-conf
    driver: local
  trendz-data:
    name: trendz-data
    driver: local
  trendz-python-executor-conf:
    name: trendz-python-executor-conf
    driver: local
  trendz-python-executor-data:
    name: trendz-python-executor-data
    driver: local
  trendz-postgres-data:
    name: trendz-postgres-data
    driver: local

说明:

  • 8888:8888:将本地端口 8888 映射到内部 HTTP 端口 8888
  • trendz-conf:/trendz-config-files:将 trendz-conf 卷挂载到 Trendz 配置目录
  • trendz-data:/data:将 trendz-data 卷挂载到 Trendz 数据目录
  • trendz-postgres-data:/var/lib/postgresql/data:将 trendz-postgres-data 卷挂载到 Postgres 数据目录
  • trendz:Trendz Docker 服务名称
  • --restart always:系统重启或故障后自动启动 Trendz
  • thingsboard/trendz:1.15.0.4:Trendz Docker 镜像
  • thingsboard/trendz-python-executor:1.15.0.4:Trendz Python 脚本执行器 Docker 镜像
  • SCRIPT_ENGINE_TIMEOUT:Python 脚本执行超时时间

Step 2. Start Trendz service

进入包含 docker-compose.yml 的目录,执行以下命令启动 Docker Compose:

1
docker compose --profile trendz up -d && docker compose logs -f trendz

执行后可在浏览器中打开 http://{your-host-ip}:8888(如 http://localhost:8888)。 您将看到 Trendz 登录页面。

Step 3. 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” 后,同步即完成。

Authentication

默认可在 http://localhost:8888 访问 Trendz UI。

Trendz 使用 ThingsBoard 作为认证服务,首次认证需使用 ThingsBoard 中的 Tenant Administrator 凭证。

Topology Discovery

首次登录 Trendz 后,需发现拓扑以使 Trendz 识别资产、设备、其配置与关系:

  • 点击 Discover Topology 按钮开始拓扑发现。
  • 等待拓扑发现完成。
  • 点击 Finish 按钮关闭拓扑发现页面并解锁 Trendz 主要功能。

更多关于 Trendz 如何使用拓扑的信息,请参阅此处

Detaching, stop and start commands

可使用 Ctrl-p Ctrl-q 组合键从终端会话中分离,容器将在后台继续运行。

若遇问题,可查看服务日志排查错误。 例如,查看 Trendz 容器日志可执行:

1
docker compose logs -f trendz

停止容器:

1
docker compose stop trendz

启动容器:

1
docker compose start trendz

Upgrade Trendz Service

文档信息图标

注意:可从任意版本直接升级到最新版(如 1.2.0 -> 1.15.0.4 等)。

以下为从任意Trendz版本升级到1.15.0.4的示例

  • 创建数据库备份:
1
docker compose exec trendz-postgres sh -c "pg_dump -U postgres trendz > /var/lib/postgresql/data/trendz_dump"

当有新Trendz版本发布时,按以下步骤更新安装并保留数据:

文档警告图标

若使用旧版部署文件升级,请先按本说明执行相应步骤。

  1. docker-compose.ymlthingsboard/trendzthingsboard/trendz-python-executor的版本改为1.15.0.4。

  2. 执行以下命令:

1
2
3
4
docker pull thingsboard/trendz:1.15.0.4
docker compose stop trendz
docker compose run --rm -e UPGRADE_TRENDZ=true trendz
docker compose up -d

Troubleshooting

DNS issues

注意 若出现与 DNS 相关的错误,例如:

1
127.0.1.1:53: cannot unmarshal DNS message

可将系统配置为使用 Google 公共 DNS 服务器。 请参阅对应的 LinuxMac OS 说明。

下一步