Migrating OPC UA PubSub device from RabbitMQ to MindConnect MQTT¶
This guide explains the steps to migrate OPC UA Pub Sub agent to MindConnect MQTT broker. This guide also ensures the continuity in data storage into the same asset.
Migration Architecture¶
The below image represents the architecture of migration from OPC Pub Sub RabbitMQ to MindConnect MQTT.
Procedure¶
To migrate from OPC UA Pub Sub RabbitMQ to MindConnect MQTT, follow these steps.
1. Offboard the agent¶
Disconnect the user's Agent from the existing broker(mqtt.eu1.mindsphere.io).
2. Download the MindConnect MQTT Broker certificate¶
Login to Insights Hub environment and navigate to the "Asset Manager" application. In the "Connectivity" section, Select "Manage MQTT Certificates" and click "Broker Information". "MindConnect MQTT Broker Certificate" is available as shown.
- Broker URL: mindconnectmqtt.eu1.mindsphere.io:{TCP Port}.
- Broker ports : use the port number as per the requirement.
Protocol | Authentication | TCP Port | ALPN Protocol |
---|---|---|---|
MQTT | Client Certificate | 8883 | N/A |
MQTT | Client Certificate | 443 | x-amzn-mqtt-ca |
3. Create and Download the Agent credentials¶
User can authenticate the agent using either one of this two ways.
- To create the agent certificate and to upload the user's CA certificate and private key, refer to register your ca certificates and create agent private key documentation.
Note
User can continue to use the existing CA certificate that was uploaded to OPC UA Pub Sub broker when migrating to MindConnect MQTT broker. However the agent certificate has to be created even though the CA certificate did not change. This is because the common name field of the agent certificate needs a change.
- To download the Agent certificate and associated private key using built-in CA certificate, refer to obtain Auto-generated agent certificates documentation.
An example of downloaded certificate and private key is shown below:
In the above image,
"dade1
" is an example of environment name.
"OPCUATimeseriesDeviceTest
" is the certificate name.
"dade1_OPCUATimeseriesDeviceTest
" is used as an user clientId.
If the user needs to connect and continue to ingest the data to the existing asset, agent certificate is created with the same name as the existing "core.mcX509" agent. For example, If user has a "core.mcX509" agent with a name of OPCUATimeseriesDeviceTest
then the user has to create agent certificate with the respective name OPCUATimeseriesDeviceTest
and the clientId is dade1_OPCUATimeseriesDeviceTest
.
Note
What is clientId?
To successfully connect, onboard, and communicate with the MQTT broker, each client requires a client id in the following format,<clientId> = <tenant>_<CertificateName>
4. Install the Agent Credentials¶
Install certificate and private key in user's agent. Installation depends on the software used in the agent. Refer to the software manual. After Installing the agent credentials the agent is ready to send the Timeseries.
Note
Example of MQTT Client Configuration:
5. Send Timeseries or Events data¶
Ingest the Timeseries or Events data over the data topics:
c/<clientId>/o/opcua/v3/u/d/t
c/<clientId>/o/opcua/v3/u/d/e
Note
- To ensure the continuity of data stored in the existing asset, avoid ingesting the metadata. Ingesting metadata creates a new asset and the data will be stored in the new asset.
- After verifying the uploaded data (Time series or Events), delete the previous asset type
core.x509
from the Asset Manager in the Insights Hub to maintain the agent quota limit.
Except where otherwise noted, content on this site is licensed under the Development License Agreement.