Skip to main content
Version: 2.0-beta.1

UNS Integrations

The Integrations feature is your strategic control center for connecting MaestroHub with external systems. It enables seamless data exchange across your digital ecosystem, whether you're receiving data from remote factories or forwarding insights to cloud analytics platforms.

Overview

UNS Integrations provides two fundamental capabilities:

Ingoing Integrations bring external data into MaestroHub's Unified Namespace. Use these to receive data from suppliers, remote production sites, legacy systems, or any external source that needs to contribute to your unified data fabric.

UNS integrations overview showing ingoing integrations dashboard

Outgoing Integrations send MaestroHub data to external destinations. Forward your processed, enriched UNS data to business applications, analytics platforms, data lakes, or partner systems in real-time.

UNS integrations overview showing outgoing integrations dashboard

The Integrations interface is organized into three tabs:

  • Overview Tab provides a comprehensive dashboard with health metrics and status indicators for all integrations
  • Ingoing Tab manages data flows coming into MaestroHub
  • Outgoing Tab controls data flows leaving MaestroHub

Getting Started

Accessing Integrations

Navigate to the UNS module in MaestroHub and select the Integrations tab. The Overview dashboard displays immediately, showing real-time metrics and status for all configured integrations.

Integrations overview cards displaying enabled integrations, active connections, total messages, and failed messages

Creating Your First Integration

Click the Create Integration button in either the Ingoing or Outgoing tab. The creation wizard guides you through four essential steps:

Ingoing Integrations

Ingoing integrations act as receivers, pulling data from external sources into MaestroHub's Unified Namespace. This capability is essential for multi-site operations, supplier integration, and legacy system modernization.

MQTT Receiver

Connect to external MQTT brokers and subscribe to specified topics. The MQTT Receiver is ideal for factory-to-factory communication and IoT device integration.

Essential Configuration

SettingDescription
MQTT Broker URLConnection endpoint for the external broker. Use mqtt:// for standard connections or mqtts:// for secure connections
Client IDUnique identifier for this connection. Leave empty for auto-generation
Username / PasswordAuthentication credentials when required by the broker
TopicsMQTT topics to subscribe to. Supports wildcards: + for single level, # for multi-level
Quality of ServiceMessage delivery guarantee level. Choose 0 for speed, 1 for reliability, or 2 for critical data
Clean SessionWhen enabled, the broker discards session state between connections

Security Configuration

SettingDescription
Use SSLEnable encrypted communication using SSL/TLS
CA Certificate FileCertificate authority file for verifying broker identity
Client Certificate FileClient certificate for mutual TLS authentication
Client Key FilePrivate key for client certificate authentication

Filtering Options

The Keywords to Ignore field allows you to filter out unwanted topics automatically. Any topic containing specified keywords will be excluded from ingestion. This is particularly useful for removing system topics, debug messages, or test data.

Security Best Practices

Production environments should always use SSL/TLS encryption. Provide valid certificates and use strong authentication credentials. Avoid disabling TLS verification except in controlled development environments.

Outgoing Integrations

Outgoing integrations function as forwarders, pushing MaestroHub data to external systems. They enable real-time data distribution across your enterprise architecture.

MQTT Forwarder

Send data to external MQTT brokers. This forwarder is perfect for sharing production insights with remote teams or feeding data to cloud IoT platforms.

Core Settings

SettingDescription
MQTT Broker URLTarget broker endpoint
Client IDUnique client identifier
Username / PasswordAuthentication credentials
Quality of ServiceMessage delivery guarantee level
Use SSLEnable encrypted transmission
Clean SessionStart fresh without session state
Connect TimeoutMaximum seconds to wait for connection establishment

Kafka Forwarder

Stream data to Kafka clusters for high-throughput scenarios and event-driven architectures.

Configuration Parameters

SettingDescription
Kafka BrokersList of broker addresses. Multiple brokers provide redundancy and load distribution
Username / PasswordSASL authentication credentials
Use TLSEnable transport layer security
SASL MechanismAuthentication method: none, plain, scram-sha-256, or scram-sha-512
Topic Cache TTLSeconds to cache topic metadata before refreshing
Auto-create TopicsAutomatically create topics when they don't exist
Default PartitionsPartition count for new topics
Replication FactorNumber of replicas for data durability
Topic SeparatorCharacter replacing forward slashes in topic names

SASL Authentication

