本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设置与 Docker 的开源集成 (Linux)
为了简化部署流程,你可以使用 Docker 在 Linux 环境中设置 Node-RED®、InfluxDB® 和 Grafana®。此方法使用预先配置的容器,可以快速部署并更轻松地管理组件。
Docker 安装前提条件
在开始之前,请验证是否符合以下条件:
-
支持 MQTT 的 V3 网关。有关更多信息,请参阅 支持 MQTT 的边缘版 V3 网关 Amazon IoT SiteWise。
-
Docker Compose 插件。有关安装步骤,请参阅 Docker 手册文档中的安装Docker Compose插件
。
部署服务
此部署在同一台主机上运行 SiteWise Edge、InfluxDB、Node-RED 和 Grafana。
设置环境
-
获得根访问权限:
sudo -i
-
创建.env 文件或导出以下环境变量:
export INFLUXDB_PASSWORD=
your-secure-influxdb-password
export INFLUXDB_TOKEN=your-secure-influxdb-token
export GRAFANA_PASSWORD=your-secure-grafana-password
配置 Docker 网络
-
使用名称创建桥接网络
SiteWiseEdgeNodeRedDemoNetwork
。docker network create --driver=bridge SiteWiseEdgeNodeRedDemoNetwork
更新边 SiteWise 缘部署
-
导航到 Amazon IoT 控制台
-
在 “管理” 部分下的左侧导航菜单中选择 Greengrass 设备,然后选择 “核心设备”。
-
选择连接到 SiteWise Edge 网关的核心设备。
-
选择 “部署” 选项卡,然后选择 “部署 ID” 值。
-
选择 “操作”,然后选择 “修订”。
-
阅读弹出消息,然后选择 “修订部署”。
-
在步骤 2-选择组件中,选择以下组件,然后选择下一步。
-
aws.greengrass.clientdevices.mqtt.EMQX
-
aws.iot.SiteWiseEdgePublisher
-
-
在步骤 3-配置组件中,选择
aws.greengrass.clientdevices.mqtt.EMQX
组件值并添加以下网络配置:{ "emqxConfig": { "authorization": { "no_match": "allow" }, "listeners": { "tcp": { "default": { "enabled": true, "enable_authn": false } } } }, "authMode": "bypass", "dockerOptions": "-p 127.0.0.1:1883:1883 --network=SiteWiseEdgeNodeRedDemoNetwork", "requiresPrivilege": "true" }
-
选择下一步。
-
在步骤 4-配置高级设置中,选择下一步。
-
选择部署
启动服务
-
使用 Docker Compose 文件启动服务。在包含该
compose.yaml
文件的目录下运行以下命令。docker compose up -d
-
创建 SSH 隧道以访问服务:
ssh -i
path_to_your_ssh_key
-L 1880:127.0.0.1:1880 -L 3000:127.0.0.1:3000 -L 8086:127.0.0.1:8086username
@gateway_ip_address
此部署在中创建了以下服务SiteWiseEdgeNodeRedDemoNetwork network
:
- InfluxDB v2(端口 8086)
-
包括预先配置的组织 (iot-sitewise-edge)、 WindFarmData InfluxDB 存储桶和管理员凭证
- Node-red(端口 1880)
-
包括 InfluxDB 节点和用于集成的预配置流程 Amazon IoT SiteWise
- Grafana(端口 3000)
-
包括管理员用户、InfluxDB 数据源和监控控制面板
访问服务
部署后,使用以下内容 URLs 和凭据访问服务:
注意
您可以从主机或网关计算机访问每项服务。
服务 | URL | 凭证 |
---|---|---|
Node-RED | http://127.0.0.1:1880 |
无需凭证 |
InfluxDB | http://127.0.0.1:8086 |
用户名:管理员 密码:$INFLUXDB_PASSWORD |
Grafana | http://127.0.0.1:3000 |
用户名:管理员 密码:$GRAFANA_PASSWORD |
验证部署
为确保部署成功,请执行以下检查:
-
对于 Node-RED,请验证是否存在两个预加载的流:
-
数据发布流程
-
数据保留流程
-
-
对于 Amazon IoT SiteWise,在 Amazon IoT SiteWise 控制台中,使用别名确认是否存在数据流
/Renton/WindFarm/Turbine/WindSpeed
。 -
对于 InfluxDB,使用数据资源管理器验证存储桶内
TurbineData
测量中的数据存储。WindFarmData
-
对于 Grafana,请查看控制面板以确认显示从 Node-RED 生成的时间序列数据。