Skip to content

Commit

Permalink
Merge pull request #6 from emqx/main
Browse files Browse the repository at this point in the history
update 2.4
  • Loading branch information
QQDQ authored Nov 6, 2024
2 parents 4fe7ce4 + 641abb9 commit 0b2d9af
Show file tree
Hide file tree
Showing 30 changed files with 19,702 additions and 9,319 deletions.
8 changes: 8 additions & 0 deletions ecp/directory.json
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,10 @@
"title": "告警规则列表",
"path": "monitor/rules"
},
{
"title": "链路追踪",
"path": "monitor/trace"
},
{
"title": "操作审计",
"path": "system_admin/operation_audit"
Expand Down Expand Up @@ -348,6 +352,10 @@
"title": "Alarm List",
"path": "monitor/rules"
},
{
"title": "Traces",
"path": "monitor/trace"
},
{
"title": "Audit",
"path": "system_admin/operation_audit"
Expand Down
Binary file modified ecp/en_US/cluster/_assets/cluster-existing-reg.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
39 changes: 26 additions & 13 deletions ecp/en_US/cluster/add_manage.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Add EMQX Clusters

ECP supports adding existing EMQX clusters. ECP supports management for EMQX v4 Enterprise Edition (4.4.6 and above) and EMQX v5 Enterprise Edition (5.6.0 and above).
ECP supports adding existing EMQX clusters by a cluster management agent. ECP supports management for EMQX v4 Enterprise Edition (4.4.6 and above) and EMQX v5 Enterprise Edition (5.6.0 and above).

## Add an Existing Cluster

Expand All @@ -12,35 +12,44 @@ ECP supports adding existing EMQX clusters. ECP supports management for EMQX v4

4. Click **Confirm** to finish the adding process. The newly-created clusters will be listed in the **Cluster List** panel with the status **Created**.

5. Click **Register Node** and follow the instructions on the cluster registration guide page to register the cluster node.

<img src="./_assets/cluster-existing-init.png" alt="cluster-running" style="zoom:50%;" />

6. Select the CPU architecture in the **CPU Architecture** field, amd64, arm, and arm64 are supported. Follow the steps on this page to finish adding the existing cluster.
5. Click **Register Node** and a cluster registration guide page will show.

<img src="./_assets/cluster-existing-reg.png" style="zoom: 50%;" align="middle">

<img src="./_assets/cluster-existing-reg.png" style="zoom: 50%;" align="middle">
6. Select **Register Type** and **CPU Architecture** to choose how the cluster management agent be installed. Currently, the agent can be installed by binary or in Kubernetes. For binary installation, amd64, arm, and arm64 are supported.

7. Log in to the virtual machine hosting the EMQX cluster, execute the commands provided on the registration guide page in sequential order.
7. Log in to the virtual machine hosting the EMQX cluster, execute the commands provided on the registration guide page to download the agent.

```bash
# Download EMQX Agent
sudo curl -L -f --output /usr/local/bin/emqxee-agent https://[emqxee-agent]
sudo curl -L -f -k --output /usr/local/bin/emqxee-agent https://[emqxee-agent]

# Update EMQX Agent permission
sudo chmod +x /usr/local/bin/emqxee-agent

# Start EMQX Agent
sudo /usr/local/bin/emqxee-agent start

```

8. Follow the instructions to fill in the fields in **Node Configuration** part. The content will be automatically filled into the registration command:

- For binary installation, the agent and the EMQX cluster will be on the same virtual machine, therefore, localhost can be used in `dashboardUrl` and `apiUrl`.
- For Kubernetes installation, please be sure that the agent can visit the EMQX cluster by `dashboardUrl` and `apiUrl`.

9. Copy and execute the command in **Register** part on the virtual machine to run the agent to finish registration.

```bash
# Register on ECP
sudo /usr/local/bin/emqxee-agent register --url https://[emqxee-agent] --registration-token bf2779e5176446cd8e18fde81d826497
sudo /usr/local/bin/emqxee-agent register --url https://[ecp] --registration-token [token] --emqx-dashboard-username [emqx-username] --emqx-dashboard-password [emqx-password] --emqx-dashboard-url [emqx-dashboard-url] --emqx-api-url [emqx-api-url]
```

8. Upon returning to the **Workspace - Data Integration - Data Access** page, you will find that the newly added existing cluster is now in the **Running** status.![](./_assets/cluster-existing.png)
10. Upon returning to the **Workspace - Data Integration - Data Access** page, you will find that the newly added existing cluster is now in the **Running** status.![](./_assets/cluster-existing.png)

9. If an EMQX v4 cluster is added for management, an **Enter Dashboard** button will display. Click it to view the EMQX v4 dashboard. If the **Enter Dashboard** button is not visible, please make sure `cluster.agent` section is correctly configured in ECP configuration file and the MQTT broker configured in it can be accessed by the agent.
11. If an EMQX v4 cluster is added for management, an **Enter Dashboard** button will display. Click it to view the EMQX v4 dashboard. If the **Enter Dashboard** button is not visible, please make sure `cluster.agent` section is correctly configured in ECP configuration file and the MQTT broker configured in it can be accessed by the agent.

10. If an EMQX v5 cluster is added for management, an **Enter Dashboard** button will display if the **Cluster Address** has been configured. Click it to directly view the EMQX v5 dashboard in a new window.
12. If an EMQX v5 cluster is added for management, an **Enter Dashboard** button will display if the **Cluster Address** has been configured. Click it to directly view the EMQX v5 dashboard in a new window.



Expand All @@ -59,4 +68,8 @@ Managed EMQX cluster can be in the following states:

For clusters in the state of Error, you can click the Error status icon to view possible cause.

<!--also the English for the status should be confirmed-->
<!--also the English for the status should be confirmed-->

## Limitation

Each cluster on ECP side should map to a single EMQX cluster. Please do not register multiple clusters on ECP side to the same EMQX cluster.
Binary file added ecp/en_US/monitor/_assets/trace-config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ecp/en_US/monitor/_assets/trace-detail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ecp/en_US/monitor/_assets/trace-list.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion ecp/en_US/monitor/monitor_cluster.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Monitor Edge Services
# Monitor EMQX Cluster

ECP provides a comprehensive operating status overview on the **Workspace - Maintenance - Monitoring - Data Integration Monitoring** page.

Expand Down
8 changes: 4 additions & 4 deletions ecp/en_US/monitor/rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ See below for a list of alarms in ECP.

| Alarm Type | Default Severity Level | Alarm Message | Identical Alarm Criteria |
| ------------------------------------------------------------ | :--------------------: | :----------------------------------------------------------- | :------------------------------------------------- |
| Email send failed alarm | Normal | Email sending failed, please check mail server configuration. | |
| Email send failed alarm | Normal | Email sending failed, please check mail server configuration | |
| Webhook send failed alarm | Normal | Webhook sending failed, Webhook address: <code v-pre>{{address}}</code> | |
| NeuronEX data collection driver exception alarm (including south and north) | Critical | NeuronEX <code v-pre>{{instance name}}</code> Driver <code v-pre>{{driver name}}</code> exception | From the same driver on the same NeuronEX instance |
| NeuronEX data processing rule exception alarm | Critical | NeuronEX <code v-pre>{{instance name}}</code> Rule <code v-pre>{{rule name}}</code> exception. | From the same rule on the same NeuronEX instance |
| NeuronEX data processing rule exception alarm | Critical | NeuronEX <code v-pre>{{instance name}}</code> Rule <code v-pre>{{rule name}}</code> exception | From the same rule on the same NeuronEX instance |
| NeuronEX offline alarm | Critical | NeuronEX <code v-pre>{{instance name}}</code> Offline | From the same NeuronEX instance |
| NeuronEX restart alarm | Critical | NeuronEX <code v-pre>{{instance name}}</code> Restarted | From the same NeuronEX instance |
| EMQX rule alarm | Critical | EMQX <code v-pre>{{instance name}}</code> Rule <code v-pre>{{rule name}}</code> alarm. | From the same EMQX cluster |
| EMQX connector alarm | Critical | EMQX <code v-pre>{{instance name}}</code> Connector <code v-pre>{{connector name}}</code> | From the same EMQX cluster |
| EMQX rule alarm | Critical | EMQX <code v-pre>{{instance name}}</code> Rule <code v-pre>{{rule name}}</code> alarm | From the same EMQX cluster |
| EMQX connector alarm | Critical | EMQX <code v-pre>{{instance name}}</code> Connector <code v-pre>{{connector name}}</code> alarm | From the same EMQX cluster |
21 changes: 21 additions & 0 deletions ecp/en_US/monitor/trace.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Trace

[OpenTelemetry Tracing](https://opentelemetry.io/docs/concepts/signals/traces/) is a specification for tracing the flow of requests in distributed systems, used to track the flow of requests within distributed systems. ECP integrates OpenTelemetry tracing and provides the capability for visual analysis of the performance and behavior of requests.

## Trace Setting

Log in to ECP as an administrator , you can view the traceability configuration under **Administration** -> **System Setting** -> **General Setting**, which is the address of the [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/getting-started).

![image-20241015173721355](_assets/trace-config.png)

## Traceability Records

After the trace data is uploaded to ECP, on the **Workspace** interface, click the **Maintenance** -> Trace** menu on the left to enter the traceability list.

![image-20241015173421041](_assets/trace-list.png)

You can also quickly locate a specific trace record from aspects such as **service name, span name, attribute keyword, time** using ECP's filtering and sorting functions.

Click on **Trace ID** to view the trace details and observe the trace situation.

![image-20241015173511959](_assets/trace-detail.png)
108 changes: 54 additions & 54 deletions ecp/resource/docker-tls/ca-key.pem
Original file line number Diff line number Diff line change
@@ -1,54 +1,54 @@
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,613809FFC51F0CB739952BB1CDFBC6E9

ELulkzooZebAf7yBLm/hD9hlCssbwn6XUpxnE1p9vYzdEFw2ELPlkOxsQlobxGTT
SckGXimJYnNUL5jIILa+2xu68SmZU+h+bvvMHTdwLSy5STAVszyIFWcdG9jlVCQk
hOAMOKR5INUwc3MhJ7fQ3kBfhd2PhZ1mfY5mOhR1HEQmq25YA3NcMsWUEPvLmOI2
5aqpKgTm8dUtL6V8cPkdKn7Q3zGD+1qn5HOiJ0xK8OA64ZSHUC1FvdpwA9EIbhl6
bQ3t8auOH/VFMjC0wP50ykCZDQiCGzaNQhZMQ55a/LMpNRWEEZ8UTvOo03sPIkW+
MGgbFAAmQK0o12Doky2+GNKqpHQS5LZ70ncz/HxhlHybmj/UTT9mjYK6i3l6gLD9
yMwvjlX0HNagjSA9oknA9DEff1i27MfVdi5RIX34SEJkDJfs9Ga9LyNAObp399ow
SxQd8iEeiYN3dd9Vp1DxuAQXw1IiMV0eF1RMSMZP6KbeP60D0/eebD2ey3kLfpuk
X5Xq6Y00F+xmkr8LJ4CkNoTIrkdJLo/kV9usfbJaWXL4j8KL0ep/8kd7/lacRb7O
Fl2/1yRJDftAWQMKJwgJEvndC5QrVuDNVNjwpBckDg9ZnZLnQ+AsHlU9i0r4mwMO
shvJYJZoTs5MNPzw0LicUkbK9RhZtTXHaU/2SNUK2YhRXCikS0P/afWvoLl4iW6I
KeN28r2AiZseq0/7bAPdKaxvuzav+R7RlIOYBIRe9+MTKMQ7M0MIEquYSw745Kuz
2STP2zQjPrnOv0ujsDING9aMFDBRISuA8nNYuQDuGCoJfhnVDhEAgX5vC3fjMr5E
t1HaUrbcB9E6078wTu63T1l6eV5JdJLPsqnUCWK7JPedkpR+ExS95EYONz8G8bXe
UDpU62v/j6gh0gafjG7T6jJGPKY/BPk2aVh0hPXAM1a5HIBZqRnXZgSLngg+EFdV
utLNqV35xGOLoLKTTNmDmiGJQX1M+MSj9EA+vmQGJAXQ7HypGSw8ffBD1yIk1J79
lpJkB6wMdeHxwXBrs+6k2srGBcsZthxym1auY9iJZLcfi63w9jLPMMFWkaHIn9yA
4p+3F1neeoQqx1RE/HoWxxGPi4EU33oiXlTQ203xbhQQDEcGudS0RwYuQzbnjqHP
gG6cQlTQ/9gy1U47t/FeBdfTuEIsmXOx2Pj4DI3hFRF4nbiYvmV8vDCYn+kvk+MN
IwWxSqgzY+6FlNXYXXIUmN1FoMUIRveTYQVIyl/+l3bVPBAAncCXLpr3PDkuNhjm
5yc6oDIOyVGaXGoktASUAb/7yUG6ted66aR3efO4ZM6apUA1H6hAWYu4aMzEa1Rk
YTi6439Y5BkcqdRh4ZUHDl9W85D3T5Ra8n5jy6ynb4eTKS2ZzN3o2Uy+bNzfXsUc
819VL4VdV7WpXw/navRXaDF3RmqK64OxfKTKMVkuki5Jt0Z0fpZy4ABBCGzjOsNQ
PV7LkDzUiZz/UT6rbvaTw5yiumH40gTy0JrQU0Oa87W6NHmewpFPzMbj2tnU7keN
8NwtE5duqewCbFdBRPvzl/cPl4k68P65P7A/r58nIDw2WwS6pdAvZcP4kktlgHQU
hbgrpEUyg86gcO8vXQEidaETHXEB70cZ7j5+QzZwz1sSPbTfcv04yoDKXhN+7i6j
qR6PPb46KG37CHdT+WZBBtvFDUAe79DO/+CBfJC/zdDwRKXz0qutG+k4DZMVa5l9
l5K1gz1u2aiBHu4mTOzs37HnA2dcCY7TySCE4lRitZLmgcqC89t6mum4wt2FRZBl
PNgvBSMz0xtHlC3qkpHX/CIQh5EKvqD2lo5UG5DMIEEFV3q2xoLSr1Ppw3u2XEE3
tBESz0L1DaHOi1PdZVZdw+f+awZaHwG+WQKDfk+iJpSrJD+3MTlbE5s0lKCeMYav
DOIGw1kYeR+J/zo0HmzcANRVN6Xeay0Bjxcpk8PaIhl9t4i/+fBpnyE4rXsVIQfj
DUSpA/jEwfmNqKFIM/ypepQ6pz0S8zf4hecYG6UI/eY4rtDYRuvjRtoDnWnVgEkE
kznURJU3oNxK0TprJFOSbmtGhZC3iMmGMZKHA/UAVG4/I7q4cV1xVx4jwIYMOIzU
fdw63vU7eYvn5F6G63hZN6lCGIyDj3HazCVvgPWfwI/diQ93dt7KDLtf72uKpkBI
ayp4hKtOndjwlC+F3WhpSPrVzV1F1BOwVmriM2hg2t+bspKVz38vXD6Bkg4sSnjf
8jBdcB8ICTeDwk0m4cMscrIoZ5Gc0PBcE/RZREM7z7r49gD12JVmehoKG0Xhxk3q
x1QbEX9JZeH5rGotWIp1+oPNDFgIKCmrrwalMhEuTZ37RQvnpLOEk/ZC2SevRsad
jrtCiLXIrWYSHGZf2e4rhZypyQeAfLXIOyfcbMv1W5PpVMo8BVGwKYgZSjBYvZ7J
+ODOn8YkBNQi6eX4Rp7IDVcwAM+7E26uhFNxr/8X1x0QQz9p8DjxdXZ0fJHUedSM
9oLhbwm3Xp+PurUGhs8t+/zdYMC+exr0u6AteK/cXm8HYDD49d1JnjZLKhryDnTT
QSUHEbBLx98zxYfUAvYxfdwXxex4CZwjZKeWtbEyWQ5OPNrv+hsUaf71nei8SHLj
meb+8k15hl6fpYWr6AwItgHq1mxbdXkrmduGJnz2P6Ipl0xEw8qztu6EHh/pJovG
gZCmJRfnz3RY5P8FihHQFFwdLLFZL1B3JY3n+jmfD5tNTj6fa2nbo0CEnEmQTE+m
gD7Q6J85yPJyQh7NiR3gY3WgkrpxJwczUpAMFmUS6XSzva+pF//L7UneBY9P6Tt3
iJJ8EdY2YOkzg7q/pJDKnMjzwU58G3sGhmTML5SS2uH3dUGCRF9yFzaxoK+FT/6s
OazNWEJPVZfxrfZv09O8w2ks09RPLhJqeVmwZKx/eHnNeOGU0keqSuLtm8kfcK+7
3rJ3MxT04JB+s4aXGr+G2IILz1RdN8Pp6TW7bPlljJmppw63ESsLtR1AJWi+LKvs
C819AV0f7DMZxwk+L6zLCHVZ2rnwXCX10J93+3PGa05Wp1PCjsWaLaauF1gcwFte
CKFubFpBji/QdzSOzgPbnl7S6L9a+qYbEfIqb4bEazDhOWDcCHybs6Th/O563w3U
-----END RSA PRIVATE KEY-----
-----BEGIN ENCRYPTED PRIVATE KEY-----
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
-----END ENCRYPTED PRIVATE KEY-----
Loading

0 comments on commit 0b2d9af

Please sign in to comment.