From 1dcc38c3de2fd35f84aa8dae6e90ef6c1550905f Mon Sep 17 00:00:00 2001 From: emqx-ci-robot Date: Thu, 21 Nov 2024 04:37:33 +0000 Subject: [PATCH] sync blog --- README-ZH.md | 1 + README.md | 2 +- .../managing-emqx-clusters-with-emqx-ecp.md | 182 ++++++++++++++++++ 3 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 zh/202411/managing-emqx-clusters-with-emqx-ecp.md diff --git a/README-ZH.md b/README-ZH.md index 0428ed1d..1fecaddd 100644 --- a/README-ZH.md +++ b/README-ZH.md @@ -194,6 +194,7 @@ Explore more with & via EMQ. ## [EMQX Open Source | Broker](https://www.emqx.com/zh/blog/category/emqx) EMQX is the world's most scalable open-source MQTT broker with a high performance that connects 100M+ IoT devices in 1 cluster, while maintaining 1M message per second throughput and sub-millisecond latency. +- [持续监控云端数据:利用 EMQX ECP 集中管理 EMQX 集群](https://www.emqx.com/zh/blog/managing-emqx-clusters-with-emqx-ecp) ([Edit](https://github.com/emqx/blog/blob/main/zh/202411/managing-emqx-clusters-with-emqx-ecp.md)) - [CoAP 协议介绍:特性、应用与优劣势](https://www.emqx.com/zh/blog/coap-protocol) ([Edit](https://github.com/emqx/blog/blob/main/zh/202411/coap-protocol.md)) - [EMQX Platform 旗舰版:面向企业级 AI 和物联网应用的高级 MQTT 消息服务](https://www.emqx.com/zh/blog/introducing-emqx-premium) ([Edit](https://github.com/emqx/blog/blob/main/zh/202410/introducing-emqx-premium.md)) - [EMQX Enterprise 5.8.0 发布:实现跨区域、全球分布的集群连接](https://www.emqx.com/zh/blog/emqx-enterprise-5-8-0-release-notes) ([Edit](https://github.com/emqx/blog/blob/main/zh/202409/emqx-enterprise-5-8-0-release-notes.md)) diff --git a/README.md b/README.md index 8a0c10f2..69f2a776 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ Get to know the preferred protocol in IoT from beginner to master. - [MQTT Broker: How It Works, Popular Options, and Quickstart](https://www.emqx.com/en/blog/the-ultimate-guide-to-mqtt-broker-comparison) ([Edit](https://github.com/emqx/blog/blob/main/en/202402/the-ultimate-guide-to-mqtt-broker-comparison.md)) - [How to Install a Scalable MQTT Broker on OpenWRT](https://www.emqx.com/en/blog/how-to-install-a-scalable-mqtt-broker-on-openwrt) ([Edit](https://github.com/emqx/blog/blob/main/en/202310/how-to-install-a-scalable-mqtt-broker-on-openwrt.md)) - [RabbitMQ vs Kafka: 5 Key Differences & Leading Use Cases](https://www.emqx.com/en/blog/rabbitmq-vs-kafka) ([Edit](https://github.com/emqx/blog/blob/main/en/202309/rabbitmq-vs-kafka.md)) -- [Mosquitto MQTT Broker: Pros/Cons, Tutorial, and a Modern Alternative](https://www.emqx.com/en/blog/mosquitto-mqtt-broker-pros-cons-tutorial-and-modern-alternatives) ([Edit](https://github.com/emqx/blog/blob/main/en/202308/mosquitto-mqtt-broker-pros-cons-tutorial-and-modern-alternatives.md)) +- [Mosquitto MQTT Broker: Pros/Cons, Tutorial, and Alternative](https://www.emqx.com/en/blog/mosquitto-mqtt-broker-pros-cons-tutorial-and-modern-alternatives) ([Edit](https://github.com/emqx/blog/blob/main/en/202308/mosquitto-mqtt-broker-pros-cons-tutorial-and-modern-alternatives.md)) - [The Best Mosquitto Alternative: An In-Depth Look at NanoMQ for IoT Edge](https://www.emqx.com/en/blog/nanomq-the-multi-threaded-alternative-to-mosquitto-for-iot-edge) ([Edit](https://github.com/emqx/blog/blob/main/en/202306/nanomq-the-multi-threaded-alternative-to-mosquitto-for-iot-edge.md)) - [Connecting to Serverless MQTT Broker in Node.js](https://www.emqx.com/en/blog/connecting-to-serverless-mqtt-broker-in-nodejs) ([Edit](https://github.com/emqx/blog/blob/main/en/202305/connecting-to-serverless-mqtt-broker-in-nodejs.md)) - [EMQX MQTT Broker Troubleshooting: Connection Issues](https://www.emqx.com/en/blog/emqx-mqtt-broker-connection-troubleshooting) ([Edit](https://github.com/emqx/blog/blob/main/en/202305/emqx-mqtt-broker-connection-troubleshooting.md)) diff --git a/zh/202411/managing-emqx-clusters-with-emqx-ecp.md b/zh/202411/managing-emqx-clusters-with-emqx-ecp.md new file mode 100644 index 00000000..4cf4fffd --- /dev/null +++ b/zh/202411/managing-emqx-clusters-with-emqx-ecp.md @@ -0,0 +1,182 @@ +## 背景 + +EMQX ECP 作为工业互联数据平台,能够满足工业场景大规模数据采集、处理和存储分析的需求,是云边协作中的重要一环,它提供了对边缘端服务 NeuronEX 及云端 EMQX 集群的统一管理,确保了对数据采集、处理、传输环节的高效控制。 + +其中,EMQX ECP 的多集群管理功能在分租户、分项目的基础上实现,可以通过 K8s 快速创建新集群或纳管已有的集群,并对管理的集群进行统一的运维管理。 + +> 参考:云端集中管控边缘服务:[利用 EMQX ECP 在 K8s 上快速部署 NeuronEX](https://www.emqx.com/zh/blog/deploy-neuronex-on-k8s-using-emqx-ecp) + +本文将详细介绍如何使用 EMQX ECP 2.3.0 及以上版本,将已安装的 EMQX v5 企业版集群纳入管理,并对集群的数据进行持续监控。 + +## 功能原理 + +EMQX ECP 对 EMQX 集群的纳管,是通过 ECP 开发的集群代理应用 EMQX Agent 来实现。该代理应用作为 ECP 与纳管集群之间的桥梁,接收 ECP 端的配置及操作指令转发给集群,并收集集群的实时运维、指标数据至 ECP,形成完整的管理回路。 + +EMQX ECP 端收到集群的数据后,在 ECP 平台侧的运维面板中,从指标、告警、日志等多个维度监控被纳管的集群。同时,ECP 平台侧还提供 EMQX Dashboard 的入口,方便用户随时对集群进行更细致的操作和配置。 + +## 准备工作 + +1、部署 EMQX 企业版 5.7.0 或更高版本,确保 EMQX 集群所在服务器与 ECP 所在服务器之间可正常进行网络通信。 + +2、以系统管理员登录 ECP,或以具有组织/项目管理权限的用户身份登录。系统管理员可以对所有项目进行集群管理,非系统管理员只要具备某个组织/项目的管理权限,也可以在相应项目下纳管集群。 + +## 纳管步骤 + +纳管集群的操作分为三步: + +1、创建集群纳管入口 + +2、下载并运行集群代理 + +3、注册集群代理至纳管入口 + +下面将分步骤具体进行介绍。 + +### 创建集群纳管入口 + +进入工作台,点击左侧菜单栏中的`数据集成` → `数据接入`。在数据接入页面中,项目下所有已被 ECP 管理的集群将以卡片或列表方式进行展示。 + +![`数据集成` → `数据接入`](https://assets.emqx.com/images/b1fa9e0bbb43f54ac26af1757087c9ef.png) + +点击页面右上角的`纳管集群`按钮,填写集群名称及集群服务地址。集群服务地址为需要被纳管的 EMQX 集群的 dashboard 访问地址,默认是 18083 端口。集群服务地址也可以稍后通过编辑操作来进行设置或修改。 + +确认完成后,数据接入页面中将新增一个纳管的集群,状态为“已创建”。后续 ECP 对 集群的管理都将使用它作为入口。 + +### 下载并运行集群代理 + +选择第 1 步创建好的集群,点击`注册节点`,页面右侧将展开集群注册引导说明,指引完成集群代理的下载、安装及注册。 + +集群代理需要安装在纳管的 EMQX 集群所在的服务器上,根据该服务器的 CPU 架构(AMD64、ARM32 或 ARM64)选择相应的二进制包,并按照引导中`下载`部分的说明,在目标服务器上依次拷贝相应命令,下载二进制包、设置执行权限、启动集群代理。 + +![集群注册引导说明](https://assets.emqx.com/images/8d5be0f6ccfa6aeac516ea5f16768498.png) + +集群代理成功启动后,将会在控制台上打印:EMQX Agent xxx is running! + +后续也可以随时查看集群代理日志文件 `/opt/emqx/log/agent.log` 排查问题。 + +### 注册集群代理至纳管入口 + +引导`节点配置`部分帮助用户填写注册集群代理所需的信息。其中: + +username 和 password 为登录 EMQX Dashboard 使用的用户名及密码。 + +dashboardUrl 为集群代理访问 EMQX Dashboard 的地址,默认的端口是 18083。由于集群代理与 EMQX 集群安装在同一台服务器上,可以使用内网地址。 + +apiUrl 为集群代理访问 EMQX REST API 的地址,EMQX v5 默认的 API 端口是 18083。同样可以使用内网地址。 + +![节点配置](https://assets.emqx.com/images/9b6fbf10ed35ed2ad2b89733975814b3.png) + +`节点配置`部分的配置信息会自动填充入`注册`部分的命令,用户拷贝注册命令,在集群代理所在服务器上运行注册命令。同时,ECP 端数据接入页面上该纳管集群的状态将变为“注册中”。一旦注册成功完成,状态将变为“运行中”。 + + + +## 管理运维 + +通过集群代理成功完成 EMQX 集群的纳管后,ECP 端支持以下运维操作: + +### 查看集群基本信息 + +集群代理以固定间隔时间(默认间隔15秒)向 ECP 上报 EMQX 集群的最新状态,数据接入页面可以查看到被管理的各个集群最新的基本信息,包括集群的启动时间、集群的创建时间(对纳管集群来说,即为在 ECP 端进行纳管的时间)、集群版本、集群包含的节点数量、集群的总连接数和允许的最大连接数 + +### 跳转到集群 Dashboard + +如果在创建集群纳管入口时已配置好集群服务地址,那么成功纳管后数据接入页面将出现“进入 Dashboard”选项,点击即可免登录自动跳转到相应的集群服务地址。 + +![进入 Dashboard](https://assets.emqx.com/images/db0f47d80ecfa04daefd41d16a6d68e9.png) + +### 监控集群实时运行状态 + +点击工作台左侧菜单栏中的`监控运维` → `监控`,并切换到`数据集成监控`标签页,可查看当前项目下被纳管集群的实时运行状态。 + +![`数据集成监控`标签页](https://assets.emqx.com/images/d8b77073dd15e62afcd37a066f517fd6.png) + +监控页面上方是基础的统计信息,包括项目中所有纳管集群的总连接数、在线连接数、总规则数、运行和停止状态的规则数、总连接器数、已连接和断开连接状态的连接器数。 + +页面下方是非正常状态下的规则、连接器的详细信息,用户可以通过集群名称进行过滤查看,也可以通过操作栏中的“详情”按钮,跳转到集群 Dashboard 相应的规则/连接器页面,处理异常状态的规则/连接器。 + +### 监控集群规则及连接器异常告警 + +ECP 支持对集群中的规则异常和连接器异常发出告警通知。系统管理员或组织/项目管理员需要提前对项目的进行告警设置以激活集群告警: + +1、点击工作台左侧菜单栏中的`监控运维` → `告警`,进入告警页面 + +2、切换到`告警设置`标签页,编辑并打开`告警状态`滑动开关。根据实际需求设置其他的配置项。 + +3、切换到`告警规则配置`标签页,在`云端集群`部分,对告警触发次数、告警恢复次数、告警级别进行相应的设置。 + +4、如果希望集群告警发生时,告警信息可以实时推送给相关人员,可以在`告警推送`标签页下配置 email 或 webhook,请确保「EMQX 告警推送」选项已开启。 + +![告警设置](https://assets.emqx.com/images/9093e86ce9a1a91e48ea9950c2604e68.png) + +当发生集群规则或连接器异常的时候,告警列表中将会实时展示异常的相关信息,并在异常恢复后自动移入历史告警列表,用户也可以在确认异常已解除或不再需要时手动移除。 + +### 修改集群的最大连接数 + +ECP 纳管 EMQX v5 集群后,会自动设置纳管集群的初始最大连接数为 10。如果需要调整部分纳管集群的最大连接数,可以点击集群`...`按钮,打开`更多`操作菜单,通过「修改连接数」操作进行。在修改时请关注提示信息,了解 ECP 许可证允许的连接数总配额及单集群最大连接限制,在合理范围内指定连接数。 + +![修改集群最大连接数](https://assets.emqx.com/images/e45cd235d08a4c6a9721acd672331109.png) + +完成最大连接数调整后,用户跳转到集群 Dashboard 的 License 界面,查看到的将是更新后的 License 使用情况。请注意,被纳管的集群由 ECP 统一管理最大连接数,因此即使在集群 Dashboard License 界面重置或更新其他 License,也会被 ECP 自动设置回在 ECP 上指定的最大连接数。 + +### 查看集群日志 + +ECP 的统一日志功能中也提供纳管集群日志查询的功能。该功能需要对接第三方的 Elasticsearch 日志服务器,同时在集群代理注册节点时需额外提供配置项进行日志功能的开启: + +1、在系统管理界面,点击`系统设置` → `通用配置` → `日志接收器`,在类型中选择「开启」,并设置外接 Elasticsearch 服务器的连接信息,通过测试后保存。 + +2、在纳管集群过程中,拷贝集群注册引导页面上的`注册`命令时,在命令的最后加上参数:`--emqx-log-collection-enabled --emqx-log-collection-dir /opt/emqx/log`。其中 `/opt/emqx/log` 为集群日志所在的文件夹的位置。如果集群是使用 docker 方式安装的,建议提前配置好集群的日志映射路径。 + +开启纳管集群的日志功能后,在工作台的日志页面,可查看到当前项目下相应集群的日志信息。 + +### 向其他项目转移集群 + +系统管理员或组织/项目管理员可以在具备管理权限的项目之间转移纳管的集群。在需要被移动的集群上,点击`...`按钮,并选择`转移`操作,然后在弹出的对话框中,选择要转移到的目标项目。 + +### 取消纳管 + +如果不再需要 ECP 对某个集群进行统一管理,可以运行集群代理的取消注册命令:在集群代理所在的服务器上,运行`sudo /usr/local/bin/emqxee-agent`。取消注册后,ECP 端该集群入口状态变为“已创建”,后续如果希望恢复纳管,重复上述注册步骤即可。 + +也可以在 ECP 端点击`...`按钮,并选择`删除`操作,该操作在取消纳管后,同时也会删除 ECP 端的纳管集群入口。请注意如果集群处于“异常”状态,删除操作无法保证成功。 + +## 常见问题 + +Q:如果 ECP 或集群 Dashboard 使用 HTTPS,可以在纳管集群的过程中跳过 tls 证书验证吗? + +A:如果希望跳过 ECP 及 EMQX 的 tls 证书验证,可以在注册集群代理时,在注册命令最后加上参数:`--insecure-skip-verify` + + + +Q:如果集群由多个节点组成,需要在每个节点上分别安装集群代理吗? + +A:纳管多节点 EMQX 集群,只需要在其中一个节点的服务器上安装并注册集群代理,即可完成对整个集群的纳管。 + + + +Q:可以使用同一个集群代理管理多个集群吗? + +A:不可以。ECP 端纳管集群入口 - 集群代理 - EMQX 集群这三者需为一一对应的关系。 + + + +Q:如果某个已被纳管的集群无法恢复正常运行,在 ECP 端始终处于异常状态,如何在 ECP 端删除这个被纳管的集群? + +A:先尝试运行集群代理的取消注册命令。如果取消注册命令也无法成功,可以在该纳管集群的操作选项中选择“重新注册”,将入口重新绑定到一个可以正常运行的集群上(也就是用同一个纳管集群入口去纳管一个其他的集群),后续再进行删除操作。 + + + +Q:纳管过程中出现的其他问题,如何定位? + +A:在集群代理所在服务器上,查看代理日志 `/opt/emqx/log/agent.log`。 + +## 结语 + +上文介绍了 EMQX ECP 纳管 EMQX 集群的步骤及实际运维操作。用户可以在 ECP 界面上对集群进行统一管理,包括修改集群最大连接数、集群转移、删除等操作,以及集群信息概览、集群监控、集群告警和集群日志等可视化功能,从而简化运维复杂度,提升数据分析能力,提升运维管理效率。 + + + +
+
+ 咨询 EMQ 技术专家 +
+ 联系我们 → +