Enabling Seamless Http Communication
Overview
Motadata AIOps supports multiple communication protocols between core components (Application, Collector, Datastore, and Agents). For environments where HTTP is preferred over ZMQ (ZeroMQ), this guide provides instructions to enable seamless HTTP-based communication across the platform.
HTTP 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.
In the case of using a protocol other than ZMQ (i.e., when switching to HTTP), 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
9498-9507for HTTP communication across Application, Datastore, Collector, and Agents with bidirectional access.
Ensure that ports 9498 to 9507 are open in the Motadata AIOps application with bidirectional access to enable seamless HTTP client/server communication between the application, collector, agent, and remote entities. Specifically, port 9498 and the next 4 are used for sending, while port 9503 and the next 4 are used for receiving.
By default, port 9498 for sender and 9503 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.
http.event.publishers and http.event.subscribers
Configuration Steps
Below are the required HTTP 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": "http",
"event.app.sender.protocol": "http",
"event.app.receiver.protocols": [ "http" ],
"motadata.manager.event.protocol": "http",
"event.remote.processor.sender.protocol": "http",
"event.remote.processor.receiver.protocol": "http",
"http.ssl.enabled": "yes" // if applicable
agent.json
"event.agent.sender.protocol": "http",
"event.agent.receiver.protocol": "http"
Datastore
motadata.json
"motadata.manager.event.protocol": "http",
"http.ssl.enabled": "yes" // if applicable
agent.json
"event.agent.sender.protocol": "http",
"event.agent.receiver.protocol": "http"
Collector
motadata.json
"motadata.manager.event.protocol": "http",
"event.remote.processor.sender.protocol": "http",
"event.remote.processor.receiver.protocol": "http",
"http.ssl.enabled": "yes" // if applicable
agent.json
"event.agent.sender.protocol": "http",
"event.agent.receiver.protocol": "http"
Agent
motadata.json
"motadata.manager.event.protocol": "http",
"http.ssl.enabled": "yes" // if applicable
agent.json
"event.agent.sender.protocol": "http",
"event.agent.receiver.protocol": "http"