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

使用 Docker 安装 ThingsBoard Trendz 分析(Windows)

本指南将帮助您在 Windows 上使用 Docker 安装并启动 Trendz 分析。

前置条件

  • 已安装 Docker Desktop for Windows。安装方法见此处

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

安装步骤

步骤 1. Docker Compose 设置

Trendz 可与 ThingsBoard 在同一 Docker Compose 文件中运行,也可在单独的 Docker Compose 文件中运行。

对于中小型安装,我们建议与 ThingsBoard 在同一 Docker Compose 文件中安装 Trendz。

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

1
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
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 脚本执行超时时间

步骤 2. 启动 Trendz 服务

进入包含 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 登录页面。

步骤 3. 将 ThingsBoard 与 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” 后,同步即完成。

认证

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

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

Topology Discovery

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

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

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

分离、停止和启动命令

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

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

1
docker compose logs -f trendz

停止容器:

1
docker compose stop trendz

启动容器:

1
docker compose start trendz

升级 Trendz 服务

文档信息图标

注意,您可一次性将 Trendz 从任意版本升级到最新版本(例如 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.yml 文件中 thingsboard/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

故障排除

DNS 问题

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

1
127.0.1.1:53: cannot unmarshal DNS message

可将系统配置为使用 Google 公共 DNS 服务器

下一步