Choose the appropriate mechanism for your security requirements:

  • none - No authentication; only suitable for trusted internal networks
  • plain - Username and password; always use with TLS
  • scram-sha-256 - Secure password authentication with SHA-256 hashing
  • scram-sha-512 - Maximum security password authentication with SHA-512 hashing

Mapping Rules

Mapping rules control how topic names transform as data flows through integrations. They enable you to maintain consistent naming conventions, add organizational context, and route data appropriately.

Why Mapping Rules Matter

Topic Namespacing distinguishes data from different sources by adding identifying prefixes.

Normalization standardizes topic naming across diverse systems with varying conventions.

Access Control routes specific topics to appropriate destinations based on content or source.

Organization restructures topic hierarchies to match your enterprise architecture.

Rule Types Overview

The following table summarizes all available mapping rule types:

Rule TypeUse CaseRequired ConfigurationExample Transformation
DirectPreserve original topic structureType onlyfactory/line1/temperaturefactory/line1/temperature
GlobalAggregate all data into single topicIntegration Topicfactory/line1/temperaturecentral/aggregated
PrefixAdd organizational identifiersSource Topic pattern, Integration Topic prefixfactory/line1/temperatureexternal/supplier-a/factory/line1/temperature
RewriteReplace specific topic namesSource Topic (exact match), Integration Topiclegacy/sensor/readingmodern/sensor/measurement
RegexComplex pattern-based transformationsRegex pattern, Integration Topic templatefactory/line1/temperatureplant/line1/temperature
TemplateWrap topics with prefix/suffixSource Topic pattern, Template stringfactory/line1/temperatureexternal/factory/line1/temperature/processed

Rule Type Details

Direct Mapping

Forwards messages without transformation. The original topic name passes through unchanged.

Direct mapping rule card showing no additional fields

When to use: You want to preserve the exact topic structure from the source system.

Configuration:
Type: direct
Additional fields: None required

Transformation:
Input: factory/line1/temperature
Output: factory/line1/temperature

Global Mapping

Routes all messages to a single fixed topic regardless of original topic names.

Global mapping rule card with fixed target topic

When to use: Aggregating diverse data streams into one centralized topic for unified monitoring or logging.

Configuration:
Type: global
Target Topic Name: Target topic name

Transformation:
Target Topic: central/aggregated
Input: factory/line1/temperature
Output: central/aggregated
Input: production/line2/pressure
Output: central/aggregated

Prefix Mapping

Adds a new prefix to topics matching a specified starting pattern.

Prefix mapping rule card showing source pattern and prefix

When to use: Adding organizational identifiers, site names, or source system identifiers to incoming data.

Configuration:
Type: prefix
Source Topic: Pattern to match
Add Prefix: Prefix to add

Transformation:
Source Topic: factory/line1/
Add Prefix: external/supplier-a/
Input: factory/line1/temperature
Output: external/supplier-a/factory/line1/temperature

Rewrite Mapping

Completely replaces an exact topic match with a new topic name.

Rewrite mapping rule card showing source and rewritten topics

When to use: Renaming specific topics to meet external system requirements or standardizing legacy topic names.

Configuration:
Type: rewrite
Source Topic: Exact topic to match
Rewrite To Topic: Replacement topic name

Transformation:
Source Topic: legacy/sensor/reading
Rewrite To Topic: modern/sensor/measurement
Input: legacy/sensor/reading
Output: modern/sensor/measurement
Input: legacy/sensor/reading/extra
Output: legacy/sensor/reading/extra (no match, unchanged)

Regex Mapping

Uses regular expressions to match patterns and transform topics using capture groups.

Regex mapping rule cards with pattern and target templates

When to use: Complex restructuring scenarios requiring pattern-based transformations and dynamic topic generation.

Configuration:
Type: regex
Regular Expression: Regular expression with capture groups
Target Topic Pattern: Target pattern using capture group placeholders

Transformation Examples:

Extract subdirectory structure:
Regular Expression: ^factory/([^/]+)/(.+)$
Target Topic Pattern: plant/$1/$2
Input: factory/line1/temperature
Output: plant/line1/temperature

Reorganize hierarchy:
Regular Expression: ^factory/([^/]+)/demo/([^/]+)$
Target Topic Pattern: telemetry/$1/$2
Input: factory/boston/demo/temperature
Output: telemetry/boston/temperature

Template Mapping

Creates dynamic topics by inserting the original topic into a template string.

Template mapping rule card showing source pattern and template string

When to use: Wrapping topics with consistent prefixes and suffixes while preserving the original topic path.

