Skip to main content

Enabling Seamless Tcp Communication

Overview

Motadata AIOps supports multiple communication protocols between core components (Application, Collector, Datastore, and Agents). For environments where tcp is preferred over ZMQ (ZeroMQ), this guide provides instructions to enable seamless TCP-based communication across the platform.

TCP mode allows direct client-server communication and enables easier integration with secured environments and reverse proxy setups. However, it is critical to configure all relevant components consistently to avoid data ingestion or message-processing failures.

note

In the case of using a protocol other than ZMQ (i.e., when switching to TCP), make sure to remove the following entries from the agent.json file:

"event.publisher.port" : 9449,
"event.subscriber.port" : 9444,

Prerequisites

  • Ensure all nodes (Application, Collector, Datastore, Agent) are reachable on required ports.
  • Open ports 9478-9487 for TCP communication across Application, Datastore, Collector, and Agents with bidirectional access.
info

Ensure that ports 9478 to 9487 are open in the Motadata AIOps application with bidirectional access to enable seamless TCP client/server communication between the application, collector, agent, and remote entities. Specifically, port 9478 and the next 4 are used for sending, while port 9483 and the next 4 are used for receiving.

note

By default, port 9478 for sender and 9483 for receiver are open. To add next four ports for each, we can use the below key that should be added in the application server > motadata.json.

tcp.event.publishers and tcp.event.subscribers

Configuration Steps

Below are the required TCP protocol settings to be applied in motadata.json and agent.json files for each component and make sure you restart the services after making protocol changes to ensure they take effect.

Application

motadata.json

"event.observer.protocol": "tcp",
"event.app.sender.protocol": "tcp",
"event.app.receiver.protocols": [ "tcp" ],
"motadata.manager.event.protocol": "tcp",
"event.remote.processor.sender.protocol": "tcp",
"event.remote.processor.receiver.protocol": "tcp",
"tcp.ssl.enabled": "yes" // if applicable

agent.json

"event.agent.sender.protocol": "tcp",
"event.agent.receiver.protocol": "tcp"

Datastore

motadata.json

"motadata.manager.event.protocol": "tcp",
"tcp.ssl.enabled": "yes" // if applicable

agent.json

"event.agent.sender.protocol": "tcp",
"event.agent.receiver.protocol": "tcp"

Collector

motadata.json

"motadata.manager.event.protocol": "tcp",
"event.remote.processor.sender.protocol": "tcp",
"event.remote.processor.receiver.protocol": "tcp",
"tcp.ssl.enabled": "yes" // if applicable

agent.json

"event.agent.sender.protocol": "tcp",
"event.agent.receiver.protocol": "tcp"

Agent

motadata.json

"motadata.manager.event.protocol": "tcp",
"tcp.ssl.enabled": "yes" // if applicable

agent.json

"event.agent.sender.protocol": "tcp",
"event.agent.receiver.protocol": "tcp"