TeskaLabs LogMan.io Receiver is designed to run in multiple instances, independent to LogMan.io tenants. The recommended setup is to operate one TeskaLabs LogMan.io Receiver on each node of the central LogMan.io cluster with the deployed NGINX.
TeskaLabs LogMan.io Collector uses DNS round-robin ballancing to connect to one of NGINX servers. The NGINX forwards the incoming communication links to the receiver instance, with the preference of the receiver running on the same node as the NGINX.
More than one
lmio-receiver instance can be operated on the cluster node, for example if the performance of the single instance of
lmio-receiver become the bottleneck.
Example of the high availability configuration
graph LR c1[lmio-collector] -.-> n1[NGINX] c1[lmio-collector] --> n2[NGINX] c1[lmio-collector] -.-> n3[NGINX] subgraph Node 3 n1[NGINX] --> r1[lmio-receiver] end subgraph Node 2 n2[NGINX] --> r2[lmio-receiver] end n2[NGINX] -.-> r1[lmio-receiver] n2[NGINX] -.-> r3[lmio-receiver] subgraph Node 1 n3[NGINX] --> r3[lmio-receiver] end
Failure recovery scenarios
lmio-receiverinstance is terminated: NGINX rebalances commlinks to another instances of the receiver on other nodes.
- The NGINX is terminated: the collector reconnects to another NGINX in the cluster.
- The whole cluster node is terminated: the collector reconnects to another NGINX in the cluster.