Configuration:
Type: template Source Topic Pattern: Prefix pattern to match
Template: Template string with topic placeholder

Transformation:
Source Topic Pattern: factory/
Template: external/$topic/processed
Input: factory/line1/temperature
Output: external/factory/line1/temperature/processed

Working with Multiple Rules

A single integration can have multiple mapping rules. Each rule evaluates independently against the original topic. When a message matches multiple rules, it produces separate outputs for each match, creating a fan-out pattern.

Evaluation Order: Rules are evaluated in the sequence they appear. The first matching rule does not prevent subsequent rules from evaluating.

Best Practice: Organize rules from most specific to most general. Place exact match rules first, followed by pattern-based rules, with catch-all rules last.

Example Scenario:

Rule 1 (Rewrite): Specific topic factory/critical/alert becomes urgent/notification
Rule 2 (Prefix): Topics starting with factory/ get prefix standard/
Rule 3 (Direct): All remaining topics pass through unchanged

Message: factory/critical/alert
Outputs: urgent/notification (from Rule 1) and standard/factory/critical/alert (from Rule 2)

Metrics and Monitoring

Overview Dashboard

The Overview tab provides real-time visibility into integration health and performance.

Integrations overview cards displaying enabled integrations, active connections, total messages, and failed messages

Summary Metrics

Enabled Integrations shows how many integrations are currently active out of total configured integrations.

Active Connections displays the count of integrations with established, healthy connections to their external systems.

Total Messages aggregates all messages processed across all integrations within the selected time window.

Failed Messages highlights problematic messages that encountered errors during processing or transmission.

Time Range Selection

Adjust the observation window to match your monitoring needs:

  • Last 5 minutes for real-time operational monitoring
  • Last 1 hour for recent trend analysis
  • Last 24 hours for daily pattern review

Metrics refresh automatically every 5 seconds to maintain current awareness.

Integration Cards

Each integration appears as an individual card displaying:

Ingoing integration card showing received, processing failed, and connection issues metrics
Outgoing integration card showing published, publishing failed, and connection issues metrics

Connection Status indicates whether the integration is successfully connected to its external system. A healthy connection shows active status, while disconnected integrations display the disconnection reason and timestamp.

Enable/Disable State shows whether the integration is actively processing messages or is configured but inactive.

Integration Details include the integration name, protocol type, and descriptive purpose.

Performance Counters track operational metrics:

For Ingoing Integrations:

  • Received - Messages successfully received from external sources
  • Processing Failed - Messages that encountered processing errors
  • Connection Issues - Connection failures and reconnection attempts

For Outgoing Integrations:

  • Published - Messages successfully sent to external systems
  • Publishing Failed - Messages that failed to send
  • Connection Issues - Connection failures and reconnection attempts

Available Actions enable quick management:

  • Edit configuration settings
  • Toggle enabled state
  • Delete the integration

Understanding Connection States

Connected integrations have active, healthy connections to their external systems and are processing messages normally.

Disconnected integrations have lost connection or cannot establish connection. The system automatically attempts reconnection using exponential backoff, gradually increasing wait times between attempts to avoid overwhelming systems.

When disconnected, the card displays the last status update time and the specific error or reason for disconnection.

Troubleshooting

Integration Shows Disconnected

Verify External System Status ensuring the target system is running and accessible from MaestroHub's network.

Check Network Connectivity using ping or telnet to confirm network path and port accessibility.

Review Firewall Rules ensuring traffic is permitted on required ports between MaestroHub and external systems.

Validate Credentials confirming usernames, passwords, and certificates are current and correctly configured.

Examine Certificates checking expiration dates on SSL/TLS certificates and certificate authority chains.

View Detailed Errors by clicking the integration card to see specific disconnection reasons and error messages.

No Messages Flowing

For Ingoing Integrations:

Confirm the external system is actively publishing to subscribed topics. Check external system logs and monitoring.

Verify Keywords to Ignore settings are not filtering desired topics unintentionally.

Review mapping rules to ensure they are not rejecting messages. Temporarily simplify rules to isolate issues.

Confirm the integration enabled state. Disabled integrations appear connected but do not process messages.

For Outgoing Integrations:

Verify MaestroHub has data on topics the integration expects to forward. Use Live Monitor to confirm data availability.

Review mapping rules to ensure they match topics you expect to forward.

Check external system capacity and health. Full queues or overloaded systems may reject messages.

Confirm the integration enabled state.